В онлайн-учебном пособии мне недавно было предложено создать класс для навигационных элементов под названием «nav». Я новичок в CSS, но это только я, или это избыточная/запутанная/плохая практика?В HTML5 + CSS есть <nav class = "nav"> redundant?
ответ
Это не избыточно. Элемент DOM nav
отличается от класса CSS nav
.
Если вы хотите, чтобы стиль этого элемента по классу, вы должны использовать эту декларацию стиля (например):
.nav { background-color : #F00; }
если бы он был в стиль элемента типа было бы:
nav { background-color : #F00; }
Это может показаться тривиальным, но этот период .
имеет значение. Это означает, что вы идентифицируете элемент по классу, а не по имени элемента. Если вы используете класс синтаксис (с .
), то можно было бы написать:
<div class="nav"></div>
Это покажет на красном фоне, если вы включили определение класса, но если вы не в стиле элемент типа непосредственно.
В простых приложений, которые вы можете быть в состоянии уйти с непосредственно стилизации типов элементов (например, <nav>
), в отличие от классов (например class="nav"
), но, как вы получите более сложные макеты, которые вы собираетесь хотите использовать классы. Кроме того, если вы используете селекторную библиотеку, например jQuery, или document.querySelect()
, у вас могут быть веские причины для указания класса.
Если вы действительно можете знать, что все элементы <nav>
могут быть одинаковыми на всех ваших страницах, тогда обязательно используйте селектор элементов, но чтобы оставить себе гибкость, лучше всего использовать классы.
Отличное подробное описание, спасибо. – JBeck
NO Это не избыточно.
ДА это излишний если вы думаете, в вашем конкретном случае, если вы хорошо с nav{ /*blaah blaah*/ }
<nav>
является семантическим HTML5 тег, который представляет сторону SEO навигации. Навигация - это все, что вы хотите. Так что в случае, если у вас есть несколькоnav
элементов на нашей странице, и вы в порядке с таинственными стилями непосредственно тег элемент с помощью nav
Буду рад видеть это.
Это правильный ответ. Лучшая практика говорит, что вы действительно никогда не должны стилизовать фактический элемент. Вы всегда должны использовать классы. Это позволяет использовать будущий масштаб и лучше писать CSS. –
Хорошая информация о том, как SEO обрабатывает '
- 1. HTML5 <nav> centering
- 2. WordPress: Genesis Framework Custom Nav CSS Class
- 3. Html5 <nav> использование тегов
- 4. HTML5/CSS Вертикальная высота Nav, пропорциональная содержанию
- 5. HTML5 NAV Hover Exception
- 6. Горизонтальный Nav в HTML5
- 7. CSS Каскадирование HTML5 <header><nav> элементов - Как?
- 8. Ввод <nav> inline с <header> CSS
- 9. multiple <nav> теги
- 10. Почему есть некоторые неизвестные атрибуты в теге <nav>
- 11. Hover query - NAV bar CSS effecting DIV class
- 12. Как установить высоту <nav> в html или css
- 13. CSS bootstrap nav-pills class change активное состояние
- 14. Как получить все элементы под html5 <nav> тег
- 15. Центр CSS, фиксированный nav
- 16. Unskewing nav bar выпадающее меню только HTML5/CSS/jQuery
- 17. Css Nav Menu Hover
- 18. Неортодоксальное использование html5 nav tag
- 19. CSS вопрос заголовка в html5
- 20. Проблемы с баром Nav с jQuery, css, html5
- 21. CSS после селектора в nav
- 22. HTML5 2 меню внутри nav
- 23. О <nav> Тэг
- 24. Установить active на bootstrap nav class
- 25. Нежелательные Пространство между <header> и <nav>
- 26. wordpress nav class id ошибка wp menu
- 27. rails css class = "current"
- 28. <nav> и <section> элементы не отображаются
- 29. Активный Nav Bar Пункт меню CSS3/HTML5
- 30. CSS Menu Nav перепутались
Да, избыточный. –
По-моему, это не избыточно, но, в конце концов, до человека, написавшего код, как они хотят управлять стилем. Мне лично нравится делать класс и использовать его вместо –
Все зависит от вашей разметки html. Если по какой-то причине у вас есть несколько элементов '