Internet Explorer 8 и поля - PullRequest
       2

Internet Explorer 8 и поля

0 голосов
/ 01 февраля 2011

У меня есть довольно простой html, который предназначен для создания макета, как показано ниже.

Чтобы сдвинуть вкладки вниз с панели пользователя, я использую
margin-top: 35px;
Однако в Internet Explorerвкладки полностью смещены (верхняя часть вкладок находится там, где должна быть нижняя).

Поэтому мне нужно использовать margin-top: -50px; для Internet Explorer.

Почему это и как я могу исправитьэто без использования конкретной таблицы стилей, т.е.

пример макета http://webspirited.com/layout.png

<div id="pageHead">
  <div id="userBar">
    <span class="bold">Hi Matthew Hailwood | <a href="#">Logout</a>
  </div>
  <a href="http://localhost/buzz/" id="pageLogo"></a>  
  <div id="pageTabs" class="clearfix">
    <ul>
      <li><a href="http://localhost/buzzil/templates">Templates</a></li>
      <li><a href="http://localhost/buzzil/messaging">Messaging</a></li>
      <li><a href="http://localhost/buzzil/contacts">Contacts</a></li>
    </ul>
  </div>
</div>

С css

#pageHead {
    height: 100px;
}

#pageLogo {
    float: left;
    width: 149px;
    height: 77px;
    margin-top: 11px;
    background: transparent url('../images/logo.png') no-repeat;
}

#userBar {
    text-align: right;
    color: #fff;
    margin-top: 10px;
}

#userBar a:link,
#userBar a:visited,
#userBar a:active {
    font-weight: normal;
    color: #E0B343;
    text-decoration: none;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

#pageTabs {
    float: right;
    margin-top: 35px;
}

#pageTabs ul {
    position: relative;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 1px solid #000;
}

#pageTabs ul li {
    float: right;
    background: url(../images/tabsBg.png) no-repeat 0% 0%;
    border-left: 1px solid #000;
    margin-left: -1px;
}

#pageTabs ul li a:link,
#pageTabs ul li a:visited,
#pageTabs ul li a:active {
    color: #fff;
    background: url(../images/tabsBg.png) no-repeat 100% 0%;
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 42px;
    text-transform: uppercase;
    padding: 4px 32px;
    text-decoration: none;
}

#pageTabs ul li a:hover,
#pageTabs ul li a:focus {
    text-decoration: underline;
}

Ответы [ 2 ]

3 голосов
/ 01 февраля 2011

IE не любит отрицательные поля, имеет тенденцию к расхождению. Попробуйте вместо этого использовать position вместе с left, right, top и bottom - это более совместимо, исходя из личного опыта.

Вы можете просто преобразовать всю страницу из полей в позиционирование с незначительными изменениями.

0 голосов
/ 01 февраля 2011

Старайтесь не использовать тег html для какого-либо стиля. Вместо этого используйте тег body. Кроме того, попробуйте установить pageHead в относительное положение, а затем расположите остальные элементы div с помощью относительного или абсолютного значения, используя верхнюю, нижнюю, левую и правую, как упоминалось в MT.

xD Похоже, я немного опоздал. Сожалею. : 3

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