IE 8 и проблема заполнения - PullRequest
       20

IE 8 и проблема заполнения

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

У меня проблема с настройкой заполнения IE 8.Если вы посмотрите на мой веб-сайт mywebsite , вы увидите, что средняя часть (начинающаяся чуть ниже строки меню) шире, чем остальные, и делает сайт непропорциональным.Это связано с установкой отступов, который я применяю к этому элементу div.Вы можете увидеть ту же проблему в элементах h2, таких как «Плоская доля»: бордовый цвет фона выходит за пределы области элемента, которая заканчивается на краю белого треугольника с правой стороны.Кто-нибудь знает, как решить эту проблему? Это происходит только в IE 8, отлично работает в IE 7 и Firefox.Вот выдержка из моего css

#page {
width: 1000px;
margin: 0px auto;
padding: 20px 5px;
background: #FFFFFF;
}

.sidebar li h2 {
height: 40px;
width: 220px;
margin: 0 0 0 0;
padding: 10px 15px 0px 15px;
background: #890208 url('../images/img05.jpg') no-repeat left top;
letter-spacing: -1px;
font-size: 16px;
color: #FFFFFF;
}

ОБНОВЛЕНИЕ: Я следую совету Мэтью и решил не определять ширину и высоту явно.Вуаля, проблема решена.Спасибо, ребята, за все ответы.

Ответы [ 3 ]

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

Возможно, вам придется использовать условный оператор, чтобы компенсировать проблему заполнения, не затрагивая другие браузеры.Это основная причина, по которой используются файлы reset.css, но выполнение сброса на столь поздней стадии, несомненно, принесет больше проблем, чем стоит.но это будет работать.

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

Вы можете справиться с этим, используя другую таблицу стилей, как говорит Даниэль, хотя вам может понадобиться указать «If IE 8».Как например

<!--[if IE8]>
    use a different style sheet for IE 8 here.css
<![endif]-->

ИЛИ, вы можете делать то, что я всегда делаю, когда сталкиваюсь с этой проблемой, и просто МИНУСИТЬ отступ от общей ширины div.(это чит, который всегда работал для меня).Так, например, если ширина DIV составляет 200 пикселей, а контент требует отступа 20 пикселей слева.Я бы установил отступы слева и справа.Допустим, у вас есть 20 пикселей слева и 20 пикселей справа.Это составляет 40. Так что установите ширину DIV 160px. Надеюсь, это поможет!

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

Проблема в том, что у вас есть встроенный стиль в главном div, который содержит все, что говорит, что это 1000px. Каждый элемент в нем имеет такую ​​же ширину. Это не будет работать во всех браузерах, которые вы испытываете. Попробуйте использовать проценты для ширины на внутренних делителях, например, 95% (это число только предположение ... оно будет зависеть от того, насколько велики ваши поля / отступы).

Причина, по которой это так, заключается в том, что поля и отступы учитываются как для всех ваших div, так и для основного div. Вы пытаетесь разместить div внутри div с такой же шириной. Оба элемента имеют поля по умолчанию / отступы. Кроме того, вы явно объявили некоторые отступы, которые имеют непредвиденное поведение.

...