Иногда в xhtml мы пишем suppose <table border="1">
, а затем снова в css мы пишем table{ border:2px solid black}
. Я не понимаю, когда что писать. Когда использовать атрибуты, а когда использовать CSS. Иногда они сбиваются с толку.
4 ответа
Хотя атрибут границы не устарел, тогда как < a href = "http://www.w3.org/TR/html4/struct/tables.html#adef-align-TABLE" rel = "nofollow"> атрибут align - (чтобы осветить статус атрибута в соответствии с рекомендацией HTML4), обычно рекомендуется не помещать эти атрибуты в разметку.
Я не могу найти ссылку на эти атрибуты при просмотре таблицы XHTML. документация, поэтому я полагаю, что это неприемлемо.
Вместо рассматриваемых атрибутов использование CSS исключает смешивание содержимого и стиля. Кажется, что XHTML полностью ориентирован на контент, а не на стили, поэтому я должен сказать, что, хотя это приемлемо, это не лучший способ использовать атрибуты вместо CSS во внешней таблице стилей.
Один случай, когда я мог видеть использование атрибутов вместо css, - это разработка html-письма, поскольку большинство почтовых клиентов удаляют css, если он не объявлен встроенным с использованием атрибута style. В этом случае может быть проще использовать отдельные атрибуты, чем вставлять все правила в атрибут стиля.
ОБНОВИТЬ
Из-за информации, предоставленной в комментарии другого пользователя, я вижу, что спецификация XHTML, на которую я смотрел, устарела. Современный XHTML распознает и поддержка атрибутов, таких как граница. Приведенная ссылка представляет собой объяснение различий между html и xhtml в качестве введения в предмет. Хорошая вещь. Я ссылаюсь на следующий комментарий:
Когда вы обсуждаете документацию XHTML, вы имеете в виду прерванную спецификацию XHTML 2. Современный XHTML - это XHTML5, который имеет те же правила модели атрибутов и содержимого, что и обычный HTML5, только с другим синтаксисом. Авторы XHTML 2 намеревались удалить всю грязь, накопившуюся на HTML за эти годы, и поэтому использовали очень пуристический подход. Авторы HTML5 заняли гораздо более прагматичную позицию, признали некоторые странные особенности, такие как border = "1", на самом деле полезными, и разрешили их для этих узких ситуаций.
border="1"
, на самом деле полезными, и разрешили их для этих узких ситуаций.
Если вы не знаете, какой инструмент использовать, подумайте, что это на самом деле.
HTML - это язык разметки. Он используется для описания содержимого вашей веб-страницы, чтобы его могли понять все, кто просматривает ваш сайт. Он определяет абзацы, цитаты, важные части контента, навигацию и т. Д.
CSS - это язык стилей . Он описывает, как представлен ваш контент. Используйте его, чтобы элементы выглядели так, как вы хотите, чтобы ваш веб-сайт выглядел визуально привлекательно.
Границы - это часть визуального стиля вашего контента . Вы поместили свой контент в таблицу, потому что это имеет смысл, но если вы хотите добавить границу к таблице, добавьте правила CSS, чтобы она выглядела так, как вы хотите.
Вы часто обнаруживаете, что старый HTML-код написан с большим количеством атрибутов, стилизованных под контент, а также с тегами <font>
и <center>
и другими вещами, которые смешивают контент с презентацией. Вы также можете обнаружить, что некоторые визуальные части вашего сайта невозможны в чистом CSS и требуют дополнительной разметки, чтобы заставить его работать; это те виды компромиссов, на которые вы должны пойти как веб-разработчик.
Вы должны предпочитать стили атрибутам, и в этом конкретном случае вы всегда должны использовать стили, потому что, согласно W3C, индекс атрибутов, атрибут border=
в <table>
устарел. Cellspacing и cellpadding официально не рекомендуются, но их использование не рекомендуется, и они указаны как "устаревшие функции" в HTML5.
Насколько это возможно, держите все стили / представления вне документа - документ должен быть содержимым и структурой - затем стилизуйте его, как хотите, используя XSLT или CSS.
border
:Do not use this attribute, as it has been deprecated: the <table> element should be styled using CSS.
developer.mozilla.org/en-US/docs/Web/HTML/Element/…cellpadding
иcellspacing
: developer.mozilla.org/en-US/docs/Web/HTML/Element/…