Показать сообщение отдельно
  #1 (permalink)  
Старый 13.03.2010, 21:28
Аватар для Shaci
:-/
Отправить личное сообщение для Shaci Посмотреть профиль Найти все сообщения от Shaci
 
Регистрация: 28.09.2009
Сообщений: 1,126

никак не могу понять
вопрос по 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>
Ответить с цитированием