Почему определенные объявления DOCTYPE заставляют 100 таблиц %-высоты и отделения прекращать работать?

Мне что некоторые кажется DOCTYPE объявления в IE (6-8) могут заставить браузер игнорировать height="100%" на таблицах и отделениях (style="height:100%")

Например,

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <title>Test1</title>
 </head>
 <body>
  <div style="border: 2px solid red; height: 100%">
  Hello World
  </div>
 </body>
</html>

Представит DIV с высотой текста это не будет простираться. Удаление DOCTYPE объявление вызывает DIV простираться вертикально, как желаемый.

Таким образом, мои вопросы:

  1. Почему это происходит?
  2. Как Вы сохраняете DOCTYPE и все еще позвольте таблицам простираться?
  3. / это происходило с Вами?
  4. Вы знали об этом?, действительно ли это известно?
16
задан Jeremy Banks 23 August 2011 в 21:12
поделиться

1 ответ

  1. Потому что у древних браузеров было странное, непоследовательное поведение, и браузеры обращаются с Доктипами как с тестом интеллекта, чтобы узнать, пишет ли автор код в соответствии со стандартами или с тем, чему они научились в W3Schools десять лет назад. Если у вас рост: 100% и высота родительского элемента равна auto, то 100% означает auto.

  2. В общем, это не так. Он кричит "компоновочная таблица ". Тем не менее, установите высоту или минимальную высоту на html и элементах кузова. Есть и другие техники, но на данный момент у меня нет удобной связи, так как, как, как ни странно, я никогда не был в том положении, когда мне нужна была эта техника.

  3. Это то, что должны делать браузеры, так что ...

  4. Ну, я отвечаю на этот вопрос ...

10
ответ дан 30 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: