2010-09-30 2 views
2

Почему код ниже помещает кнопку отправки в свою строку в FF, но в той же строке в IE?кнопка отправки и блок отображения в 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> 
+0

Я только что протестировал это в IE8, и кнопка находится на собственной линии. Какую версию IE вы используете? – Martha

ответ

0

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

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

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

Он смотрит на меня, как будто селектор form становится на пути, по крайней мере, с tripply вложенного селектором:

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

#div1 input.submit{ 
display:block; 
} 

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

form input.submit{ 
display:block; 
} 

Это не:

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

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

Here, я добавил тег тела, и он работает.

Всего yesterday I documented pretty much the same bug. Похоже, мне нужно будет обновить описание до учетной записи, чтобы не только форма была нестабильной с тегом тега, но и другими элементами, которые были бы неустойчивыми, если бы они были в селекторе.

И, как указывает докторанг, вы можете обходиться без указания form в селекторе, но я советую вам вставить тег <body>.