Вот загадка. Основная страница, один элемент:
http://jsfiddle.net/PZj6t/
HTML:
<div id="container"></div>
CSS:
body, html {
height: 100%;
margin: 0;
padding: 0;
background-color: black;
}
#container {
position: relative;
margin: 0 auto;
width: 400px;
height: 100%;
background-color: #666;
}
Это выглядит так, как я хочу, с #container, аккуратно поднятым вверх. Но когда я добавляю вложенный элемент:
http://jsfiddle.net/PZj6t/1/
HTML:
<div id="container">
<nav id="topnav"></nav>
</div>
CSS (новый):
#topnav {
width: 100%;
height: 40px;
margin: 30px 0;
background-color: red;
}
Контейнер прыгает вниз. Кажется, что margin-top из #topnav каким-то образом передается в контейнер, и теперь на странице есть полоса прокрутки, которая мне не нужна. (Я тестирую в Chrome.) Как мне предотвратить это?
(Еще одна загадка, если я добавлю border: 1px solid white;
к CSS-контейнеру #, переход исчезнет. Это было бы хорошо, за исключением того, что также добавляет нежелательную прокрутку на страницу в два пикселя.)