кнопка отправки и отображения блока в IE - PullRequest
2 голосов
/ 30 сентября 2010

почему приведенный ниже код помещает кнопку отправки в свою строку в FF, но в ту же строку в IE?

<style type="text/css">
#div1 form input.submit {display:block;}
</style>

<div id="div1">
<form>
hi
<input type="submit" class="submit" value="hello there">
</form>

</div>

Ответы [ 3 ]

3 голосов
/ 01 октября 2010

Причина, по которой это происходит, в том, что вам не хватает открытого тега <body>.Когда открытый тег <body> явно не указан в HTML, IE (по крайней мере, 6) неправильно отображает дерево документа, и любые селекторы, включающие элементы form, работают неправильно.* Я добавил тег body, и он работает.

Просто Вчера я задокументировал почти такую ​​же ошибку .Похоже, мне придется обновить описание, чтобы учесть не только нестабильность формы с отсутствующим тегом body, но и нестабильность других элементов, если она находится в селекторе.Обойти это можно, не указав form в селекторе, но я советую добавить тег <body>.

0 голосов
/ 01 октября 2010

Поскольку IE не соответствует веб-стандартам.

Мне кажется, что селектор form мешает, по крайней мере с тройным вложенным селектором:

Это работает:

#div1 input.submit{
display:block;
}

Это работает:

form input.submit{
display:block;
}

Это не:

#div1 form input.submit{
display:block;
}
0 голосов
/ 30 сентября 2010

Если вы тестируете на ie6, попробуйте:

#div1 form .submit {display:block;}
...