2010-10-10 19 views
6

Hej, Czy istnieje sposób na to, aby przeglądarki ignorowały podziały wierszy w źródle?HTML/CSS - usuwanie spacji z podziałem wierszy w kodzie LI

<div id="navbar"> 
    <div id="navbar-container"> 
     <ul> 
      <li>HOME</li> 
      <li>TUTORIALS</li> 
      <li>BLOG</li> 
      <li>FORUMS</li> 
      <li>LINKS</li> 
      <li>&nbsp;</li> 
     </ul> 
    </div> 
</div> 

#navbar { 
    background:#FFF; 
    width:940px; 
    margin:auto; 
    border-radius: 10px 10px; 
    -webkit-box-shadow: 5px 5px 10px #888; 
} 
#navbar-container { 
    margin:auto; 
} 
#navbar-container ul { 
    list-style:none; 
    text-align:center; 
    display:block; 
    width:auto; 
    padding:0; 
    margin:0; 
} 
#navbar-container li{ 
    list-style:none; 
    border-left:3px solid black; 
    display:inline-block; 
    font-family:"Arial", sans-serif; 
    font-size:2em; 
    padding:0 7px 0 10px; 
    margin:0; 
    white-space:nowrap; 
} 
#navbar-container li:hover{ 
    color:#FFF; 
    background:#000; 
    border-left:3px solid black; 
    display:inline-block; 
    font-family:"Arial", sans-serif; 
    font-size:2em; 
    margin:0; 
    padding:0 7px 0 10px; 
} 

To umieszczenie niewielką przestrzeń pomiędzy każdym LI, mam go skonfigurować tak, następnie wyrównać poziomo, może po prostu usunąć znaki końca linii w źródle, ale id wolą nie.

Odpowiedz

9

Można je (albo left lub right) pływak, czy można komentować out przestrzenie:

<ul> 
    <li>...</li><!-- 
    --><li>...</li> 
</ul> 

Albo po prostu pozostaw tagów otwarty „til następny linia.

<ul> 
    <li>...</li 
    ><li>...</li 
    ><li>...</li> 
</ul> 
+0

Agh, pobij mnie do rozwiązania open tag. Nigdy nie widziałem problemu w żadnej przeglądarce poza IE. – jball

+1

Pozostawienie otwartego rozwiązania tagów działało, źle daje odpowiedź, ponieważ najpierw podałeś rozwiązanie. dzięki! – Diesal11

+0

To jeden z moich ulubionych =) –

0

Wszystkie przeglądarki powinny całkowicie ignorować białe znaki. Czy jest jakaś przeglądarka, która przysparza ci kłopotów?

Spróbuj:

li { margin: 0; padding: 0 } 
+0

jest na nich wszystkich, już ustawiłem margines na 0, a dopełnienie z każdej strony jest ustawione, aby nadać tekstowi trochę miejsca, źle zaktualizować pytanie za pomocą CSS – Diesal11

+2

Nie "ignorują" białej przestrzeni, po prostu zwiń go do pojedynczej przestrzeni. Które jest wyrażone jako przerwa między 'li's, gdy wyświetlane w linii. Jeśli są pływające, to są ignorowane. –

+0

Wtedy może lepszym podejściem byłoby jakoś nakłonić je do traktowania go jako przestrzeni, a nie br ... Wiem, że kilka razy ułatwiłoby mi to życie, gdybym mógł zorientować się, w jaki sposób. – RonLugge

2

IE wydaje się robić to jako wstrzymanie z dni, w których elementy listy nie zawierały znaczników zamykających. Częstym sposobem wokół to umieścić zamknięcie> w następnej linii, tj

<ul> 
     <li>HOME</li 
     ><li>TUTORIALS</li 
     ><li>BLOG</li 
     >etc... 
0

zastanawiałem się to samo i co pracował dla mnie było:

li { display: table-cell; } 

Wszystkie przerwy są ignorowane, a teraz moje przyciski menu są tuż obok siebie.

można obejrzeć na żywo przykład tutaj na mojej stronie muzycznej: http://www.yanike.tk

użyłem Sprite CSS na moim UL LI dla mojego menu nawigacji (domu, mediów, ...).