Как вы выстраиваете свой CSS?
1807 сообщений
#14 лет назад
Скажите, какой алгоритм расположения элементов вы используете в css-файле, комментируете ли код?Лично я ничего не комментирую, а элементы располагаю в последовательности html, body, reset, основные теги, далее классы просто по алфавиту. Мне почему-то кажется, что алфавитная система намного удобнее, чем когда css-файл заполняется втупую по мере создания сайта, то есть сначала классы для хедера, потом контент, и так далее, без какой-либо системы. Вроде и комментарии к таким цсскам обычно пишут (а без них в этом случае уж точно никуда), но найти что-то весьма проблематично, без файрбага вообще печально, особенно если цсска большая. Автор потом сам начинает путаться в своих записях, и последующие классы уже вписываются "абы куда", не раз такое наблюдал, когда правил чью-то верстку.
В алфавитной ститеме все просто, найти нужный класс - не проблема. Конечно, насколько это возможно, файлы группируются наследованием, то есть если это классы для футера, то они идут одной группой подряд, наследованием через .footer .classname, а не раскиданы по всему файлу.
Вобщем интересен "народный подход" к этому делу, разные точки зрения, и всё такое...
570 сообщений
#14 лет назад
Спорно.Имхо, лучше по блокам. По алфавиту каскад фиг сделаешь.
/* -----Header
/* -----Content
/* Left Side
/* Right Side
/* -----Footer
1807 сообщений
#14 лет назад
Что вы понимаете под каскадом, и почему его фиг сделаешь? (про группиировку классов наследованием я уже писал)Вот пример моего кода. Чем не каскад? (может не самый "каскадный" пример, просто взял с первого попавшегося под руку сайта из портфолио)
.previews {
margin: 0;
padding: 0 0 25px 0;
list-style-type: none;
}
.previews li {
margin-bottom: 12px;
zoom: 1;
}
.push {
padding-bottom: 65px;
zoom: 1;
}
.request {
background: #F3F3F3;
padding: 8px 9px 15px 11px;
zoom: 1;
}
.request button {
float: right;
color: #d52145;
font-size: 18px;
border: 0 none;
background: none;
height: 18px;
padding: 0 33px 0 0;
margin: -6px 0 0 0;
position: relative;
background: url('../img/button.gif') no-repeat right top;
cursor: pointer;
overflow: visible;
}
.request button::-moz-focus-inner {
padding: 0;
border: 0;
}
.request button span {
top: -3px;
position: relative;
}
.request button span::-moz-focus-inner {
top: -6px;
}
.request_row {
margin-bottom: 15px;
zoom: 1;
width: 100%;
}
.request_row span {
float: left;
color: #d52145;
font-size: 18px;
position: relative;
top: -2px;
}
.request_row textarea {
width: 153px;
height: 77px;
float: right;
}
.request_row .textfield {
width: 153px;
float: right;
}
.sidebar {
width: 278px;
float: left;
}
.subscribe_block {
width: 100%;
zoom: 1;
overflow: hidden;
margin-top: 5px;
}
.subscribe_block .box {
width: 175px;
height: 39px;
background: #F3F3F3;
float: left;
margin-right: 4px;
overflow: hidden;
color: #dd4d6a;
}
.subscribe_block .box div {
width: 175px;
height: 39px;
display: table-cell;
vertical-align: middle;
//display: block;
//margin-top: 12px;
}
.subscribe_block .box div .textfield {
width: 141px;
margin-left: 14px;
}
.subscribe_block .box span {
margin-left: 14px;
}
.subscribe_block .mail_icon {
width: 38px;
height: 38px;
float: left;
cursor: pointer;
border: 0 none;
background: url('../img/mail_icon.gif') no-repeat;
margin-right: 6px;
}
.subscribe_block .rss_icon {
width: 38px;
height: 38px;
float: left;
background: url('../img/rss_icon.gif') no-repeat;
display: block;
}
Кроме того, процесс определения группы элементов в какой либо блок (TOP, HEADER, FOOTER, и т д) напоминает верстку с использованием айди - аффтар уверен, что блок будет уникальным, и смело лепит ему свойства через айди. Потом приходит программист, заказчик, директор, дизайнер, что-то перепридумывают, и элемент уже дублируется на странице, и использование айдишника уже нецелесообразно. Так и здесь - помещая меню в блок LeftSide, уверены ли вы, что это меню не будет дублировано где-то, или просто перенесено в блок RightSide?
11416 сообщений
#14 лет назад
Я как-то больше привык к блокам - хедер, контент, футер, сайдбар. И в каждом блоке по алфавиту
1807 сообщений
#14 лет назад
Hungry_Hunter, ну по сути почти то же самое... А вот такой вопрос - есть у вас класс .red {color: red;}. Ну к примеру 
530 сообщений
#14 лет назад
Цитата ("nehovaysyatopol"):Hungry_Hunter, ну по сути почти то же самое...А вот такой вопрос - есть у вас класс .red {color: red;}. Ну к примеру. Такой вот класс, который вы юзаете, если надо текст выделить красным (допустим, в макете такое часто надо). Вот вы его в какой блок определите?
Такие моменты я ставлю в general styles перед шапкой
5330 сообщений
#14 лет назад
Я привык делать все в коде и отдельные блоки в разных файлах проекта, а как система соберет все вместе меня не волнует, я не редактирую конечный файл, лучше и правильнее менять исходные блокидо кучи все в одну строку свалить, что бы наэкономить немного.
11416 сообщений
#14 лет назад
Цитата ("nehovaysyatopol"):А вот такой вопрос - есть у вас класс .red {color: red;}. Ну к примеру . Такой вот класс, который вы юзаете, если надо текст выделить красным (допустим, в макете такое часто надо). Вот вы его в какой блок определите?
В общий блок - там где ресет, h1, ul, a итд

6863 сообщения
#14 лет назад
Вот фрагмент из текущей незаконченной работы. Вначале идет ресет без каких либо изысков и определение для тегов (a, h1-h3, иногда td).
Мечтаю о том дне, когда в ресет моджна будет добавить a {color:inherit} и больше не вспоминать.
ИМХО: алфавит при наличии функции поиска в редакторе можно с чистой совестью забывать.
body {
background: #151515;
background: linear-gradient(top,#171d26,#151515);
background: -moz-linear-gradient(top,#171d26,#151515);
background: -webkit-gradient(linear, left top, left bottom, from(#171d26), to(#151515));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#171d26', endColorstr='#151515',GradientType=0 ); /* ie */
font-family: Arial, Helvetica, sans-serif;
}
#wrapper {
width:100%;
min-height:100%;
height:auto !important; height:100%;
overflow:hidden;
background: linear-gradient(top,#171d26,#151515);
background: -moz-linear-gradient(top,#171d26,#151515);
background: -webkit-gradient(linear, left top, left bottom, from(#171d26), to(#151515));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#171d26', endColorstr='#151515',GradientType=0 ); /* ie */
}
#sidebar {
width:195px;
float:left;
border-right:1px solid #2d2e2e;
color:#fff;
padding:20px 30px; padding-bottom:100%;
margin-bottom:-100%;
background:#1a1a1a url("../image/l-bg.jpg") top right no-repeat;
}
#sidebar a {color:#fff; }
.sidemenu li {
height:29px;
line-height:29px;
border-bottom:1px dotted #4b4e52;
padding:0 20px;
}
#top {
position:absolute;
height:60px;
left:290px; top:0; right:30px;
}
#pannel {
width:100%; max-width:978px;
margin:0 auto;
background:#424348;
height:60px;
color:#fff;
box-shadow: 0 0 2px black;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
-moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); }
6863 сообщения
#14 лет назад
Цитата ("nehovaysyatopol"):А вот такой вопрос - есть у вас класс .red {color: red;}
Часто для для этого хорошо подходит strong {font-weight:normal;color:red}, или b, em и т.д. с соответствующими свойствами.
1807 сообщений
#14 лет назад
Цитата ("floppox"):ИМХО: алфавит при наличии функции поиска в редакторе можно с чистой совестью забывать
Ну алфавит забывать не советую в любом случае. А если серьезно, то в таком случае также нету смысла комментировать и разбивать по блокам - поиск-то есть. Не аргумент.
Цитата ("floppox"):
Часто для для этого хорошо подходит strong {font-weight:normal;color:red}, или b, em и т.д. с соответствующими свойствами
Стараюсь не использовать всякие дремучие теги а-ля em, dd, dl, small, и т д
Вполне можно обойтись и без них, для меня это мусор в коде.
Цитата ("floppox"):
#pannel {
width:100%; max-width:978px;
margin:0 auto;
background:#424348;
height:60px;
color:#fff;
box-shadow: 0 0 2px black;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
-moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); }
А как же ослики? Некроссбраузерно.
Юзайте pie.htc
6863 сообщения
#14 лет назад
Цитата ("nehovaysyatopol"):А как же ослики? Некроссбраузерно.Цитата ("floppox"):
Юзайте pie.htc
Вот фрагмент из текущей незаконченной работы.
А за подсказку спасибо. Я фильтрами играюсь. Посмотрю и такого зверя.
Цитата ("nehovaysyatopol"):
Стараюсь не использовать всякие дремучие теги а-ля em, dd, dl, small, и т д
Вполне можно обойтись и без них, для меня это мусор в коде.
strong, em, dd, dl, small - как раз не дремучие. Как раз очень даже семантичные. Дремучие - это b, i, center.
Цитата ("nehovaysyatopol"):
. А если серьезно, то в таком случае также нету смысла комментировать и разбивать по блокам - поиск-то есть. Не аргумент.
Когда разбито поблокам, это облегчает ВИЗУАЛЬНЫЙ поиск. Часто не нужно даже заглядывать в html, чтоб найти в цсс "маленькую голубенькую ссылочку в нижней части второй справа колонки"

1807 сообщений
#14 лет назад
Цитата ("floppox"):Цитата (nehovaysyatopol):
. А если серьезно, то в таком случае также нету смысла комментировать и разбивать по блокам - поиск-то есть. Не аргумент.
Когда разбито поблокам, это облегчает ВИЗУАЛЬНЫЙ поиск. Часто не нужно даже заглядывать в html, чтоб найти в цсс "маленькую голубенькую ссылочку в нижней части второй справа колонки" .
Вообще если по существу, то файрбаг решает все проблемы. Если ты верстальщик - то у тебя по-любому есть файрбаг, и там тебе сразу показывается, на какой строчке смотреть. Если ты не верстальщик и у тебя нет файрбага - то нефиг лезть править верстку

Цитата ("floppox"):
strong, em, dd, dl, small - как раз не дремучие. Как раз очень даже семантичные. Дремучие - это b, i, center.
да я как-то обхожусь стандартными <ul><li> вместо <dl><dd>, и <div class=""> вместо <center>, и так далее....не люблю, когда в коде много разных элементов. Блок - это DIV, текст - это SPAN, список - это UL LI, ссылка - это А. Вобщем-то на основании этого уже можно построить любую верстку. В свете этого меня сильно смущают новшества в HTML5, с его кучей новых тегов сомнительного назначения и необходимости.
5330 сообщений
#14 лет назад
Цитата ("nehovaysyatopol"):<div class=""> вместо <center>
это правильнее чем
Цитата ("nehovaysyatopol"):
<ul><li> вместо <dl><dd>
1807 сообщений
#14 лет назад
Цитата ("ArtPro"):это правильнее чем
Цитата (nehovaysyatopol):
<ul><li> вместо <dl><dd>
Обоснуйте.
6863 сообщения
#14 лет назад
Цитата ("nehovaysyatopol"):нефиг лезть править верстку
Вот сейчас вырву из контекста и громко на вас обижусь!
Систематизация ускоряет роботу.
Пишите вы код тоже в файрбаге? Или в дримвивере генерите? А потом уже, как "настоящий профессионал", файрбагом ковыряете?
6863 сообщения
#14 лет назад
nehovaysyatopol, dd и dl - это семантичные рекомендованные теги, входящие в спецификацию XHTML. Так же как strong, em, small, которые односятся к контекстным тегам. А вот <b>, <i>, <center> - это теги визуального форматирования, котрые использовать не рекомендуется.
<div class="red"> и .red {display:inline; color:lime} впридачу


1807 сообщений
#14 лет назад
Цитата ("floppox"):Цитата ("nehovaysyatopol"):нефиг лезть править верстку
Вот сейчас вырву из контекста и громко на вас обижусь!
Системаматизация ускоряет роботу.
Пишите вы код тоже в файрбаге? Или в дримвивере генерите? А потом уже, как "настоящий профессионал", файрбагом ковыряете?
Зачем же вырвать из контекста, если имел я в виду совсем не вас, а дугоруких мастеров, за которыми я неоднократно правил верстку?

Цитата ("floppox"):
dd и dl - это семантичные рекомендованные теги, входящие в спецификацию XHTML. Так же как strong, em, small, которые односятся к контекстным тегам. А вот <b>, <i>, <center> - это теги визуального форматирования, котрые использовать не рекомендуется.
Госпаде, да не использую я <i> и <center> вообще, чево вы к ним прицепились. Ну иногда <b>, чтобы лишний класс не городить, да и то, редко. А dd и dl - не спорю, что они входят в спецификацию, но меня никто не обязывает их использовать. Не нравятся они мне, и все тут. Юзаю списки и щастьем свечусь.

791 сообщение
#14 лет назад
Все в строчку, с минимумом каскадированияс приблизительными 2 блоками - то, что скорее всего не придется править и блоки с информацией
6863 сообщения
#14 лет назад
Цитата ("nehovaysyatopol"):Ну иногда <b>, чтобы лишний класс не городить
Ну а я о чем? О лишнем классе .red
А возвращаясь к теме. Систему с отступами я не сама придумала. Увидела - понравилось.
Почему-то вы тему создали, а теперь доказываете, что ваш принцип самый лучшый. Зачем спрашивали-то?