Введение в CSS

Автор работы: Пользователь скрыл имя, 20 Марта 2013 в 07:44, доклад

Краткое описание

Каскадные таблицы стилей есть один из способов оформления HTML документа. Ни более, и не менее. Тем не менее, философия этого способа радикально отличается от типично разметочного "сюда мы сунем <b>, а сюда, пожалуй, <font face=arial>". Недостатки такого подхода видны сразу - при попытке сменить оформление
сайта придется менять все страницы и все элементы, один за другим.

Содержимое работы - 1 файл

микропроцессоры.doc

— 161.50 Кб (Скачать файл)

 

Шаг 1 - Введение в CSS

 

Каскадные таблицы стилей есть

один из способов оформления

HTML документа. Ни более, и не 

менее. Тем не менее, философия 

этого способа радикально

отличается от типично 

разметочного "сюда мы сунем 

<b>, а сюда, пожалуй, <font

face=arial>". Недостатки такого 

подхода видны сразу - при 

попытке сменить оформление

сайта придется менять все 

страницы и все элементы, один

за другим.

 

Таблицы CSS предлагают

логический способ оформления

документа. Т.е. в любом 

правильно сосотавленном тексте

можно отделить такие понятия,

как заголовки, параграфы,

термины, ссылки друг от друга.

К тому же CSS охватывает и 

такие области, как оформление

изображений, таблиц и прочих

визуальных элементов.

 

Более того, сейчас можно с 

уверенностью  сказать, что CSS

предоставляет гораздо более 

широкие возможности  для 

форматирования, нежели

собственно  стандарт HTML. К 

тому же ситуация с разными 

браузерами, по-разному 

понимающими различные 

атрибуты CSS, понемногу 

меняется. К примеру, браузеры IE

и Opera, которыми, как ни

крути, пользуется подавляющее 

большинство серферов,

отображают простые таблицы 

CSS практически одинаково. Ну 

там, где они отображают

неодинаково, должны помочь

будущие статьи.

 

На сегодняшний день официально

принятой стандартами W3C

версией CSS является 2, а в 

разработке находится 3 версия.

Повторюсь, что не все свойства

CSS2 поддерживаются 

браузерами. Тем не менее,

некоторые свойства CSS2

являются краеугольным камнем

важных аспектов DHTML

программирования - всяких там

менюшек всплывающих,

бегающих картинок и прочего 

мельтешения на экране.

 

Для начала мы рассмотрим

простейший синтаксис CSS и 

методы подключения таблиц.

 

Синтаксис CSS

 

Сама таблица - обычный 

текстовой файл, обычно

сохраняемый с расширением ".css

". Формат таблиц практически 

свободный, что и будет показано

далее. Файл состоит из

определений, или правил (rules).

В общем виде правило выглядит

так - сначала идет selector, я 

буду называть его 

определителем, который 

обозначает, к каким именно

элементам HTML нужно

применять оформление, затем 

идет открывающая фигурная

скобка, в ней через точку  с 

запятой перечисляются 

атрибуты  оформления CSS,

затем фигурная скобка

закрывается.

 

selector {attribute-name:attribute-

definition [;attribute-name:attribute-

definition[...]]}

 

Любое количество пробельных

(символов табуляции, пробела  и 

переноса строки) может быть

вставлено между селектором,

скобкой, атрибутами. Не

допускается никаких 

непробельных символов после 

закрытой скобки. Например, в 

следующем примере символ ";"

после скобки лишний:

 

selector {attributes};

 

Примером правильного кода

может быть следующий:

 

selector1 {attribute1; attribute2}

selector2 {attribute1;attribute2

;attribute3}

 

Оформление определителя

для всех элементов одного

типа

 

Первый (простейший) способ

указания определителя - задать

оформление для всего базового

класса элементов, например

элеменов параграфа <p> и <cite>

 

p {text-align: right } cite {font-

family: monospace }

 

В данном случае все параграфы 

документа, не имеюшие

уточняющих классовых или 

идентификаторных атрибутов,

будут иметь выравнивание по

правому краю, а аналогичные 

элементы cite- форматирование

моноширинным шрифтом.

Обратите внимание, что 

конкретный шрифт не задан,

поскольку на машине

пользователя, если он

использует один из вариантов 

Unix, может и не быть, скажем,

шрифта Courier (хотя надо

сказать его клоны имеются 

практически на всех Линуксовых

дистрибутивах). Тем не менее,

текст отобразится корректно -

установленным по умолчанию в

браузере моноширинным

шрифтом.

 

... одного класса

 

Другим способом, также очень 

популярным, является

субклассирование элементов. То

есть, у Вас есть параграфы 

заголовка, параграфы цитат,

параграфы копирайта. Для 

каждого из них можно создать 

свой класс:

 

p.head {text-align: center } p.cit

{text-align: left; text-indent: 5em }

p.copy {font-size:xx-small; color:

blue }.sans {color:red}

 

После точки пишется название

класса. Если имя основного тэга

не указано (то есть перед точкой

ничего нет), то оформление

будет применяться для всех

типов элементов, имеющих 

class=classname. Выглядит это 

так:

 

<p class=head>Параграф 

заголовка <p class=cit>Параграф

цитат <p class=copy>Параграф

копирайта <a class=sans>Ссылка

класса sans</a>.

 

Следующим способом является

задание оформления для 

именованных (определенный

идентификаторами) элементов 

документа. Выглядит это так:

 

...идентификатора

 

#menu {position:absolute; top:0;

left:0; width:100; height:40}

 

А применяется  так:

 

<div id=menu>Это кусочек 

будущего меню</div>

 

Необходимо заменить, что 

каждый элемент, определенный

таким образом, является для 

браузера логически уникальным.

Поэтому использовать ID

определение с одним именем для 

нескольких  элементов крайне не

рекомендуется ввиду 

непредсказуемости реакции.

Используйте вместо этого 

определение класса.

 

Оформление  контекстного

определителя

 

Предположим, Вы хотели бы,

чтоб все  ссылки отображались

обычным шрифтом  голубого

цвета, но ссылки внутри

таблицы должны быть мельче, и 

не должны подчеркиваться.

Можно, конечно, определить для 

этого отдельный  класс, но есть

более изящное  решение - указать,

в каком  именно контексте (то

есть, внутри какого элемента)

для данного  тэга применять 

оформление. Т.е.:

 

a {color: blue; text-decoration:

underline } td a {font-size:xx-small;

text-decoration: none} td.menu a

{color:red;} td cite a {color:green;

text-decoration:overline}

 

Как видите, число вложений

неограничено. Однако я не

советовал слишком уж

увлекаться. Одного контекста 

обычно бывает вполне

достаточно (максимум двух).

Таким образом, для этой

таблицы стилей мы имеем:

 

Обычная ссылка

Ссылка внутри таблицы

Ссылка внутри таблицы и внутри

тэга cite

 

Ну и напоследок...

 

Группировка определителей

 

При необходимости, можно 

указать общее оформление для

целого набора определителей.

Ясно будет из примера:

 

a, h2, h3, td, td.menu {text-

decoration: none; font-face: Arial;

font-size:x-small}

 

Элементы a, h2, h3, td, td.menu

не будут подчеркиваться,

выводится будут шрифтом Arial,

а размер у них будет

(догадались? :) x-small.

 

И самое последнее. Все 

последующие определения с тем 

же именем (например, два подряд

определения для элемента a)

всегда добавляют оформление.

То есть если у Вас для элемента a

был введен какой-то цвет и 

шрифт, а впоследствии где-

нибудь (не обязательно в той  же

таблице) было введен атрибут 

цвета и выравнивания, то цвет и 

выравнивание изменятся, а 

шрифт останется прежним.

Вообще, любой параметр

таблицы стилей можно 

впоследствии перегрузить (в 

смысле дополнить).

 

 

Следующий Шаг | Оглавление

Автор Аванесов Самвел.

 

 

 

Шаг 2 - Подключение  таблиц

стилей

 

 

Подключение таблиц стилей

можно выполнять  разными 

способами. Наиболее экономный 

с точки  зрения расходования

траффика - подключение 

внешней таблицы (поскольку

файлы CSS, как  правило,

кэшируются  браузером).

Достигается это вставкой

следующего  тэга в заголовок 

(<head></head>) документа:

 

<link rel=stylesheet type=text/css hr

ef='some/where/togo/tofind/mypreci

ous/csstable.css'> <link

rel=stylesheet type=text/css

media="screen,print" href='thatswha

twe/use/for/theprinter.css'> <link

rel=stylesheet type=text/css

media="screen, aural" href='andthis/

for/both/screenandspeech.css'>

 

В данном случае первый вариант 

задает таблицу стилей по

умолчанию для всех устройств

вывода. Параметр media,

используемый для этого тэга,

позволяет задавать

предпочтительные таблицы для 

разных устройств (можно через 

запятую). Список

подтвержденных на данный

момент стандартами устройств 

вывода:

 

screen- для отображения на

компьютерных дисплеях (или 

всем, что себя самонадеянно к 

этому классу причисляет)

print- для вывода на печать

tty- для вывода на консольные 

терминалы

aural- на устройства 

звукосинтеза

projection- на проекционные 

установки

braille- на тактильные

устройства Брайля

tv- на экраны телевизоров

all- на все устройства

 

Другой вариант - описание

таблицы прямо внутри

документа HTML. Выглядит это 

так:

 

<html> <head> <style> body

{font-family: Verdana; color: black }

p {margin-left: 1.5em } </style>

<body> <p>Параграф,

выведенный  шрифтом Вердана, с 

отступом 1.5em, и черного 

цвета. </body> </html>

 

Также таблицы  можно 

импортировать методом, сходим

с препроцессорным #include.

Директива вставляется в сам 

файл таблицы  и выглядит так:

 

@import url(http://some.place.to/gr

ab/a/good.css) @import url(http://a

nother.place.to/grab/a/fine.css)

body {backgound: yellow

url(mybgpicture.png)}

 

Эффект при этом будет такой 

же, как если бы последовательно 

в таблицу было вставлено 

содержимое good.css, затем

fine.css, а затем еще добавлено 

определение для body.

 

Ну и наконец, самой последний 

(вроде бы) вариант - описание 

стиля внутри самого элемента.

Вообще, смысл этого во многом

сомнтителен, поскольку стиль 

будет применен только к 

данному элементу, и, как

следствие, утрачивается главное 

преимущество CSS - единая

логика оформления. Вместо

inlineописания лучше 

использовать определитель по id

. В любом случае всегда лучше 

иметь перед собо все 

возможности. Описание стиля в 

таком случае выглядит так:

 

<div style="font-family:fantasy;

color: red; text-align:justify"> <h1

style="font-size: xx-large">

 

 

Предыдущий Шаг | Следующий 

Шаг | Оглавление

Автор Аванесов Самвел.

 

 

 

Шаг 3 - Отображение текста -

Шрифты

 

 

Одни из наиболее часто 

используемых  свойств CSS -

атрибуты, свзязанные с 

начертанием текста. Это 

собственно  гарнитура шрифта

(имя), начертание (нормальное 

или курсивное), жирность (вес),

размер  и приведение. Особенно

ничего  нового тут нет, поэтому 

перейдем  к рассмотрению

свойств.

 

Font-family

 

Гарнитура шрифта. Включает

себя наименование шрифта или 

его стиль (семью), или и то, и 

другое  вместе. Записывается

этот атрибут  так:

 

body { font-family: "Arial Narrow",

Arial, sans-serif} p { font-family:

"Times New Roman", serif} pre

{font-family: Courier}

 

Здесь "Arial Narrow" - полное

наименование шрифта, Arial -

укороченный вариант 

(альтернативный вариант 

шрифта), sans-serif - его основной

стиль. Количество вариантов 

записи связано в первую очередь 

с тем, что конкретно этого 

(указанного в наименовании)

шрифта у пользователя может  и 

не быть, в таком случае

используется альтернативный

вариант, или шрифт, указанный в 

настройках браузера для данного 

стиля шрифта. В общем случае:

 

serif- шрифт типа Times New

Roman, пропорциональный, с

засечками.

sans-serif- шрифт типа Arial,

попрорциональный, рубленый.

cursive- тип Calligraph,

имитирующий рукпописный 

текст, наклонный.

monospace- моноширинный 

шрифт, как Courier New, например.

fantasy- шрифт наподобие Comic

Sans.

 

Сейчас даже на системах Linux

чаще всего  стоят шрифты,

аналогичные шрифтам Windows

(и чаще  всего с такими же 

именами). Но все равно, всегда

предпочтительней  указывать 

дополнительно generic-family

шрифта.

 

Font-Style

 

Начертание  шрифта. Вообще

говоря, бывает трех типов -

normal, italic, oblique. Но разницу 

между italic и oblique я так и не

увидел. Первый (normal) дает нам 

прямой  текст, а два остальных -

наклонный (курсивный).

Записывается  это дело так:

 

p { font-family: "Times New

Roman", serif; font-style:italic} pre

{font-style: normal}

 

Font-Variant

 

На мой взгляд, довольно

ненужный атрибут,

обозначающий приведение

текста по высоте - обычный 

(прописные  и строчные буквы) 

или smallcaps (строчные буквы 

как малые  прописные).

Записывается  так:

 

span {font-variant: smallcaps} span

{font-variant: normal}

 

... а выглядит так:

 

... Председатель призвал зал  к 

тишине. "А теперь... Выступит

заведующий Транспортным

отделом"

... Председатель призвал зал  к 

тишине. "А теперь... Выступит

заведующий Транспортным

отделом"

 

Font-Weight

 

Вес (жирность) шрифта. Вообще

говоря, может принимать 

числовые значения от 100 до

800, или же именованные: normal,

bold, bolder, lighter. Однако 

значения, отличные от bold и 

normal, как правило, внешним 

видом друг от друга не

отличаются (во всяком случае,

на экране монитора в окне

браузера). Возможно, при 

использовании CSS для 

форматирования  печатных

документов  результат будет 

виден хотя бы на печати. В 

любом случае лучше 

индивидуально все это 

проверять для данного браузера

и конкретной программы вывода

на печать. Выглядят же

различные градации жирности

Информация о работе Введение в CSS