никак не могу понять
вопрос по HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" «http://www.w3.org/TR/html4/strict.dtd»>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
div {
width:50px;
height:50px;
margin:40px;
padding:20px;
background-color:red;
}
</style>
</head>
<body>
<div></div>
<script>
alert(document.getElementsByTagName('div')[0].offsetWidth);
//для FF покажет left-padding + width + right-padding = 90 - независимо от режима
//для IE6 при стандартном режиме с DOCTYPE покажет 90
//если удалить DOCTYPE и перейти в режим quirks mode, то в FF ничего не изменится
//в IE получим 50 - это только width, возможно, это связано с тем, что в IE6 в таком режиме
//отступ (padding) делается внутрь? marginа это видимо не касается
//я ради интереса поставил padding: 27px, ожидая увидеть как padding-left и padding-right, перекрещиваясь, выйдут из блока с разных сторон и получил 54, как и ожидалось для ширины
alert(document.getElementsByTagName('div')[0].offsetHeight);
//для FF всегда 90
//для IE в стандарт режиме 90
//но без DOCTYPE - 59 ?!!! откуда еще 9 набирается?????
//alert(document.getElementsByTagName('div')[0].style.width);//пусто потому что не во встроенном стиле, но
//если установить, то укажет истинное значение width (50px)
</script>
</body>
</html>
|
|
Это понятно, просто интересно, почему padding при блочной модели IE,
начиная с некоторого значения, приводят к увеличению ширины и высоты элемента. Например высота вплоть до padding = 15px не меняется, и остаеется 50, но при 16 (хотя по идее при высоте в 50px оба padding не пересекаются внутри элемента) уже - 51, при 17 - 53, и.т.д. при 50 - 59, аналогично с шириной, только при других значениях ()начиная с padding = 26) "//я ради интереса поставил padding: 27px, ожидая увидеть как padding-left и padding-right, перекрещиваясь, выйдут из блока с разных сторон и получил 54, как и ожидалось для ширины" - это я что-то не то написал, видимо |
Цитата:
Цитата:
|
Цитата:
offsetWidth выдает width(50) + 2*padding (2 * 20) = 90 Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
<div id="my_box">
<div>контент</div>
</div>
#my_box {
width: 500px;
}
#my_box div {
padding: 20px;
}
Свойство padding установленно для вложенного блока. Но как было верно замечено Kolyaj можно просто доктайп указать. |
Цитата:
|
| Часовой пояс GMT +3, время: 03:02. |