CSS: игнорирование атрибутов div с одним блоком внутри
От: annihilator  
Дата: 10.09.08 10:11
Оценка:
Необходимо получить заголовок фиксированной высоты.

Пробовал только на FF 3, кажется, в FF 2 так же.
Демонстрационный код:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title>title</title>
    <style type="text/css">
        #heading {
            height: 100px;
            /* border: 1px solid gray; */
        }
    </style>
</head>

<body>
    <div id="heading">
        <h1>heading 1</h1>
    </div>

    <h2>heading 2</h2>
</body>

</html>


В таком случае высота div-а будет -- 100 px плюс margin внутреннего h1.
Это плохо. И считаю, что неправильно.

Если внутрь div-а поместить еще какой-то span или раскомментировать
строку border в стилях, то все стает на свои места -- div ровно 100 px.

Почему так происходит? Если это баг, то как лучше с ним бороться?

h1 { height: 100px; margin/padding: ... } по подходит,
так как отступы я задаю в относительных едиицах.
css
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.