Перейти к содержимому


Выбрать шаблон и создать сайт

:first-child в IE 6

#1 Dengere_Ash

Dengere_Ash
  • Пользователь
  • 27 сообщений
  • Репутация: 0
0

Отправлено 10 Июнь 2009 - 15:15

Доброго времени суток ;)

Предисловие:
IE 6 не поддерживает псевдокласс :first-child.

Суть:

Нашел эмуляцию псевдокласса, но она почему-то не работает вообще...

CSS под IE:
#left input {
	margin-left:expression((this===this.parentNode.childNodes[0])? "23px" : "12px");
	}

<div id='left'>
<form>
<p>Бла <input /><br /> <!-- вот ему нужно задать отступ в 23 px -->
Бла-бла<input /></p>
</form>
</div>

Что должно быть:

Есть два input'a. Вот первому из них нужно задать margin-left в 23 px. Только ему, второй трогать нельзя... Но почему-то ИЕ отказывается задавать первому элементу отступ в 23 пикс...

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 11 Июнь 2009 - 00:02

Dengere_Ash, сами писали хак?
А вы не думали, что кроме ваших инпутов присутствуют и многие другие узлы. Поэтому нулевой элемент совсем не то что вам нужно.
Скажите, а что нельзя было задать класс или идентификатор нужному input? Зачем так извращаться?

IE 6 не поддерживает псевдокласс :first-child.

Не удивительно. IE 6 не поддерживает ничего, что есть в CSS2.
  • 0

#3 Dengere_Ash

Dengere_Ash
    Topic Starter
  • Пользователь
  • 27 сообщений
  • Репутация: 0

Отправлено 11 Июнь 2009 - 10:02

ZiTosS, нет, не сам..Хак нашел в ынете.

Скажите, а что нельзя было задать класс или идентификатор нужному input? Зачем так извращаться?

Просто очень многим элементам тогда придется задавать классы, или идентификаторы. Лишняя писанина в коде. К тому же код и без того не хилый ;)

PS: ZiTosS, спасибо. Про нулевой элемент сам недопер ;)
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 08 Август 2009 - 23:41

Dengere_Ash, Искусство требует жертв. То есть по-вебмастески :) "Хочешь корректное отображение, верстай по правилам"
  • 0


Оформление форума – IPBSkins.ru