2009-07-26 19 views
13

Mam pasek nawigacyjny u góry strony. W FF i Chrome pasek nawigacji wyświetla się dobrze. Jednak w IE8 (z kompatybilnością lub bez) UL wydaje się wciskać od lewej strony, nie każdy li tylko cały li; pomimo zadeklarowania:CSS powodujący zbyt duże wcięcie w IE

text-align:center; width:600px; margin:auto; padding-left:0; 

Jakieś pomysły, które mogą być przyczyną?

Odpowiedz

22
margin-left:0px; 

W przeglądarce Firefox domyślnie UL jest wyściełane lewy, w IE ma lewy margines.

przykład:

<html> 
<head> 
<style> 

ul{ 
border:1px solid red; 
margin:0px; 
list-style:none; 
padding:0px; 
} 

li{ 
border:1px solid green; 
margin:0px; 
} 

</style> 
</head> 
<body> 

<ul> 
<li>this</li> 
<li>that</li> 
<li>these</li> 
<li>those</li> 
</ul> 

</body> 
</html> 
4

mi, że powinno być:

ul { padding: 0; margin: 0 } 
li { padding: 0; } 
15

tylko używane ul {lista stylu pozycji: na zewnątrz; }, aby naprawić wcięcie w IE.

+0

kciuk w górę. większość odpowiedzi, które otrzymuję, to margines: 0, padding 0. Jest to również potrzebne w przypadku IE, aby działał jak inne przeglądarki. –

+0

Bardzo przydatne, dzięki! – Makc

+0

To był anwser! – Kyobul

0

Korzystanie z list-style-position:outside; specjalnie dla IE6/IE7 pracowało dla mnie. Należy jednak pamiętać, że może to być konieczne tylko w przypadku korzystania z innych przeglądarek i ukrywania domyślnego marginesu/dopełnienia listy, ustawiając je na 0. Praca z IE wymaga pewnej finezji i wielu specyficznych dla przeglądarki plików CSS.