Разная ширина <div> при установленном border (IE, Firefox)

igor_ua

Новичок
Разная ширина <div> при установленном border (IE, Firefox)

Пожалуйста подскажите как можно сделать ширину <div> одинаковой для IE и Firefox (Opera и т.п.).
Такой код:
Код:

<div style="width: 100px; height: 100px; border: 1px solid green;"></div>


отображается в IE шириной и высотой в 100px, а в Firefox (Opera, Konqueror и др.) шириной и высотой в 102px...

Как сделать одинаковую высоту и ширину?

Спасибо.
 

white phoenix

Новичок
Если разница в 2px принципиальна, то определять броузер через JS (или USER_AGENT) и ставить нужное кол-во px.
 

SelenIT

IT-лунатик :)
Гарантированно кросбраузерный вариант - только имитация бордера с помощью вложенного div-а. Но если пренебречь 5-ми IE и древними Операми, то 6-й IE можно заставить вести себя по стандарту с помощью стандартного DOCTYPE (подробности здесь). Правда, при этом могут возникнуть другие неожиданности, например отступы под картинками, которые по стандарту ведут себя как строчные элементы (лечится с помощью CSS: img {display:block;}).

Кроме того, можно в самом деле задать для разных браузеров разную ширину. Но не скриптом, конечно, а все тем же CSS, например
width: 102px; /* для всего, кроме IE */
_width: 100px; /* переопределение только для IE */

А определять браузер через JS (или того хлеще - на сервере) ради смены оформления - имхо, порочный подход. Эта операция имеет смысл разве что для сбора статистики.
 

SelenIT

IT-лунатик :)
Но 5-й IE вести туда не получится при при всем желании...
 

igor_ua

Новичок
Спасибо, но мне больше нравится способ с использованием Conditional Comments в IE. Т.к. Браузеры типа Firefox, Opera, Konqueror, Epiphany обрабатывают ширину и высоту одинаково, то изменения нужно внести только для IE.
Сделал так:
в основном CSS файле описал основные, общие стили, а в самом html вставил Conditional Comments (Описание здесь: http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp), в которых описал ширину/высоту специально для IE. Работает и в 5.01 и в 5.5 и в 6 IE.

Спасибо.

П.С. Пишу в XHTML 1.1, так что доктайп менять не пришлось, работает с этими условиями.
 
Сверху