2010-07-27 13 views
5

Screenshot, co się dzieje:Disc na lewo od elementu listy jest wyświetlany w dolnej

Screen shot 2010-07-27 at 3.37.23 PM.png

To tylko element listy wewnątrz listy underordered, że to się dzieje w IE7 i nigdzie indziej.

<ul> 
    <li>Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text. Filler text.</li> 
</ul> 

.fancybox-entry.computer-policy li { 
    float:none; 
    width:100%; 
    list-style-type:disc; 
    margin-bottom:10px; 
} 

.fancybox-entry.computer-policy ul + p { 
    margin-bottom:20px; 
} 

.fancybox-entry.computer-policy ul { 
    margin:5px 0 10px 25px; 
} 

Każda pomoc, dlaczego tak się dzieje, a poprawka jest doceniana.

+0

Nie widzę niczego złego! a może po prostu nie rozumiem, co chcesz robić. –

+0

Problem polega na tym, że punktory na elementach listy pojawiają się na pionowym dole linii, a nie na górze. –

+0

Miałem podobny problem z pociskami, ale odpowiedź na to pytanie nie pomogła mi. Zobacz moje pytanie dotyczące szczegółów: http://stackoverflow.com/questions/6735404/listitem-disc-displaying-at-vertical-bottom –

Odpowiedz

5

Wygląda na to, że wyzwalacze właściwości width CSS hasLayout dla elementu li w IE7. Najpierw spróbuj usunąć deklarację width:100%;, aby upewnić się, że punkt pojawi się we właściwym miejscu. Jeśli nie możesz obejść się bez właściwości width, możesz użyć position: relative; i vertical-align: top;, aby przesunąć pocisk z powrotem na miejsce, jak opisano w http://www.gunlaug.no/tos/moa_26.html.

Należy zauważyć, że kod na tej stronie używa hacków do kierowania na IE6 i IE7. Polecam używanie komentarzy warunkowych zamiast, tak jak poniżej:

<!--[if IE 7]> 
    <style type="text/css" media="screen"> 
    /* IE7-specific CSS here */ 
    </style> 
<![endif]--> 
+0

+1 Dobre wezwanie na hasLayout, to trudny problem, aby złapać, jeśli nie wiesz, co to powoduje – derekerdmann

0

Moja reputacja jest nadal zbyt niski, żeby komentować, inaczej bym dodał to odpowiedź peterjmag użytkownika. (Może on to załączyć ...)

Właściwość width jest sprawcą, ale sugerowałbym inną zmianę. Aby upewnić się, że elementy listy zajmują całą szerokość w IE7, zamiast tego użyj "width: auto". To da ci taki sam wygląd, a twoje punkty będą zajmowały właściwe miejsce. Odkryłem, że "vertical-align: top/text-top" przesuwa punktory tuż na północ od miejsca, w którym chciałbym je zobaczyć.

Jeśli nie masz klas warunkowych lub arkusza stylów IE, po prostu użyj "* width: auto", aby ustawić cel IE7.

Powiązane problemy