Есть ли хороший стиль/стандарты кодирования CSS?Стиль кодирования CSS
ответ
Вот хороший один:
http://www.phpied.com/css-coding-conventions/
Но главное, чтобы выбрать что-то и придерживаться его консистенции.
Есть, вероятно, грузы. В нашей работе мы используем следующие:
/* =div a comment about my div */
div#mydiv {
border:1px solid #000;
}
В = DIV позволяет искать по всем Div элементов с помощью функции поиска. Там больше нагрузок, но в прошлом я использовал много разных вариантов.
Проверка Sass. Это язык шаблонов для CSS, который делает ваш исходный код DRY: er и mucho легко читается. Даже если вы не используете ruby, вы можете использовать его для этой задачи и автоматизировать создание ваших файлов css из источника Sass. И, вероятно, реализация Sass на других языках тоже.
Когда я код в CSS:
- В первой части я пишу класс и идентификатор
- В последней части я пишу общий элемент (р, шрифт и т.д.), так как класс и идентификатор больше значение наследования
- Я пишу комментарий, если я хочу, определенное поведение с IE или с MOSE Browser
Вы можете увидеть некоторые примеры в CSS Zen Garden
Обычно я вставляю самые важные элементы по другому: если есть
p.important{/*features of a class*/}
p {/*features of a general element */}
Чтение файла CSS Я знаю правила форматирования, прежде чем о большинстве конкретных элементов, после того, как правила о наиболее общем элементы.
Это привычка в программировании Java.
Я на самом деле думаю, что это как раз обратное тому, как вы должны структурировать по той же самой причине: класс и идентификатор, имеющие более специфичные средства, теги будут иметь больше * эффекта * и поэтому важнее для наследования – annakata
Как раз из опыта я писал довольно длинные стили CSS. Теперь мои таблицы стилей обычно составляют половину страницы.
Так что держите его простым (KISS), основанным на строке (greppable) и держите его компактным (используйте шрифт: вместо шрифта и т. Д. И т. Д.).
Также я настоятельно рекомендую использовать CSSlint, чтобы проверить ваш код на пух.
Основной стиль хорошего кодирования - фактически отделить файлы css в соответствии с их целями.
Таким образом, независимо от того, какое соглашение о кодировке вы выберете, вы будете иметь последовательные и управляемые отдельные файлы css ... легче отлаживать.
В дополнение к тому, что говорили другие, помните, что C означает «каскадирование», то есть подэлементы, наследуемые от элементов верхнего уровня. Звучит просто и сразу.Но я часто видел файлы CSS, содержащие избыточные объявления, например. для стилей шрифтов. Это делает CSS более сложным и сложным в обслуживании.
Итак, прежде чем добавлять что-то в свой CSS, убедитесь, что он не является избыточным, то есть проверяет родительские элементы и удаляет избыточные объявления от детей.
Учитывая это, вы должны организовать свой CSS таким образом, чтобы упоминались элементы высокого уровня (например, декларации для body-класса), прежде всего, и более специализированные элементы.
Я согласен с большинством пунктов в связи Андрея Зайца, но я сильно верю
.class-name {
color: green;
}
уступает:
.class-name
{
color: green;
}
на том основании, что:
.class-name, .class-name2 {
color: green;
}
или:
.class-name,
.class-name2 {
color: green;
}
значительно менее очевидно, Grep или чем читать:
.class-name,
.class-name2
{
color: green;
}
, никогда не думал об этом таким образом. Я думаю, что могу начать использовать это соглашение –
Я не знаю, является ли это «значительно менее очевидным» - это снова война OTBS. – guns
Ну, встроенная группировка полагается на то, что вы запятнаете запятую в произвольно длинной селекторной строке, а формат K + R заставляет grepping немного усерднее, так как не все линии заканчиваются равномерно - это легко исправить, почему бы не пойти с ясностью ? – annakata
Там нет стандартного стандарта, как это было. Есть, безусловно, множество внутренних стандартов и конвенций. И, безусловно, известны лучшие практики.
Я придерживаюсь следующее:
Структура ваш CSS в соответствии с этим замыслом
Это может включать в себя отделяя проблемы CSS в различные файлы (layout.css, colors.css и т.д.). Это может также включать четкое разделение одного CSS-файла на четкие разделы по тем же линиям.быть как можно более конкретным
селекторы имеют разные веса. Селекторы на основе идентификатора более специфичны, чем селекторы на основе классов. Цепные селекторы (например,body div#container div#content p
) очень специфичны.Начните с того, чтобы быть как можно более конкретным, даже если оно кажется вам слишком специфичным. Это довольно просто, позже по линии, чтобы объединить два очень определенных определения стиля, удалив один и сделав другого менее конкретным.
Определение стиля с ограниченной специфичностью может касаться элементов, которые вы не намеревались способами, которые не сразу очевидны или очевидны. Я думаю, что это является наиболее распространенной причиной CSS фрустрации («Почему на земле это
div
не позволяет мне установить верхний край?»)Всегда указывайте каждый стиль, который вы хотите применить для данного Defintion
Например, если вы хотите, чтобы все ваши абзацы имели розовый текст, установите цвет текста в розовый, а также установите поля/отступы/цвет фона/шрифт и т. Д.Не полагайтесь на стандартные значения по умолчанию для браузера. Разумеется, для наиболее часто используемых элементов основные браузеры, как правило, используют очень похожие, если не идентичные стили по умолчанию.
Если вы сами установили все соответствующие стили, вы знаете, каким должен быть конечный результат.
Если вы установите только те стили, которые наиболее очевидны, конечный результат будет (скорее всего) комбинацией значений по умолчанию для браузера и ваших стилей. В конце концов это вас уловит. Я думаю, что это вторая по распространенности причина разочарования CSS.Использование
id
s для укладки уникальных элементов
Это вообще хорошая идея, чтобы применить атрибутid
к любому уникальный элемент, который будет взаимодействовать с каким-либо образом. Для CSS это позволит вам легче применять конкретные стили.Используйте
id
на уникальной странице
Страницы, которые значительно отличаются по стилю и компоновке для большинства (домашнюю страницу, результаты поиска, 404) должны иметьid
наbody
элемента. Это дает вам определенность, необходимую для обеспечения того, чтобы ваш тщательный стиль страницы не затрагивался стилями, которые вы позже применяете на какой-либо внутренней странице контента.
Довольно стиль кодирования VS скорость сайта
Я работал с довольно большими CSS-файлов, и обнаружил некоторые довольно интересные вещи, которые я никогда не читали раньше.
@import
Одно использует @import. Это на самом деле узкое место - если уйти от использования @import полностью, сайт стал намного более быстрым.
#every .style {в одной строке}
Когда браузер читает документ, он читает построчно, так что при переходе от моего довольно стиля кодирования к этому, я достиг 2 вещи;
- еще более мгновенным сайт
- Меньше скроллинг, лучший обзор. Зачем? Потому что я сначала прокручиваю вниз, чтобы найти стиль, с которым я буду работать, тогда все в одной строке, и нетрудно прокрутить глаза вдоль линии, чтобы найти то, что вы ищете.
Я не могу представить в современном браузере, что вы получите такую большую выгоду от сдачи ваших классов в одну строку; можете ли вы привести пример того, какую выгоду вы наблюдаете? Я бы отдал предпочтение хорошо отформатированному коду по компактному коду, даже для скромного прироста производительности. –
Да, со всем в одной строке и без линеаризации общая структура одной конструкции становится намного более очевидной. –
Поместите свои правила css (например: «color: red;») в алфавитном порядке, а также поместите свои селекторы (например: «div {color: red;)»), чтобы они отображались в вашей разметке. Отдельный код для структуры из скина.
Это также может быть полезным, несколько советов, чтобы сохранить ваши стили CSS DRY - как в «Не повторяться» link text
Я настоятельно рекомендую смотреть на Less: http://lesscss.org
Хотя на самом деле не стандарт, он набирает много времени в последнее время. Меньше - расширение css, которое запускается в браузере, внося переменные и функции в язык и, следовательно, позволяя создавать шаблоны.
- 1. Css стиль кодирования - селектор вложенности
- 2. Правильный стиль кодирования PHP
- 3. прототипирования функции кодирования стиль
- 4. Стиль кодирования Java
- 5. C# стиль кодирования: комментарии
- 6. Какой стиль кодирования лучше?
- 7. C++ стиль кодирования
- 8. стиль кодирования функции python
- 9. кодирования стиль в JavaScript
- 10. стиль кодирования в AngularJS
- 11. Стиль кодирования делегирования?
- 12. Стиль кодирования на Python
- 13. PHP логический стиль кодирования
- 14. Стиль и организация кодирования
- 15. C# Стиль кодирования - Поля
- 16. Node.JS - Экспресс: стиль кодирования
- 17. Стиль кодирования: стандарт кодирования функций и процедур
- 18. Правильно ли этот стиль кодирования?
- 19. Class + Struct - хороший стиль кодирования?
- 20. Странный стиль кодирования Java - почему?
- 21. Какой стиль кодирования более распространен?
- 22. лучший стиль кодирования для итераторов
- 23. Obtuse Javascript/jQuery стиль кодирования?
- 24. Linq стиль кодирования: inline if
- 25. правопреемником и сравнить стиль кодирования
- 26. Mozilla C/C++ стиль кодирования
- 27. Jinja2 стиль кодирования/лучшие практики
- 28. Стиль и стандарт кодирования F #
- 29. кодирования стиль Светлану проверки предупреждения
- 30. CSS Стиль зависания CSS
Какие комментарии вы используете для css? –