Web-анатомия Web-анатомия Web-анатомия
Web-анатомия Web-анатомия Web-анатомия HTML CSS JScript DHTML
заголовок - CSS
баги NN 4.x


Новая версия сайта находится по адресу


wa.artel.by




Материал взят c сайта http://www.richinstyle.com c нарушением всех авторских прав. Перевод by FireFalcon.

Фишка 4 - Полнота каскадных таблиц стилей.

Таблица стилей должна содержать все нижеприведенные объявления (т.е. каждый блоковый элемент должен иметь объявления для margin, padding и line height, а CODE, BODY, PRE должны содержать font-size и family). Жизненно важно реализовать все это, потому что в противном случае у многих пользователей могут возникнуть проблемы. Если вы начинаете разрабатывать таблицу стилей с нуля, то можно воспользоваться заготовкой, приведенной ниже (все значения можно менять).

/* Элементы */

/* Fonts - измените 'sans-serif' на ваш шрифт */

ADDRESS, BLOCKQUOTE, BODY, CAPTION, CENTER, DD, DIR, DIV, DL, DT, FORM, H1, H2, H3, H4, H5, H6, MENU, OL, P, TD, TH, UL {font-size: 1em;
font-family: sans-serif}

/* Реальные стили */

A {cursor: auto}

A:link {color: blue;
background: transparent;
text-decoration: none}

A:visited {color: red;
background: transparent;
text-decoration: none}

A:active {color: green;
background: transparent;
text-decoration: none}

A:hover {text-decoration: underline}

ADDRESS {margin: 0em 0% 0em 0%;
font: italic 1em/1 sans-serif}

BIG {font-size: 1em}

BLOCKQUOTE {margin: 0em 0% 0em 0%;
line-height: 1}

BODY {margin: 0em 0% 0em 0%;
font: 1em/1 sans-serif;
background: white;
cursor: default}

BUTTON {cursor: auto}

CAPTION {margin: 0em 0% 0em 0%;
line-height: 1}

CODE {font-size: 1em;
font-family: monospace} /* Для того, чтобы избежать перекрытия boldness/italicity при использовании шрифтов */

DIV {margin: 0em 0% 0em 0%;
line-height: 1}

DD {margin: 0em 0% 0em 0%;
line-height: 1}

DL {margin: 0em 0% 0em 0%}

DT {margin: 0em 0% 0em 0%;
line-height: 1}

H1 {margin: 0em 0% 0em 0%;
font: 1em/1 serif}

H2 {margin: 0em 0% 0em 0%;
font: 1em/1 serif}

H3 {margin: 0em 0% 0em 0%;
font: 1em/1 serif}

H4 {margin: 0em 0% 0em 0%;
font: 1em/1 serif}

H5 {margin: 0em 0% 0em 0%;
font: 1em/1 serif}

H6 {margin: 0em 0% 0em 0%;
font: 1em/1 serif}

HR {margin: 0em 0% 0em 0%}

HTML {margin: 0;
background: white}

INPUT {cursor: auto}

KBD {font: 1em monospace}

LI {margin: 0em 0% 0em 0%;
line-height: 1}

OL {margin: 0em 0% 0em 5%;
list-style: decimal}

UL UL OL OL, UL OL UL OL, OL UL OL OL, OL OL UL OL, OL UL OL, OL OL {list-style: lower-alpha}

OL UL OL OL, OL OL UL OL, UL OL OL OL, OL OL OL {list-style: lower-roman}

OL OL OL OL {list-style: decimal}

P {margin: 0em 0% 0em 0%;
line-height: 1}

PRE {margin: 0em 0% 0em 0%;
font: 1em/1 monospace}

SAMP {font: 1em monospace}

SMALL {font-size: 1em}

SUB {font-size: 1em}

SUP {font-size: 1em}

TD {line-height: 1}

TEXTAREA {cursor: text}

TH {font: bold 1em/1 sans-serif}

TT {font: 1em monospace}

UL {margin: 0em 0% 0em 5%;
list-style: disc}

UL UL, OL OL UL UL, OL UL OL UL, UL OL OL UL, OL UL UL, UL OL UL {list-style: circle}

OL UL UL UL, UL OL UL UL, UL UL OL UL, UL UL UL {list-style: square}

UL UL UL UL {list-style: disc}

А теперь прикрутите эту таблицу к своей странице и посмотрите в IE 5 или Opera 5 (Netscape 4 лучше не использовать, так как он слишком глючный; Internet Explorer 4 получше, но он имеет проблемы с margin %).

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

Например, я часто видел страницы, где отступы(margins) установлены только для BODY, и не установлены для H1-6. В моей собственной таблице стилей (Opera 5 позволяет пользователям устанавливать свои CSS для просмотра страниц) отступы установлены для BODY, и отрицательные отступы для H1-6 (чтобы компенсировать большие отступы для BODY). Для BODY мои отступы переписываются теми значениями, которые установил создатель страницы (обычно эти значения меньше, чем установленные мной), но значения для H1-6 остаются теми, которые установил я. Вследствие чего часть заголовков просто не видна, так как мои отрицательные отступы для H1-6 с лихвой перекрывают те небольшие отступы, которые установил создатель страницы. (Я надеюсь, все поняли суть проблемы? ;)

Поэтому не надо выбрасывать объявления из вышеприведенной заготовки, можно лишь изменять их. Причем даже если вы не используете, скажем, элемент DT, все равно надо оставить его в таблице стилей, потому что в будущем (если вы все же захотите его применить) будет намного сложнее написать для него стили без ошибок.

Окончание следует...

заголовок - CSS

Новости сайта Ссылки/только полезные ресурсы не нажимать! Пишите письма
новости

3 мая 2001. Новенькое по CSS/ Кросс-браузерность:
фишки слепого браузера


18 апреля 2001. Новенькое по CSS/ Кросс-браузерность:
не наступай на грабли


11 апреля 2001. Новый материал по HTML/ Логические тэги:
облегчаем жизнь


30 марта 2001. Ну наконец-то! Новый материал по HTML/ Favicon:
плюсы и минусы


21 марта 2001. Новый материал по CSS/ секреты CSS:
правильные стили (IV)


15 марта 2001. Новый материал по CSS/ секреты CSS:
правильные стили (III)


CSS
Если HTML - это скелет сайта, то CSS - его мозг, так как стили обычно находятся в "голове" <HEADER> :) (если они встречаются где-нибудь еще, то это явно выраженный спинной мозг)

баги нашей жизни/
IE 5.x


баги нашей жизни/
Opera 3.x


баги нашей жизни/
Netscape 4.x (I)


баги нашей жизни/
Netscape 4.x (II)


поддержка CSS/
базовые концепции


CSS/
проблемы background'а


секреты CSS/
правильные стили (I)


секреты CSS/
правильные стили (II)


секреты CSS/
правильные стили (III)


секреты CSS/
правильные стили (IV)


секреты CSS/
кросс-браузерный CSS(I)


секреты CSS/
кросс-браузерный CSS(II)


секреты CSS/
кросс-браузерный CSS(III)


 

Hosted by uCoz