CSS стиль кодирования

Есть ли какие-нибудь хорошие стили / стандарты кодирования CSS?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
20
0
3 354
13
Перейти к ответу Данный вопрос помечен как решенный

Ответы 13

Ответ принят как подходящий

Вот хороший вариант:

http://www.phpied.com/css-coding-conventions/

Но важно выбрать что-то и придерживаться этого для единообразия.

Наверное, много. В своей работе мы используем:

/* =div a comment about my div */
div#mydiv {
    border:1px solid #000;
}

Параметр = div позволяет нам выполнять поиск по всем элементам div с помощью функции поиска. Тем не менее, есть еще много чего, я использовал много разных вариантов в прошлом.

какие комментарии вы используете для css?

I.devries 09.01.2009 19:26

Проверьте Sass. Это язык шаблонов для CSS, который делает ваш исходный код DRY: er и mucho легким для чтения. Даже если вы не используете Ruby, вы можете использовать его для этой задачи и автоматизировать сборку ваших файлов css из исходного кода Sass. И, вероятно, есть реализации Sass и на других языках.

Новый URL для Sass

Gerwald 14.02.2012 12:56

Когда я кодирую в CSS:

  • В первой части я пишу класс и идентификатор
  • В последней части я пишу общий элемент (p, font и т. д.), Потому что класс и id имеют большее значение для наследования.
  • Я пишу комментарий, если мне нужно определенное поведение с IE или с браузером MoSE.

Вы можете увидеть пример в CSS Zen Garden

Обычно я вставляю самые важные элементы поверх других: если есть

p.important{/*features of a class*/}

p {/*features of a general element */}

Читая файл CSS, я знаю правила форматирования для большинства элементов специфический раньше, после правил для большинства элементов Генеральная. Это привычка в программировании на Java.

Я на самом деле думаю, что это в точности обратное тому, как вы должны структурировать по той же причине: класс и идентификатор, имеющие большую специфичность, означают, что теги будут иметь больше эффект и, следовательно, более важны для наследования.

annakata 09.01.2009 16:41

Просто по опыту я писал довольно длинные таблицы стилей CSS. Теперь мои таблицы стилей обычно занимают половину страницы.

Так что делайте это простым (KISS), линейным (greppable) и компактным (используйте font: вместо font-size и т. д.).

Также я настоятельно рекомендую использовать CSSlint, чтобы проверить ваш код на беспорядок.

хорошие моменты особенно компактность

annakata 09.01.2009 16:42

Я тоже считаю, что это хороший момент. Но это не соответствует ответу @annakata относительно стиля скобок, а также противоречит мнению Джона Крэма относительно Всегда указывайте каждый стиль, который вы хотите применить для данного определения.

Gerwald 14.02.2012 12:48

Основной хороший стиль кодирования - это фактическое разделение файлов css в соответствии с их целями.

См. Прогрессивное улучшение.

Таким образом, какое бы соглашение о кодировании вы ни выбрали, у вас будут согласованные и управляемые отдельные файлы css ... легче отлаживать.

В дополнение к тому, что говорили другие, помните, что C означает `` каскадный '', то есть подэлементы наследуются от элементов верхнего уровня. Звучит просто и сразу. Но я часто видел файлы CSS, содержащие избыточные объявления, например для стилей шрифтов. Это делает CSS более сложным и трудным в обслуживании.

Поэтому, прежде чем добавлять что-либо в свой CSS, убедитесь, что это не является избыточным, т.е. проверьте родительские элементы и удалите избыточные объявления из дочерних элементов.

Учитывая это, вы должны организовать свой CSS таким образом, чтобы элементы высокого уровня (например, объявления для основного класса) упоминались первыми, а более специализированные элементы - последними.

Я согласен с большинством пунктов ссылки Эндрю Хейра, но я сильно считаю

.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;
}

никогда не думал об этом так. Думаю, я мог бы начать использовать это соглашение

Jeff Winkworth 09.01.2009 17:39

Я не знаю, «значительно ли это менее очевидно» - это просто война OTBS снова и снова.

guns 24.03.2009 09:23

Что ж, встроенная группировка полагается на то, что вы определяете запятую в произвольно длинной строке селектора, а формат K + R немного усложняет grepping, поскольку не все строки заканчиваются одинаково - это легко исправить, почему бы не пойти с ясностью?

annakata 24.03.2009 11:44

Стандартного стандарта как бы нет. Безусловно, существует множество внутренних стандартов и условностей. И, безусловно, есть известные передовые практики.

Я придерживаюсь следующего:

  • Структурируйте свой CSS в соответствии с его назначением
    Это может включать разделение проблем CSS по разным файлам (layout.css, colors.css и т. д.). Это также может включать в себя четкое разделение одного файла CSS на четкие разделы по одним и тем же строкам.

  • Будьте как можно более конкретными
    Селекторы имеют разный вес. Селекторы на основе идентификаторов более специфичны, чем селекторы на основе классов. Связанные селекторы (например, body div#container div#content p) действительно очень специфичны.

    Начните быть как можно более конкретным, даже если кажется, что вы слишком конкретны. Позже довольно легко объединить два очень конкретных определения стиля, удалив одно и сделав другое менее конкретным.

    Определение стиля с нечеткой специфичностью может нацеливаться на элементы, которые вы не планировали, способами, которые не сразу очевидны или очевидны. Я думаю, что это самая частая причина разочарований CSS («Почему, черт возьми, этот div не позволяет мне установить верхний предел?»)

  • Всегда указывайте каждый стиль, который вы хотите применить для данного определения.
    Например, если вы хотите, чтобы все ваши абзацы имели розовый текст, установите цвет текста на розовый, а также установите поля / отступы / цвет фона / шрифт и так далее.

    Не полагайтесь на согласованность настроек браузера по умолчанию. Конечно, для наиболее часто используемых элементов основные браузеры, как правило, используют очень похожие, если не идентичные стили по умолчанию.

    Если вы установите все соответствующие стили самостоятельно, вы знаете, каким должен быть конечный результат. Если вы установите только те стили, которые наиболее очевидны, конечным результатом будет (скорее всего) комбинация настроек браузера по умолчанию и ваших стилей. Это в конечном итоге поймает вас в какой-то момент. Я думаю, что это вторая по частоте причина разочарований CSS.

  • Используйте id для стилизации уникальных элементов
    Обычно рекомендуется применять атрибут id к любому уникальному элементу, с которым будет происходить какое-либо взаимодействие. Для CSS это позволит вам более легко применять подходящие конкретные стили.

  • Используйте id на уникальной странице
    Страницы, которые значительно отличаются по стилю и макету от большинства (домашняя страница, результаты поиска, 404), должны иметь id в элементе body. Это дает вам конкретность, необходимую для того, чтобы на ваш тщательный стиль домашней страницы не повлияли стили, которые вы позже примените к какой-либо странице с внутренним содержимым.

Довольно стиль кодирования VS скорость сайта

Я работал с довольно большими файлами CSS и обнаружил некоторые довольно интересные вещи, о которых никогда раньше не читал.

@Импортировать

Одно дело - использовать @import. На самом деле это узкое место - полностью отказавшись от использования @import, сайт стал намного быстрее.

#every .style {одной строкой}

Когда браузер читает документ, он читает строку за строкой, поэтому, переключившись с моего красивого стиля кодирования на этот, я выполнил 2 вещи;

  1. Еще более динамичный сайт
  2. Меньше прокрутки, лучше обзор. Почему? Потому что сначала я прокручиваю вниз, чтобы найти стиль, с которым собираюсь работать, затем все в одной строке, и нетрудно прокрутить глаза вдоль строки, чтобы найти то, что вы ищете.

Я не могу представить себе в современном браузере, что вы получите такой большой выигрыш в производительности, поместив свои классы в одну строку; Можете ли вы привести пример того, насколько вы заметили прирост производительности? Я бы предпочел хорошо отформатированный код компактному коду, даже для скромного прироста производительности.

Ryan Guill 02.02.2009 22:36

Да, когда все в одной строке и без обертывания, общая структура дизайна становится намного более очевидной.

Mark Boulder 24.02.2013 21:48

Поместите свои правила css (например, «color: red;») в алфавитном порядке, а также разместите свои селекторы (например: «div {color: red;}») в том порядке, в котором они появляются в вашей разметке. Отдельный код для состава от кожи.

Это также может быть полезно, несколько советов по сохранению ваших стилей CSS СУХИМИ - как в «Не повторяйся» текст ссылки

Я настоятельно рекомендую посмотреть Less: http://lesscss.org

Хотя это не совсем стандарт, в последнее время он набирает обороты. Less - это расширение css, которое запускается в браузере, привнося в язык переменные и функции и, следовательно, позволяя создавать шаблоны.

Другие вопросы по теме