Разница в css для разных серверов - PullRequest
2 голосов
/ 04 августа 2010

У меня есть сервер разработки и рабочий сервер для размещения моего сайта.Я вижу различия в том, как HTML отображается на этих серверах, но только в Internet Explorer.

Я отображаю список тегов.Вот разметка.

<div class="tag">
    <ul>
        <li><a href="#">tag1</a></li>
        <li><a href="#">tag2</a></li>
        <li><a href="#">tag3</a></li>
    </ul>
</div>

Вот CSS.

.tag
{

}

.tag ul
{
    margin-top: 5px;
    padding-left: 5px;
}

.tag li
{
    display:block;
    float:left;
    margin: 1px 1px 1px 0px;
}

.tag a
{
    color: white;
    font-weight: bold;
    text-decoration: none;
}

Сценарии:

  1. Когда я просматриваю эту страницу в IE8 нана любой машине, которая не является сервером, тег div добавляет около 50px левого поля или отступов.

  2. Когда я физически просматриваю эту страницу в IE8 на компьютере с Windows Server 2008, тегdiv правильно отображает поля и отступы

  3. Когда я просматриваю эту страницу в IE8 на моем локальном сервере разработки, тег div правильно отображает поля и отступы.

  4. При просмотре этой страницы в Google Chrome и Firefox, размещенных как на моем сервере разработки, так и на рабочем сервере, тег div правильно отображает поля и отступы.

Это говорит о том, что у меня есть очень конкретный случайчто добавляется поле / отступ.У меня, похоже, нет ошибок Javascript на странице, и я даже проверил мою страницу через W3C для проверки проблем с разметкой.

Используя инструменты разработки IE, я вижу единственное различие между элементами div вКогда он работает и где он не работает, div выглядит следующим образом, когда он не работает:

<div class="tag" sizcache="0" sizset="2">

Разница заключается в атрибутах sizcache и sizset.Я попытался удалить два атрибута в инструментах разработчика, но это не изменило конечный результат.Они могут быть там, потому что я делаю некоторые стили jQuery тегов:

$('.tag ul').buttonset();

Удаление этого кода jquery не меняет конечный результат.Используя средства разработки, я даже снял все стили (даже стили, унаследованные от тела), но все равно получаю поле / отступы.

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

В IE8 UL по умолчанию имеют левые поля, чтобы сделать отступ. Чтобы удалить его, добавьте следующее к вашему .tag ul:

margin-left: 0px;
2 голосов
/ 04 августа 2010

В IE8 есть пара вещей, которые я бы проверил. Проблема может быть связана с тем, что ваш браузер находится в режиме совместимости с IE7. Это может быть параметр, который вы изменили самостоятельно с помощью панели инструментов, или сервер может принудительно применить этот , установив HTTP-заголовок, например:

X-UA-Compatible "IE=EmulateIE7"

Microsoft имеет больше информации о Просмотр совместимости .

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