.right и другие подобные классы, безусловно, позволяют быстро создавать теги с прикрепленным к нему правилом float:right
, но я думаю, что этот метод имеет больше недостатков, чем преимуществ:
Зачастую в стиле класса с одним float:right;
в нем чего-то не хватает, ваш пример будет плавать только в том случае, если другое правило класса содержит display:block
, так как тег "a" не является блочным уровнем элемент. Также плавающие элементы чаще всего должны иметь ширину и высоту. Это означает, что код в вашем примере нуждается в дополнительном коде, чтобы делать то, что он говорит, и вам нужно искать в двух местах, когда вам нужно изменить свой CSS.
Я стремлюсь стилизовать мой html, разделив страницу на разные теги div с уникальными идентификаторами, а затем стилизуя элементы в этом div с помощью наследования следующим образом.
div#sidebar { float:right; width:200px; }
div#sidebar ul { list-style-type:none; }
Это позволяет разбивать мои css-файлы, так что легко найти css-код, который стилизует определенный тег, но если вы введете .right и другие классы, вы начнете распределять правила по различным областям файл CSS, что делает сайт более сложным в обслуживании.
Я думаю, что идея иметь очень общие классы родилась из желания сделать возможным изменить весь макет сайта, изменив пару правил в таблице стилей, но я должен сказать, что за мои 8 лет Разработка сайтов с более чем 30-ю различными сайтами. Я ни разу не изменил макет сайта и не использовал повторно HTML.
То, что я делал бесчисленное количество раз, - это небольшие корректировки областей страниц, либо из-за небольших изменений в дизайне, либо из-за появления новых браузеров. Таким образом, я полностью поддерживаю разделение моего CSS на аккуратные куски, которые облегчают поиск нужных правил, и не помещают код в разные места для получения более короткой таблицы стилей.
С уважением
Джеспер Хауге