Master-X
Форум | Новости | Статьи
Главная » Форум » Дизайн » 
Тема: Упрощаем жизнь верстальщика: 10 советов по CSS
цитата
29/03/07 в 05:28
 igorr
Советов по созданию таблиц стилей много, постараюсь их структуризировать.

1. Меньше эффектов, больше логики

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

Перед началом работы над макетом подробно планируйте для себя структуру кода, что и как вы будете размещать, используйте wrap-контейнеры для упрощения создания таблицы стилей.

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

2. Не используйте хаки без надобности

Не нужно, при каждом удобном случае, писать хак для отдельного браузера (читаем - IE6), поищите в сети, 99%, что этот баг известен и для него есть решение, причем самое удобное и простое.

3. Следите за отступами

Браузеры, к сожалению, временами используют разные отступы (margin, padding) для разных элементов, поэтому большинство трудностей при верстке создют именно они.

Так что советую вам обнулять отступы для всех тегов:

Код:
* {margin: 0; padding: 0;}


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

4. Не увлекайтесь абсолютным позиционированием

Да, position: absolute; дает возможность повесить блок именно туда, куда хочешь, причем попиксельно, однако этот метод имеет много недостатков.

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

Так что для тех блоков, о которых вы точно не знаете, что они будут фиксироваными, лучше использовать float’ы.

5. Не “дивная” верстка

Пишите код семантически верно, не нужно тыкать div’ы куда не попадя. Расчитывайте на то, что макет ваш встретит поисковый бот, и подумайте какой код для него будет понятнее и ближе.

этот:
Код:
<div id="header">
  <div class="bold">Heading</div>
</div>
<div id="subheader">
  <div class="bold">Sub Heading</div>
</div>
<div>This is the content</div>


или этот:
Код:
<h1>Heading</h1>
<h2>Sub Heading</h2>
<p>This is the content</p>


И какому сайту он даст предпочтение при прочих равных.

6. Каскад

Почему CSS - это каскадные таблицы стилей, и почему это так удобно? Смотрите.

1. У нас есть вот такой код
CSS:
Код:
a.link{color:red;text-decoration:none}

HTML:
Код:
<ul>
  <li><a class="link" href="#">Link1</a></l>
  <li><a class="link" href="#">Link2</a></li>
  <li><a class="link" href="#">Link3</a></li>
  <li><a class="link" href="#">Link4</a></li>
  <li><a class="link" href="#">Link5</a></li>
  <li><a class="link" href="#">Link6</a></li>
</ul>


2. А теперь применим каскад для него
CSS:
Код:
#nav a {color:red;text-decoration:none}

HTML:
Код:
<ul id="nav">
  <li><a href="#">Link1</a></li>
  <li><a href="#">Link2</a></li>
  <li><a href="#">Link3</a></li>
  <li><a href="#">Link4</a></li>
  <li><a href="#">Link5</a></li>
  <li><a href="#">Link6</a></li>
</ul>


Как видите, мы получили такой же эффект, но все стало меньше и проще.

7. Используйте валидатор

Старайтесь на каждой стадии разработки проверять ваш код валидатором, таким способом можно отлавливать возможные ошибки значительно быстрее. Ну и вобще, сделаем веб лучше.

8. Упрощайте код

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

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

9. Гибкость

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

10. Поддержка браузеров

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

http://www.igorr.name/2007/03/28/uproschaem-zhizn-verstalschika-10-sovetov-po-css/
цитата
29/03/07 в 16:09
 Joseph
Спасибо. Отличная статья.

Побольше бы таких, особенно по самой цсс-вёрстке в свете последних веяний. ;)
цитата
29/03/07 в 19:37
 Kn
С интересом почитал!)
Хотя сам верстаю таблицами
Проголосовал за хороший топик
цитата
29/03/07 в 19:58
 Stek
igorr:
подскажи плиз, как в div размеров в 800 пикселей загнать в центр страницы ? У меня только тегом <center> получается, но вроде это не правильно.
цитата
29/03/07 в 20:18
 Vigo
left right margin:auto
цитата
29/03/07 в 23:02
 igorr
Stek писал:
igorr:
подскажи плиз, как в div размеров в 800 пикселей загнать в центр страницы ? У меня только тегом <center> получается, но вроде это не правильно.


HTML:
Код:
<div class="center">....</div>


CSS
Код:
.center {margin: 0px auto;}
цитата
30/03/07 в 08:19
 pierx
igorr писал:
Код:
.center {margin: 0px auto;}
Вроде если ставить 0, то px можно не писать, или ошибаюсь?
цитата
30/03/07 в 10:47
 igorr
pierx писал:
Вроде если ставить 0, то px можно не писать, или ошибаюсь?


да, можно и не писать px, дело в привычке icon_smile.gif
цитата
30/03/07 в 16:49
 AlexKeeper
Лучше сразу привыкать писать по стандартам, а именно с px.
К примеру, такой код по разному интерпретируется IE и FF.
Код:
border:1px solid #cccccc;

А именно, если убрать px, то FF бордер не отобразит.
цитата
30/03/07 в 17:03
 leetd
Gemini писал:
Лучше сразу привыкать писать по стандартам, а именно с px.
К примеру, такой код по разному интерпретируется IE и FF.
Код:
border:1px solid #cccccc;

А именно, если убрать px, то FF бордер не отобразит.

это при положительных числах

вместо 0 ещё можно писать none :)
цитата
30/03/07 в 17:31
 AlexKeeper
Да можно, конечно.
Да хоть по-русски напиши: "ноль" или "нету" - это приведет к ошибочной интерпретации и получится "0" по умолчанию. Т.е., если какой-либо браузер не понял, значит 0.
Стандарты для того и придумали.


Эта страница в полной версии