ie6 css неверный дисплей - PullRequest
       3

ie6 css неверный дисплей

1 голос
/ 27 апреля 2011

привет Я использую меню CSS, и это выглядит хорошо в FF и ie7 / 8, но в ie6 меню не позиционируется правильно. он должен сидеть вправо, но по какой-то причине он движется влево. Я включил скриншоты и мой CSS для меню и был бы признателен, если кто-то может сказать мне, где ошибка? большое спасибо

#menu
    {
        width:425px;
        height:33px;
        float: right;
        margin:133px 51px 0 0;
        padding:0px;
    }
#menu ul
    {
        width:525px;
        height:33px;
        float:left;
        margin:0px;
        padding:0px;
        display:block;
    }
#menu ul li
    {
        width:76px;
        height:33px;
        float:left;
        margin:0 1px 0 0;
        padding:0px;
        display:block;      
    }
#menu ul li a.menu
    {
        width:76px;
        height:26px;
        float:left;
        margin:0px;
        padding:7px 0 0 0;
        font-family:Arial;
        font-size:13px;
        font-weight:bold;
        color:#FFF;
        text-align:center;
        text-decoration:none;
        background-image:url(../images/menu.jpg);
        background-repeat:no-repeat;
    }   
#menu ul li a.menu:hover
    {
        width:76px;
        height:26px;
        float:left;
        margin:0px;
        padding:7px 0 0 0;
        font-family:Arial;
        font-size:13px;
        font-weight:bold;
        color:#FFF;
        text-align:center;
        text-decoration:none;
        background-image: url(../images/menuover.jpg);
        background-repeat:no-repeat;        
    }

скриншоты:

правильный интервал меню: http://i51.tinypic.com/9kytxf.png

неверный интервал меню: http://i54.tinypic.com/fldpow.png

Ответы [ 3 ]

1 голос
/ 27 апреля 2011

Это может быть старая ошибка Double Margin Float , когда у вас есть поплавок с полем в том же направлении, т.е. левое или левое поле или правое поле / правое поле IE5 / 6 было известно удвоить разницу

и т. Д .:

#menu {
        width:425px;
        height:33px;
        float: right;
        margin:133px 51px 0 0;
        padding:0px;
    }

попробуйте добавить display:inline; к вышеприведенному правилу, если это так, это безопасное исправление, чтобы оставить его на месте, так как все другие браузеры правильно игнорируют свойство display для плавающего элемента

0 голосов
/ 27 апреля 2011

Убедитесь, что у вас есть правильный тип документа в начале HTML-файла, используя ваш CSS.Режим причуд IE6 ужасен!Например:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Обратите внимание, что правильный (не html5) тип документа будет иметь URL, указывающий на dtd.Если ваш тип документа неверен, исправьте его и посмотрите, поможет ли это.

0 голосов
/ 27 апреля 2011

Я предполагаю, что ваши размеры не складываются правильно, и IE обрабатывает это отличается от других.Обратите внимание, например, что #menu имеет ширину 425px, а ul имеет ширину 525px.Так что, возможно, FF ограничивает переполнение, а IE нет.

Попробуйте удалить ширину из всего, кроме самых внутренних элементов (например, #menu ul li a.menu), и пусть остальные размеры будут автоматически измерены.Или хотя бы начните с удаления / исправления ширины #menu.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...