Мне неловко создавать такие макеты, которые имеют хорошую семантику.HTML/CSS: бары Nav в левой части страницы
Левая сторона - это столбец шириной около 150 пикселей, который содержит элементы навигации.
Я хотел бы поместить HTML-код для этого раздела сайта в начале кода HTML, , а затем сделать простой способ заставить остальную страницу не посягать на эту территорию слева (150 пикселей).
Я подумал о некоторых вариантах.
- Поместите остальную часть содержимого сайта внутри div, который явно имеет левый край 150px.
- Установите элемент nav на ширину 150 пикселей и поплавок влево. Остальная часть страницы естественно обертывается.
Есть ли другие варианты, которые более подходят для этой задачи?
Вот минусы.
- Изменение элемента nav до 200px теперь требует, чтобы я редактировал левый край другого div до 200px. Конечно, это не так уж плохо для одноразового изменения макета, но что, если бы у меня была ширина навигационного элемента, динамически меняющегося от скрипта? Мне понадобится сценарий, чтобы изменить поле div.
- Если элемент nav установлен в положение: фиксированное (и сделанное для того, чтобы занять весь левый столбец страницы), остальная часть обертки страницы не вмещает его теперь неподвижное поведение и выглядит ужасно, когда прокручивается страница. Чтобы исправить это, мне нужно сделать элемент навигации бесконечной. Я не уверен, как это сделать правильно.
height:9999999px;
? Это делает мою страницу на 10 миллионов пикселей выше, а полоса прокрутки теперь бесполезна.
Спасибо! Я не знал о элементе '
@Steven Lu - слово предупреждения, затем тег nav является тегом HTML 5 и не будет должным образом поддерживаться многими браузерами (IE6, IE7, IE8). Вместо этого следует заменить тег nav тегом div (возможно, с классом nav), а не использовать nav. –
основные браузеры обрабатывают html5 очень хорошо. поддерживается всеми основными браузерами, и вы можете использовать html5shiv для добавления тегов в dom в меньших браузерах - но да, пойдите с divs, если вы предпочитаете – stephenmurdoch