Какие HTML теги при оформлении css считается моветон ?
Во-первых, не стоит использовать все элементы, помеченные в спецификации как устаревшие или даже исключённые из неё. Это b
, i
, u
, strike
, big
, small
, font
и некоторые другие.
Также есть некоторые элементы, которые хотя и имеют некоторое дефаултное оформление, обрели свою семантику. Использовать их чисто ради оформления неправильно, но использование по прямому назначению вполне оправдано:
br
- перевод строки. Идеально подойдёт для строк внутри стихов или песен, но НЕ подойдёт для создания пустой строки между куплетами - вместо этого можно, например, оборачивать сами куплеты в p
.
hr
- горизонтальная линия. В книгах иногда внутри глав встречаются ***
как разделитель меньший, чем глава - вот на его роль hr отлично подходит. Более спорное использование - между самими главами (по сути дублирует заголовки) и между куплетами песни.
em
и strong
- смысловое акцентирование слов. Их не следует использовать просто ради курсива и жирного шрифта. А вот курсив в этом тексте у сочетания "не следует" вполне логично сделать через em.
mark
- выделение совпадений, например, подсветить поисковую фразу в результатах поиска. А не просто жёлтый фон.
s
- неактуальная информация. Например, во время скидок можно поместить в него старую цену. А просто что-то зачеркнуть надо через css.
ins
и del
- вставленный и удалённый текст - некое версионирование. Собственно, кроме версионирования ничего в голову и не приходит.
Сейчас становится популярным использовать тег i
для иконок. Вообще-то не уверен как на это смотрит стандарт, но почему бы и нет. Может со временем это там закрепится.
Ещё есть интересный тег plaintext
- он никогда не был в спецификации, но обладает удивительной особенностью - всё, что идёт после его открытия становится просто текстом. На страницах я его никогда не использовал, но он просто идеален для вывода текстовой информации в новом окне, так что довольно часто я его использую в сниппетах которые запускаю в своём браузере. Но формально его использовать не стоит :)
PS: Вообще пришло в голову, что презентационные теги подходят для wysiwyg-редакторов, поскольку там семантика неизвестна. С другой стороны, всё то же самое можно сделать просто через классы на span'ах.
Одни "плохие теги" попросту отвечают за внешнее представление элемента (как тег ), и их можно заменить на нечто более значимое, либо использовать вместо них CSS. Другие же могут не только определять визуальное представление, но и быть к тому же излишне громоздки (как тег <font>
) или ужасно пагубны для удобства использования веб-страницы (как тег <blink>
).
Теги Ниже приводится большинство общих тегов, у которых есть лучшая альтернатива:
<b>
отображает текст жирным шрифтом. Вместо него можно использовать тег <strong>
, который добавляет элементу дополнительное значение (усиленное выделение), либо, если необходимо просто отобразить текст жирным шрифтом, соответствующее свойство CSS выполняет ту же работу.
<i>
отображает текст курсивом. Использование тега <em>
также добавляет дополнительную информацию (выделение), а для обычной визуализации подойдет соответствующее свойство CSS.
<big>
увеличивает размер отображаемого текста. Если текст используется в качестве заголовка, то лучше использовать теги заголовков (<h1>, <h2>
и т.д.), которые именно для этого и предназначены, а для простого визуального выделения следует использовать свойство CSS font-size, которое предоставляет больший контроль над страницей.
<small>
уменьшает размер отображаемого текста. Опять же для этого лучше использовать свойство CSS font-size.
<hr>
создает горизонтальную линию. Тем не менее, в веб-странице, основывающейся на CSS, использование этого тега несколько необычно. Для этого вполне подойдет свойство CSS border-top или border-bottom, либо, в крайнем случае, старый добрый тег изображения сделает это лучше.
Ко всем перечисленным тегам последние стандарты HTML относятся достаточно лояльно, однако эти теги ничего не добавляют к значению контента, что обязаны делать "хорошие теги". Все эти "пустышки" могли бы быть более полезны, но они не приносят и вреда, в отличие от следующих "вредин":
<u>
в свое время использовался для подчеркивания текста. Так получилось, что подчеркнутый текст прочно ассоциируется со ссылками. Именно поэтому этот тег давно умер, и именно поэтому крайне не желательно иметь в тексте подчеркнутые участки, не являющиеся ссылками.
<center>
использовался для центрирования одного элемента относительно другого. Свойство CSS text-align имеет не только значение center, но и left, right и justify.
<layer>
аналогичен тегу <div>
, однако работает он только в старых версиях браузера Netscape и потому совершенно бесполезен.
<blink>
или <marquee>
. Наше твердое "Нет!". Они должны были делать мигающий текст, однако из-за ограниченной поддержки вскоре превратились в дурную шутку.
<font>
использовался для определения имени, размера и цвета шрифта элементов. Этот тег снискал репутацию злого гения мира тегов. Старые сайты (и даже некоторые новые) подобно оспинами буквально испещрены тегами <font>
. Большинство из них обязаны своему появлению различным программам автоматизации создания сайтов, вставляющие тег <font>
вокруг всякого элемента, размер или цвет которого изменяет автор. Так как этот тег приходится вставлять вокруг каждого появления элемента (скажем, каждый раз, как используется элемент <p>
), то при помощи свойств CSS это можно сделать при помощи одной маленькой строки кода и применить ее ко всему сайту. Такой способ не только делает код веб-страницы меньше, но и позволяет при модифицировании стиля изменить всего одну строку, а не отыскивать все теги <font>
в коде всех веб-страниц. Тег <font>
и неуместное использование таблиц – две наиболее частые причины распухания кода веб-страниц.
источник
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть некий звук, который нужно воспроизвести через 3 секунды после загрузки станицы
я задаю для block-left-helper-img float:left;, чтобы текст отображался по правой сторонеНо получаю такой результат
Вот здесь заполнено, но не в нужную сторону, помогите развернуть пожалуйста, очень срочно требуется(((
надо написать программу на Qt/C++ (ОС Arch Linux), которая по сути является оконным менеджеромНо только окна там должны перемещаться по "кубу" (только...