Tatsoft.ru (logo)

Подробности

Внутренние стандарты. Верстка. 

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

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

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

Поддержка разных браузеров.

При верстке любого дизайна необходимо поэтапно проверять результат верстки в разных браузерах. Результат верстки должен соответствовать нарисованному дизайн-макету. Т.е. схема расположения элементов дизайна, цвета, шрифты, паддинги, маргины, другие стили должны быть максимально приближены к нарисованному дизайн-макету. Набор поддерживаемых браузеров определяется спецификацией конкретного проекта. По умолчанию нужно поддерживать следующие браузеры: Mozilla Firefox (1.5.0.7+), IE (6.0+).

Табличная верстка VS. верстка «на дивах».

Таблицы в HTML коде рекоммендуется использовать исключтельно для представления табличных данных. Табличные данные представляют собой набор полей (столбцы) и значений (строки) некоторого параметра.
Использование таблиц для форматирования элементов дизайна страницы не допускается.

Выравнивание элементов Check-box и Radio-button.

Элемент check-box должен быть выровнен по вертикали по центру относителньно label-а. Между самим check-box-ом и label-ом должен быть отступ. Тоже самое правило применяется и к Radio-button-ам.

Форматирование CSS классов.

Пример правильного форматирования CSS класса:



.message-success {
    background: #BFE894 url(../../images/success-bg.gif);

    color: #3F5A3F;
    font-size: 80%;

    padding: 4px 5px 4px 5px;
    margin: 0 0 20px 0;

    border: 1px solid #96d168;
}

Пояснения к вышеприведенному примеру правильного форматирования:

  1. Название класса должно соответствовать смыслу элемента. Например, если это класс для таблицы кредиток в кратком виде, то надо так и назвать класс: «credit-cards-table-quick-view».
  2. Название класса может содержать буквы латинского алфавита и знак «дэфис»(минус). Примечание: Символ «подчеркивание»(_), так же как и цифры в названии класса недопустимы.
  3. После названия класса ставится «пробел» и «{»;
  4. После имени параметра ставится двоеточие, а затем, перед его значением, ставится «пробел»;
  5. После значение параметра ставится двоеточие и перевод строки;
  6. Padding-и & Margin-ы указываются в одной строке (padding: 0 0 0 0), за исключением случаев перегрузки уже указанных padding и margin значений;
  7. Отделяем переводами строки логические блоки класса. Обязательно отделяются Padding-и и Margin-ы, Border-ы, шрифтовые стили.

Оно надо? Или это все не работает? :)

Комментарии

Ярослав Швецов:

За войны против убивать надо :)

(Комментарий — 4:30 пп, Апр 14 )

Олег Курносов:

Ярослав, ты за или против?

(Комментарий — 11:09 дп, Апр 16 )

Олег Курносов:

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

(Комментарий — 11:12 дп, Апр 16 )

bolk:

Opera 9 поддерживаться не надо? Safari?

к сожалению, есть случаи, к счастью, их не так много, когда без таблиц всё-таки не обойтись. IE не поддерживает display: table и иже с ними, поэтому в некоторых случаях в резиновом дизайне таблицы - необходимость.

Мы, например, разрешаем использовать цифры. box-4-admin и border-0 - это корочем, чем box-for-admin и border-zero-width.

(Комментарий — 11:56 дп, Апр 16 )

Ярослав Швецов:

Я против догматики непонятно с какой целью.

(Комментарий — 1:25 пп, Апр 16 )

Олег Курносов:

2bolk: а цифры в названиях класса разве не deprecated by W3C?

(Комментарий — 2:32 пп, Апр 16 )

Алексей Мамаев:

Окаывается цифры (насколько я понял из мини-исследования :) ) нехорошо ставить первым символом в названии класса, а так можно… И еще нашел статью на webmascon-е, в которой затрагивается эта тема: CSS: правильное использование - залог успеха. В ней как раз и говориться о некоторых правилах, которые рекомендуется соблюдать для оптимизации читаемости, размера, поиска стилей.

(Комментарий — 5:53 пп, Апр 16 )

Алексей Мамаев:

Oper-у и Safari пока по-умолчанию не поддерживаем, т.е. если нет специальных требований.

Совсем без таблиц худо, согласен. Иногда, даже если и есть вариант сделать все “руляще” на дивах, то он может занять неоправдано много времени, и выгоднее взять старые добрые таблицы :)
Буду дополнять и выкладывать свод правил. Если есть вопросы или дополнения, будем рады. Всем спасибо за комментарии.

(Комментарий — 6:20 пп, Апр 16 )

bolk:

У Opera достаточно высокий процент. У нас на adme.ru - Opera занимает ~15% (сегодня: Opera 9 - 14%, Opera 8 - 2.2, Opera 7 - 0.8%)

(Комментарий — 10:06 дп, Апр 17 )

Алексей Мамаев:

Вчера посмотрел статистику татсофта (конечно не adme.ru, но что-то тоже видно :) ) за апрель :

~16% пользователей с 9ой Opera.

Аудитория разных проектов, конечно, разнится, но стоит задуматься на поддержкой. Спасибо за данные :)

(Комментарий — 10:24 дп, Апр 17 )

garA:

А у нас, напрмер, по-умолчанию необходимо поддерживать следующие браузеры: ФФ1+, ФФ2, ИЕ6, ИЕ7, Опера8+, Опера9+.. И весь код должен проходить валидацию..
Что касается вышеописанного кода:
1) согласен, что название класса (или идентификатора) должно соотвествовать смыслу элемента, к которому он привязан. Но писать «credit-cards-table-quick-view» ИМХО это чересчур..
2) я что-то нигде не видел, что использовать цифры и нижнее подчеркивание запрещено.. да, действительно, не рекомендуется использовать цифры в начале, но в конце названия класса ИМХО можно..
3) если после каждого логического блока “ставить” отступ, то как это отразиться на весе файла?
4) с остальными пунктами, в принципе, я согласен, хотя сам не использую..

(Комментарий — 2:01 пп, Апр 25 )

Оставить комментарий



Публикации по категориям

Самые читаемые

  • 4,902 прочтений: что такое wordpress (далее)
  • 4,541 прочтений: возможно самый отрицательный подкаст про RoR (далее)
  • 4,191 прочтений: Про нас написали Отцы! :) (далее)
  • 3,676 прочтений: Чем плох MySQL (далее)
  • 3,614 прочтений: Впервые в России конференция в формате BarCamp (далее)
  • 3,599 прочтений: 9 ошибок менеджера или почему задерживаются проекты (далее)
  • 3,144 прочтений: Конференция - взгляд из-за кулис (далее)
  • 2,682 прочтений: Автоматическая система синхронизация файлов между серверами (далее)
  • 2,232 прочтений: jQuery – Javascript нового поколения (далее)
  • 2,225 прочтений: Перепись казанских веб-студий. Часть 1. (далее)

Добавление в рейтинги

Bobrdobr Memori Google YahooMyWeb Digg Technorati Delicious
количество читателей онлайн и всего Рекомендовать tatsoft.ru в МойКруг.ру

Активные участники

 5 Users Online из них сейчас на сайте

Облако тэгов