Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




CSS (Cascading Style Sheets - Каскадные таблицы стилей) – это технология описания внешнего вида документа, написанного языком разметки. Основная идея CSS состоит в том, чтобы отделить описание логической структуры документа (HTML) от его внешнего вида(CSS). Чтобы поменять отображение сайта, достаточно изменить описание стиля. Один и тот же документ с помощью CSS можно отобразить различными способами, например: на экран, печать, голосом, шрифтом Брайля.

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

CSS используется как средство оформления веб-страниц в формате HTML и XHTML, но может применяться с любыми видами документов в формате XML.

Способы включения каскадных таблиц стилей

CSS можно включить в HTML-документ четырьмя способами:

Встраивание стиля (inline styles) с помощью атрибута style. Стиль встраивается непосредственно в один из тегов HTML – документа в свойстве style этого тега. Например:

<p style="font-size: 21px; color: green;">текст</p>

<span style="color:red; background-color:yellow;

font-variant:small-caps">Красный текст на желтом фоне,

маленькими заглавными буквами.</span>

Кроме приведенных в примере тегов, стили часто встраиваются в теги h, body.

Считается, что способ встраивания стиля нарушает идеологию CSS.

Внедрение таблицы стилей в заголовок HTML документа (embedded style sheet) с помощью тега style. При этом CSS-стили располагаются между открывающим и закрывающим тегами style. Тег <style> размещается в заголовке HTML-документа между тегами <head> и </head> и содержит определения стилей для всего HTML-документа:

<head>

<style type="text/css">

<!—описание стиля-->

</style>

</head>

Связывание с внешней таблицей стилей. Если предполагается использовать один стиль для нескольких страниц документа или нескольких документов, можно описать стиль в отдельном файле с расширением.CSS, например style.css. Для подключения стилевого файла используется тег <link>, расположенный внутри тега <head>.

<head>

<link rel="stylesheet" type="text/css" href="style.css" />

</head>

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

Импортирование - добавление внешней таблицы стилей при помощи правила @import. В отличие от HTML-тега <link> правило @import является языковой конструкцией CSS и добавляется в элемент style:

<head>

<style type=”text/css”>

@import "style.css";

</style>

</head>

Свойство @import таблицы стилей следует задавать в начале стилевого блока или связываемой таблицы стилей перед заданием остальных правил. Значением свойства @import является URL файла, содержащего таблицы стилей. Импортирование - позволяет встраивать в документ таблицу стилей, расположенную на сервере.

Таблицы стилей не чувствительны к регистру. Текстовые комментарии в таблицах стилей оформляются так же, как и в языке Си:

h1{ color: red } /* color is red */

Стили

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

Selector{ Property1: value1 value2; Property2: value3 value4; Property3: value5 value6;}Селекторы правил CSS могут быть селекторами элементов (тегов HTML), селекторами классов, селекторами псевдоклассов, селекторами идентификаторов, селекторами потомков и др.

В фигурных скобках после селектора задаются значения свойств. Если у свойства несколько значений, то значения отделяются друг от друга пробелами. Описания свойств отделяются друг от друга точкой с запятой.

Селектором может быть любой элемент HTML, например

html {color: black;}

p {color: red;}

h2 {font-size: 110 %;}

Рассмотрим пример использования таблицы стилей, определяющей стиль заголовков первого уровня h1:

<html>

<head>

<style type=text/css>

h1 {font-weight:bold; color:red;}

</style>

</head>

<body>

<h1>Жирный заголовок красного цвета </h1>

</body>

<html>

Ниже приводится пример более сложного кода CSS, встраиваемого в теги HTML, в том числе в теги body и html.

<DOCTYPE html>

<html>

<head>

<title>Пример css, встраиваемого в HTML страницу</title>

<style type="text/css">

<!-- body { color: gold; background: blue; font: bold 14px comic sans ms; text-align: justify; margin: 10px; } -->

html {color: black; }

p {color: red;}

h1{font-family: arial; font-weight: bold; font-size: 14pt; color:green;}

h2{font-family: arial; font-size: 110 %; color:black;}

</style>

Текст из раздела Head

</head>

<body>

<h1>Примеры CSS - это заголовок H1</h1>

<p>

пример кода CSS, встраиваемого в HTML страницу. <br>

Этот код должен располагаться внутри элемента head. Селектором является тег body

</p>

<h2>Примеры CSS - это заголовок H2</h2>

Этот текст имеет вид, определенный таблицей стилей: золотые буквы на голубом фоне, <br>жирный шрифт Comic Sans MS размером 14 пикселей и выровненный по обоим краям с <br> отступами со всех сторон 10 пикселей.

</body>

</html>

По традиции для совместимости со старыми браузерами, не понимающими CSS содержимое элемента <style> могут заключать в комментарий <!-- -->. Новые браузеры поймут, что в комментариях заключена таблица стилей и подключат ее. В старых браузерах содержимое не будет отображено в окне браузера. В таблицу стилей можно ставить любое количество пробелов и переносов строк, браузер оставит столько, сколько нужно.

Значения свойств, являющихся адресами устанавливается следующим образом: url(адрес).

Группирование. Если двум селекторам присваивается одинаковое определение, то их можно записывать через запятую:

h1, h2 {

font-family: arial

}

Если селектор имеет несколько определений:

h1{font-weight:bold} h1 {font-size: 14pt}

то они записываются через точку с запятой:

h1 {font-weight: bold; font-size: 14pt;}

Наследование. При определении стиля элемента, вложенные элементы наследуют свойства головного элемента. Например, если в параграфе <p> задается красный цвет шрифта, то выделенный с помощью <b> текст также будет красным:

<p style=”color: red;”>Внутри параграфа с красным цветом текста, <b>выделенный текст</b> наследует цвет головного тега.</p>

Наследование удобно использовать для описания свойств элементов по умолчанию. Для этого достаточно описать стиль тега <body>, порождающего остальные элементы документа.

При сложении стилей приоритет имеют атрибуты, определенные в более конкретном стиле. Стили в порядке убывания конкретности: <body>, остальные теги html, CSS – классы, комбинированные стили, встроенные стили.

CSS- Классы

Чтобы иметь возможность отображать одни и те же элементы в разных случаях по-разному, необходимо использовать классы. Это позволяет для каждого тега использовать несколько стилей. Свойства класса присваиваются данному тегу с помощью атрибута class: class="classname". Имя класса и его свойства должны быть определены в виде селектора класса:

.classname{свойства}

Это можно продемонстрировать на следующем примере:

<html>

<head>

<title>Использование классов</title>

<style type="text/css">

html{color:green;}

.font1 {

color: yellow;

background: red;

}

.font2 {

color: blue;

background: yellow;

}

</style>

</head>

<body>

<span class="font1">Желтый текст на красном фоне</span>

<span class="font2">Синий текст на желтом фоне</span>

А здесь цвет фона и текста заданы тегом HTML

<table class="font2" border="2">

<tr>

<td>Это ячейка1 </td>

<td>это ячейка2</td>

</tr>

</table>

</body>

</html>

В примере определены два класса «font1» и «font2» задающие цвет фона и изображения. Эти классы были затем применены к тегу <span>. Свойства класса, могут быть присвоены любому тегу, который обладает свойствами, описанными в классе. Например, класс font2 может быть применен к таблице:

<table class="font2">

Если необходимо поменять стиль выделения текста с помощью класса

.select{color:red;}

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

.select{ font-size: 9pt; color:green }

Начинающийся с точки класс определяет универсальный класс, который может быть применен к любому тегу при помощи конструкции:

<p class=select>Накладываем стиль на этот текст</p>

Если необходимо определить класс не для любого, а только для конкретного тега, то используется конструкция:

имя_тега.имя_класса {свойства}

Класс, определенный таким образом, сработает только в том теге, для которого он предназначен, а для всех остальных будет проигнорирован. Это так называемые теговые классы:

p.small { font-size: 9pt; }

<p class=small>Этот текст будет выведен стилем small</p>

Рассмотрим, например, случай когда нам нужно часть текста выделить красным. Определим класс select для тега <span>:

 

<html>

<head>

<title>Использование классов</title>

<style type="text/css">

span.select {color: red;}

</style>

</head>

<body>

Здесь мы выделили <span class="select">часть текста красным.</span>

</body>

</html>

Значением class может быть множественный класс-список слов, разделенный пробелами. Например:

<p class=”urgent warning”>Опасность! Предупреждение!</p>

Чтобы выделить курсивом все элементы, атрибут class которых имел значение ”urgent warning”, нужно описать множественный класс следующим образом:

.warning.urgent {font-style: italic;}

Объединяя 2 селектора класса, можно выбрать только те элементы, которые имеют оба имени класса, стоящие в любом порядке.

В каких тегах лучше определять стили посредством класса? Чаще всего для этого используется одна из следующих конструкций:

<p class="big">Что-то</p>

<td class="big">Что-то</td>

<div class="big">Что-то</div>

<span class="big">Что-то</span>

Тег <div> подобен <span>, но только с тем отличием, что делает до и после себя отбивку (так же, как и <p>). Стиль текста, которым набрано основное содержимое странички, лучше всего сделать переопределением тега <p>, а не определением отдельного класса.

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

p, td { font-size: 9pt; color:green;}

Селекторы идентификаторов (ID-селекторы)

ID-селекторы используются для определения уникальных частей веб-страницы. При объявлении стиля перед ID-селектором ставится #:

#green {color: green;}

Затем HTML элементу, подлежащему форматированию, присваивается соответствующее значение атрибута id:

<p id=”green”>Text</p>.

Символы “#” и ”.” используются только при описании стилей в таблицах. При вставке имени идентификатора или класса в HTML-теги их указывать не нужно!

Что использовать – классы или идентификаторы? Для стиля, используемого неоднократно, применяются классы. Идентификаторы используются, когда необходимо определить разделы страницы, которые встречаются один раз.

Теги div, span и link

Элементы <span> и <div> используются для структурирования документа, часто совместно с атрибутами class и id. Элемент <span> ничего не добавляет к содержимому документа. Но, в сочетании с CSS, <span> может использоваться для визуальных эффектов применимо к отдельным блокам текста. Пример

<p>Если ты умный, почему не здоровый и не богатый </p>

<p> Если ты умный, то <span class="benefit">здоровый</span>,

и<span class="benefit">богатый</span> </p>

span.benefit {

color:red;

}

Пример. Использование тега <span>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Тег SPAN</title>

<style type="text/css">

BODY {

font-family: Arial, sans-serif; /* Рубленый шрифт */

}

.letter {

color: red; /* Красный цвет символов */

font-size: 200%; /* Размер шрифта в процентах */

font-family: serif; /* Шрифт с засечками */

position: relative; /* Относительное позиционирование */

top: 5px; /* Сдвиг сверху */

}

</style>

</head>

<body>

<p><span class="letter">Р</span>азумные люди приспосабливаются к окружающему миру.

Неразумные люди приспосабливают мир к себе. Вот почему прогресс определяется действиями неразумных людей.</p>

<p>Бернард Шоу</p>

</body>

</html>

В то время как <span> используется в элементах уровня блока, <div> применяется для группирования блок-элементов. Посмотрим на пример - два списка президентов США, сгруппированных по их политической принадлежности:

#democrats {

background:blue;

}

#republicans {

background:red;

}

<div id="democrats">

<ul>

<li>Франклин Д. Рузвелт</li>

<li>Джон Ф. Кеннеди</li>

<li>Билл Клинтон</li>

</ul>

</div>

<div id="republicans">

<ul>

<li>Роналд Рейган</li>

<li>Джордж Буш</li>

<li>Джордж У. Буш</li>

</ul>

</div>

 

Тег link довольно активно используется разработчиками сайтов для установки связи между HTML документом и CSS файлом:

<link rel="stylesheet" href="/s.css" type="text/css" media="all" />

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

<head>

<link rel="start" href="/" />

<link rel="search" href="/Search/" />

<link rel="author" href="/About/" />

</head>

Свойства шрифтов (фонтов).





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 862 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

2489 - | 2164 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.