ОСНОВЫ CSS: ЗНАТЬ ОБЯЗАТЕЛЬНО

 

Oсновным понятием CSS является стиль – т. е. набор правил оформления и форматирования, который может быть применен к различным элементам страницы. В стандартном HTML для присвоения какому-либо элементу определенных свойств (таких, как цвет, размер, положение на странице и т. п.) приходилось каждый раз описывать эти свойства, даже если на одной страничке должны располагаться 10 или 110 таких элементов, ничуть не отличающихся один от другого. Вы должны были десять или сто десять раз вставить один и тот же кусок HTML-кода в страничку, увеличивая размер файла и время загрузки на компьютер просматривающего ее пользователя.

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

Более того, вы можете сохранить описание стиля не в тексте вашей странички, а в отдельном файле – это позволит использовать описание стиля на любом количестве Web-страниц. Потрясающе удобно! И еще одно, связанное с этим, преимущество – возможность изменить оформление любого количества страниц, исправив лишь описание стиля в одном (отдельном) файле.

Кроме того, CSS позволяет работать со шрифтовым оформлением страниц на гораздо более высоком уровне, чем стандартный HTML, избегая излишнего утяжеления страниц графикой.

Давайте рассмотрим, как мы можем воплотить столь замечательные возможности в жизнь.

Практическое освоение CSS

Как вам уже известно, информация о стилях может располагаться либо в отдельном файле, либо непосредственно в коде Web-странички. Расположение описания стилей в отдельном файле имеет смысл в случае, если вы планируете применять эти стили к большему, чем одна, количеству страниц. Для этого нужно создать обычный текстовый файл, описать с помощью языка CSS необходимые стили, разместить этот файл на Web-сервере, а в коде Web-страниц, которые будут использовать стили из этого файла, нужно будет сделать ссылку на него. Делается это с помощью тега <LINK>, располагающегося внутри тега <BODY> ваших страниц:

<LINK REL=STYLESHEET TYPE="text/css" HREF="URL">

Первые два параметра этого тега являются зарезервированными именами, требующимися для того, чтобы сообщить броузеру, что на этой страничке будет использоваться CSS. Третий параметр – HREF= «URL» – указывает на файл, который содержит описания стилей. Этот параметр должен содержать либо относительный путь к файлу – в случае, если он находится на том же сервере, что и документ, из которого к нему обращаются – или полный URL («http://...») в случае, если файл стилей находится на другом сервере.

Второй вариант, при котором описание стилей располагается в коде Web­странички, внутри тега <BODY>, в теге <STYLE type="text/css">... </STYLE>. В этом случае вы можете использовать эти стили для элементов, располагающихся в пределах странички. Параметр type="text/css" является обязательным и служит для указания броузеру использовать CSS.

И третий вариант, когда описание стиля располагается непосредственно внутри тега элемента, который вы описываете. Это делается с помощью параметра STYLE, используемого при применении CSS с большинством стандартных тегов HTML. Этот метод нежелателен, и понятно почему: он приводит к потере одного из основных преимуществ CSS – возможности отделения информации от описания оформления информации. Впрочем, если необходимо описать лишь один элемент, этот вариант расположения описания стилей также вполне применим.

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

НАЗВАНИЕ_ЭЛЕМЕНТА {свойство: значение;},

Где НАЗВАНИЕ_ЭЛЕМЕНТА – имя HTML­тега (H1, P, TD, A и т. д.), а параметры в фигурных скобках – список свойств элемента и присвоенных им значений. Более подробно команды языка CSS мы рассмотрим чуть позже.

 

Пример1:

H1 {font-size: 30pt; color: blue;}

В этом примере всем заголовкам на странице, оформленным тегом Н1, присваивается размер шрифта 30 пунктов и синий цвет.

Также элементы страниц, созданные с использованием CSS, используют механизм наследования: т. е. если вы располагаете изображение внутри тега <P>...</P>, оформленного с помощью CSS, с отступами, так, чтобы параграф занимал только определенную часть ширины страницы, изображение также унаследует значения отступов, указанные для этого параграфа.

CSS реализует возможность присваивать стили не всем одинаковым элементам страницы, а избирательно – для этого используется параметр CLASS = "имя класса" или идентификатор ID=«имя элемента», присваивающиеся любому элементу страницы. Рассмотрим эти возможности подробнее.

 

Пример2 ( в данном примере,  сперва в body мы идентифицировали блок div, назначив ему имя, а затем прописали его стили в head :

 

head

<STYLE type="text/css">

#nameofstyle {font-size: 14px;}

</STYLE>

</head>

<body>

<div id="nameofstyle"> текст </div>

<body>

 

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

Пример3:

  .b-с {font-weight: bold; text-align: center}
  – описание стиля для класса b-с

Все элементы класса b-с будут отображаться жирным шрифтом с выравниванием по центру страницы (или ячейки таблицы).

  <P CLASS="b-с">Текст параграфа</P>
– параграфу присвоен стиль класса b-с.

  <TD CLASS="b-c">текст</TD>
– ячейке таблицы присвоен стиль класса b-c.

Содержащийся в ячейке текст будет отображаться согласно описанию класса.

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

Присвоение стилей с помощью идентификаторов применяется в случае, если данному идентификатору соответствует только один элемент на странице. Если элементов, которым необходимо присвоить такой стиль, несколько – это уже класс.

Свойства элементов,
управляемых с помощью CSS

В настоящее время язык CSS насчитывает довольно большое количество свойств элементов HTML, которыми он может управлять. Но из-за того, что этот стандарт еще очень молод, в полном объеме его пока не поддерживают наиболее популярные броузеры (Netscape Navigator и Microsoft Internet Explorer). Последние версии этих броузеров могут работать с довольно большим количеством команд CSS, а вот 3-и версии или совсем не поддерживают его (Netscape Navigator 3), или поддерживают, но лишь частично (Microsoft IE 3). Более того, поскольку разработчики из этих компаний никак не могут договориться между собой, последние версии броузеров поддерживают неодинаковый набор свойств CSS. Все это делает малоприемлемым использование CSS в полном объеме, так как, при использовании CSS для форматирования элементов страницы и просмотре ее с помощью броузера версии ниже 4­й, есть большая вероятность увидеть нечто такое, что вам не понравится. Поэтому будет разумнее воздержаться от использования CSS для форматирования основной структуры страниц до всеобщего перехода на последние версии броузеров. В то же время, применяя «безопасные», т. е. совместимые с максимальным количеством броузеров элементы CSS, вы можете сильно облегчить себе жизнь и сделать ваши Web-странички более привлекательными в плане шрифтового оформления, а пользователи, путешествующие по Internet с помощью устаревших броузеров, просто этого не увидят, но также они не увидят и тех кошмаров, которые появляются при использовании CSS для верстки страниц.

СВОЙСТВА ШРИФТА

font-family

Используется для указания шрифта или шрифтового семейства, которым будет отображаться элемент.
P {font-family: Times New Roman, sans-serif;}

font-weight

Определяет степень жирности шрифта с помощью трех параметров: lighter, bold, bolder
B {font-weight: bolder;}

font-size

Устанавливает размер шрифта. Параметр может указываться как в относительной (проценты), так и абсолютной величине (пункты, пикселы, сантиметры)
H1 {font-size: 200%;}
H2 {font-size: 150px;}
H3 {font-size: 400pt;}

font-style

Стиль шрифта. Два вариатна отображения: normal (обычный) и italic (курсив)
H1 {font-style: normal;}
H2 {font-style: italic;}

РАСПОЛОЖЕНИЕ

display

Задаем тип элемента: block (блочный) или inline (инлайновый)
img {display: block;} Картинка по умолчанию - инлайновый (или строчный элемент). Прописав этот код мы меняем ее на блочный элемент. Что иногда бывает удобно, т.к. после этого к ней можно применять блочные параметры.

float

Устанавливает размер шрифта. Параметр может указываться как в относительной (проценты), так и абсолютной величине (пункты, пикселы, сантиметры)
img1 {float: left;}
img2 {float: right;}
img3 {float: none;}

position

Параметр управления расположением блока.
Н1 {position: static;} Обычное расположение блока.
Н2 {position: absolute;} Блок находится на странице не зависимо от других блочных элементов.
Н3 {position: relative;} Позиция блока отсчитывается от исходного
Н4 {position: fixed;}  Блок не прокручивается ползунком, всегда находится в одном и том же месте экрана.

visibility

Параметр отображения блока.
Н1 {visibility: visible;} Блок виден.
Н2 {position: hidden;} Блок невиден.

z-index

Наложение одного блока на другой.
Н1 {z-index: 2;} Чем больше число тем выше окажется блок.

ФОН И РАМКА

color

Определяет цвет элемента
H1 {color: yellow;}

background-image

Устанавливаем на фон картинку. Причем, прописываем путь не от страницы, где она будет находится, а от файла стиля.
P {background-image:url(/photo.jpg);}

background-attachment

Параметр отвечающий за прокручивание или фиксацию фона.
P {background-attachment: scroll;} Прокручивание.
P {background-attachment: fixed;} Фиксация.

background-color

Цвет фона
P {background-color: green;}

background-position

Выравнивание изображения
P {background-position: left-top;}
P {background-position: center-bottom;}
P {background-position: 20px 50px;}

background-repeat

Размножение изображения
P {background-repeat: repeat;} Размножение по горизонтали и вертикали.
P {background-repeat: no-repeat;} Не размножать.
P {background-repeat: repeat-x;} Размножать только по горизонтали.
P {background-repeat: repeat-y;} Размножать только по вертикали.

border

Цвет, толщина и стиль границы. Все три значения обязательные.
P {border: red 1px solid;} Сплошная рамка красного цвета толщиной в 1 px.
P {border: red 1px dotted;} Штрихпунктирная рамка красного цвета толщиной в 1 px.
P {border: red 1px dashed;} Точечная.
P {border: red 1px hidden;} Спрятать линии.
Можно записать так:
P {border-color: red;}
P {border-width: 1px;}
P {border-style: solid;}

Рамка с одной стороны:
P {border-top: green 3px solid;}

СВОЙСТВА АБЗАЦА

text-decoration

Устанавливает эффекты оформления шрифта, такие, как подчеркивание или зачеркнутый текст

H4 {text-decoration: underline;}
A {text-decoration: none;}
.wrong {text-decoration: line-through;}

text-align

Определяет выравнивание элемента.
P {text-align: justify}
H1 {text-align: center}

text-indent

Устанавливает отступ первой строки текста. Чаще всего используется для создания параграфов с табулированной первой строкой.
P {text-indent: 50pt;}

line-height

Управляет интервалами между строками текста.
P {line-height: 50px;}

letter-spacing

Расстояние между буквами по горизонтали. Значение - в единицах измерения или normal
P {letter-spacing: 5px;}

white-space

Параметр отвечающий за восприятие пробелов.
P {white-space: pre;} воспринимается каждый пробел, т.е. если в коде стоит три пробела, то и броузер будет отображать три пробела.
P {white-space: normal;} Обычное восприятие пробелов, т.е. любое количество пробелов броузер отобразит как один.
P {white-space: norap;} Неразрывные пробелы.

margin

Отступ внешний, т.е. от рамки до содержимого обтекающего рамку. Значения - в единицах измерения.
P {margin:10px;} со всех сторон одинаковый отступ
P {margin:10px 3px 5px 5px;} Сверху - 10px, справа - 3px, снизу - 5рх и слева - 5рх. Тоже самое можно записать так
P {margin-top:10px;}
P {margin-right:3px;}
P {margin-bottom:5px;}
P {margin-left:5px;}

padding

Внутренний отступ, от рамки до ее содержимого. Значения параметров те же, что у margin. Если рамка невидимая, то лучше использовать этот параметр, т.к. он лучше воспринимается броузерами.

ЕДИНИЦЫ ИЗМЕРЕНИЯ

px

Пикселы

cm

Сантиметры

mm

Миллиметры

pt

Пункты (типограф.)

%

Проценты

em

Размер, привязанный к стандартному размеру броузера

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

Указывая абсолютные, а не относительные размеры шрифтов, вы лишаете людей, просматривающих ваши странички, возможности увеличивать или уменьшать размер шрифтов с помощью специальной кнопочки в броузере в соответствии с разрешением их дисплея и зрением. Шрифты будут отображаться только такого размера, который вы указали при написании странички.

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

Есть еще одна небольшая, но очень полезная хитрость – это способ скрыть от устаревших броузеров описания стилей, располагающихся в теге <STYLE>, внутри раздела<HEAD>. Поскольку броузер был написан несколько лет назад, когда никакого CSS еще и в планах не было, он просто не поймет, что это такое написано внутри <STYLE>…</STYLE>, и выдаст все описания стилей на страничку, как обычный текст. Для того чтобы предотвратить это, необходимо заключить описания стилей в тег комментариев. Делается это очень просто.

<HEAD>
<STYLE type="text/css">
<!--
описания стилей
-- >
</STYLE>
</HEAD>

где
<!--  – тег, открывающий комментарий, а 
­­> – закрывающий.

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

Еще один из интересных вариантов применения CSS скрывается за, казалось бы, простой возможностью: вы можете указывать значения отступов вокруг объектов, как отрицательные величины! Это позволяет накладывать один слой текста на другой и получать весьма интересные и привлекательные результаты.

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

Создадим новый html-файл и составим описание стилей для трех объектов:

<HEAD>
<STYLE type="text/css">
BODY {font-family: Verdana; font-size: 70pt; font-weight: bold;}
.z1 { color: silver; margin-top: 100px; margin-left: 70px;}
.z2 {color: navy; margin-top: -118px; margin-left: 68px;} 
</STYLE>
</HEAD>

В этом описании мы присвоили <BODY> (впрочем, это мог быть практически любой другой тег) размер, шрифт и начертание – в таком стиле будут отображаться все элементы страницы. Это было сделано лишь ради стремления уменьшить размер файла странички, вместо этого можно было описать эти параметры дважды: для каждого из классов z. Далее мы описываем два стиля, которые отличаются цветом и размером отступов вокруг них: нижний слой описывается стилем z1, а верхний – z2. Используя отрицательные значения отступов и подбирая нужное значение, мы добиваемся того, что верхний слой как бы наползает на предыдущий...

<BODY bgcolor=white>

<DIV class="z1">EC-NET</DIV>
<DIV class="z2">EC-NET</DIV>

</BODY>

Откроем наш любимый Web-редактор Notepad и создадим файл с будущим названием styles.css (название файла может быть любым). Опишем в этом файле стиль параграфа <P>, который будет использоваться на всех страничках нашего сайта:

P {
font-family: Times New Roman, serif; 
color: #000000; 
margin-left: 15%; 
margin-right: 15%; 
margin-top: 1pt; 
margin-bottom: 1pt;
text-indent: 1cm; 
text-align: justify;
}

Внутри описания стиля для удобства форматирования вы можете использовать любое количество пробелов и переносов строк – при чтении стиля броузер просто отбросит все лишние пробелы.

В этом стиле мы задали, что параграфы <P> на всех страничках, которые используют это описание, будут отображаться шрифтом Times New Roman или в случае, если этот шрифт на машине не установлен, другим шрифтом, но из этого семейства (serif). Цвет шрифта мы установили черный, выравнивание – полное (по обеим сторонам).

Также мы установили для параграфа ряд значений отступов. Это было сделано со следующей целью: по умолчанию параграф в HTML отображается равным практически 95 % страницы и с интервалами между параграфами, равными 180 % межстрочного интервала. Читать такие параграфы не очень удобно, так как интервалы между ними слишком велики, а ширина параграфа слишком большая. Посмотрите на журнал, который вы сейчас держите в руках: текст сверстан в колонки для того, чтобы его было удобнее читать. В стиле параграфа, который мы создали, установлены боковые отступы в 15 % ширины окна и вертикальные отступы в 1 пункт – так текст статьи будет гораздо читабельнее.

Давайте так же создадим стиль для заголовков статей:

H2 {
font-family: Verdana, Arial Cyr, Arial;
font-weight: bold;
font-size: 14pt; 
color: black;
margin-left: 20%; 
margin-top: 1cm; 
text-align: left;
}

Все заголовки наших страниц, оформленные тегом <H2>, будут отображаться жирным шрифтом Verdana или, если этот шрифт не установлен, шрифтом Arial. Размер заголовка мы установим равным 14 пунктам, цвет черный, отступ слева равен 20 % ширины страницы, а отступ сверху – 1 см. Заголовок будет выравниваться относительно левого края страницы.

 

Содержание   Лекция2

Hosted by uCoz