Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Разработка сайта с использованием CSS
Оглавление:
1. Кратко про CSS.
2. Основы.
3. Расширение свойств тегов.
4. Способы определения стилей.
5. Классы и идентификаторы.
6. Работа со шрифтами.
7. Свободное позиционирование.
8. Свойства блоков текста.
9. Примеры использования.
Кратко про CSS.
Под термином CSS мы понимаем фразу "Каскадные Таблицы Стилей". Они внедряются в HTML-код и не требуют никаких специальных редакторов и компиляторов, ведь интерпретируются оные обычным броузером.
Каскадные таблицы стилей представляют собой описания различных HTML-элементов и созданы они для расширения свойств последних. Впервые стили были предложены WWW Consorcium'ом в рамках разработки спецификации HTML 3.0, однако реально эту шнягу стали поддерживать только в 1997 году. Насладиться CSS имели возможность лишь счастливые обладатели таких броузеров, как Netscape Navigator 4.0 и Internet Explorer 4.0.
На этом с историческими фактами позвольте завязать и приступить непосредственно к делу. CSS открывает нам новые, ранее неизвестные и недоступные грани. С их помощью мы получаем возможность более изысканно оформить свой Web-сайт, придать ему новые черты и симпатичное лицо.
Синтаксис CSS довольно прост в изучении, поэтому освоение каскадных стилей является делом достаточно легким, но весьма и весьма полезным. Для того, чтобы не оказаться голословным, я хочу привести небольшой пример. Возьмем типичную таблицу HTML и поставим атрибут border="1". После интерпретации данного кода броузером мы получим самый обыкновенный результат, к которому привык наш опытный глаз. Другое дело, что таблицы подобного рода не совместимы ни с одним мало-мальски хорошим дизайном. Ну куда годится эта псевдо-трехмерная линия, представляющая собой границу? Вот тут и приходят на помощь CSS, по средствам которых можно без лишнего гемора оформить любую таблицу на свой вкус.
Рассмотрим небольшой пример:
<STYLE TYPE=”text/css”>
Описание стилей форматирования
</STYLE>
В контейнер тэгов <STYLE> заключены описания различных элементов. Атрибут TYPE указывает тип стилей, но является необязательным. Тем не менее, во избежание всяких казусов, рекомендуется ставить оный, в виду того, что старые броузеры могут неправильно отобразить CSS.
Чаще всего каскадные таблицы располагаются в шапке документа, но здесь имеются исключения. Возможно, некоторые из вас видели такие файлы, как, например, pupok.css. Служат они для того, чтобы не перенасыщать страницу CSS-кодом, загружая оный из этих самых файлов.
Основы.
Как же описывать свойства некоторых элементов страницы? На самом деле, в этом нет ничего сложного, и самый примитивный случай присвоения стилей выглядит так:
имя элемента {свойство: значение;}
Здесь «имя элемента» - это название какого-либо HTML-тэга, чьи свойства мы желаем задать. Для простоты и наглядности я возьму элемент BODY и попытаюсь с помощью стилей сделать фон страницы зеленым. Конечно, такой шаг в Web-дизайне просто не допустим, но мы с вами только учимся.
Нижеследующий код заключен в шапке документа, то есть между тэгами <HEAD> и </HEAD>. Я не стал приводить полный листинг Web-страницы, чтобы вам легче было разобраться:
<STYLE TYPE=”text/css”>
BODY {background-color: green;}
</STYLE>
Попробуйте загрузить данный код в браузере, и вы увидите, что фон действительно стал ядовито-зеленым. В качестве цвета не обязательно указывать полное название последнего. Как и в обычном HTML вы можете прибегнуть к таблице RGB.
Из примера видно, что, хотя мы описывали тэг <BODY>, в стилях он прописан без ограничителей < и >. И действительно, если вы поставите данные знаки, то броузер будет пребывать в замешательстве, воспринимая <BODY>, как элемент тела, а не описываемый тэг.
При работе со стилями необходимо помнить, что не все пользователи Сети имеют современные броузеры. Такие динозавры не смогут правильно интерпретировать CSS-код, и обязательно сделают какую-нибудь пакость, испортив тем самым ваше творение. Но не стоит отчаиваться и пускать на клавиатуру сопли, ведь от такого поведения есть лекарство, имя которому «комментарии». Перепишем нашу каскадную таблицу следующим образом:
<STYLE TYPE=”text/css”>
<!--
BODY {background-color: green;}
-->
</STYLE>
При таком раскладе, старые броузеры пропустят все содержимое стилей, а новые выполнят их, так как они понимают, что в данном случае комментарии несут иной смысл.
Расширение свойств тэгов.
Простейший пример описания тэга BODY иллюстрирует лишь самую первую ступень нашего изучения. Мы смогли окрасить страницу в зеленый цвет, однако ту же проблему можно было решить и без применения стилей. Теперь я хочу показать вам, как с помощью CSS расширяются свойства тэгов. Для начала рассмотрите такой пример:
<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
BODY {background-color: gray;}
H1 {background-color: blue;
Text-align: center;}
-->
</STYLE>
</HEAD>
<BODY>
<H1>Это заглавие</H1>
</BODY>
</HTML>
Посмотрите, что у нас получилось. Конечно, с точки зрения дизайна, это безобразный кусок вонючей субстанции, но уже здесь вы можете лицезреть те преимущества, которые дает нам CSS:
Начнем с того, что мы смогли задать фоновый цвет элемента H1. То же самое можно проделать и с другими уровнями H, а также с P и прочими тэгами. Размер текста был определен свойством Font-size, значение которого можно указать, как в процентах, так и в пикселях, например
Способы определения стилей.
Теперь настало время поговорить о способах определения стилей. До нынешнего урока, CSS мы объявляли в специальном контейнере <STYLE>, но это не всегда удобно.
Стиль можно определить внутри какого-либо HTML-тэга. Выглядит это следующим образом:
---
<P style=”text-align: center; font-style: italic;
---
Как видите, такой способ очень неудобен, а ко всему прочему здесь происходит засорение кода, что приводит к большему торможению вашего сайта. Таким образом, я советую вам избегать CSS в этом виде и юзать более рациональные методы.
В первом уроке я уже упоминал о том, что каскадные стили можно загружать из внешнего файла. Как это делается? Давайте посмотрим:
---
<Link href=”style.css” type=”text/css” rel=”stylesheet”>
---
Последний атрибут дает понять броузеру, что содержимое файла style.css ничто иное, как таблицы стилей. Такой способ очень удобен и является одним из самых предпочтительных. Style.css это текстовый файл, содержащий только описания элементов. Здесь не должно быть никаких контейнеров и тэгов. Могу привести пример:
P {text-indent: 15;
Установку стилей для одного тэга можно применять многократно. Если мои слова для вас пустой звук, то взгляните на очередной пример:
Font, P {
Предположим, что в некотором файле style.css, вы определили свойство P {color: blue;}, но вам необходимо сделать цвет абзаца другим. В таком случае, при постановке стилей в контейнере <Style> и разметке P{color: red;}, цвет будет одинаково красным во всех абзацах, то есть свойство, определенное в файле замещается.
Классы и идентификаторы.
Существуют еще 2 способа определения стилей, а именно: через классы и идентификаторы. Давайте поговорим о каждом из них подробней.
Предположим, вам необходимо задать свойства для тэга P, но каждый абзац должен быть отличным от предыдущего. Достигнуть данной цели известными нам способами невозможно, вот тут-то и приходят на помощь классы. Давайте посмотрим на очередной листинг:
<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
p.one {background-color: #D6D2DD; font-style: regular;
</STYLE>
</HEAD>
<BODY>
<P class="one">CSS имеет очень простой синтаксис, но открывает нам новые грани, недоступные при стандартной HTML-верстке.
<P class="two">Зная CSS, вы сможете создать по-настоящему красивый сайт, надеюсь, что моя книга поможет вам в обучении.
<P class="three"> Не забывайте просматривать исходники других сайтов, разбор которых поможет вам приобрести необходимый опыт.
</BODY>
</HTML>
Прежде чем детально разобрать изложенное, посмотрите, что из этого получилось:
Как видите, в данном случае описываемый элемент разделен на 2 сектора: тэг.имя-класса. У каждого класса есть свои свойства, которые вы задаете в фигурных скобках. Для того чтобы CSS вступили в действие, необходимо вызвать класс в тэге, который вы описывали. Делается это с помощью атрибута class=”имя-класса”. Это очень удобный способ, который применяется почти повсеместно.
Иногда возникают случаи, когда требуется создать класс, не привязанный к определенному тэгу. В предыдущем случае имя .one принадлежало элементу P, но такая ситуация не всегда приемлема. В этих случаях определение тэга нужно опустить. Взгляните на пример:
<STYLE>
.one {color: green;}
.two {color: blue;}
</STYLE>
После объявления стилей, их необходимо вызвать. В нашем случае, классы становятся очень гибкими, и вызывать их можно в любом тэге с атрибутом class=”…”. К примеру:
<HTML>
<HEAD>
<STYLE TYPE="text/css">
.one {color: green;}
.two {color: blue;}
</STYLE>
</HEAD>
<BODY>
<Div class="one">Текст, написанный зеленым цветом.
<P class="two">Абзац, написанный синим цветом.
<HR class="one">
</BODY>
</HTML>
А вот и скрин того, что у меня получилось:
На этом с классами покончено (в хорошем смысле слова). Плавно переходим к идентификаторам…
Объект нашего разбора применяется не столь часто, как изученные выше классы, однако пренебрегать им не стоит. Любой идентификатор начинается с префикса #id. Ну, например:
---
#idFontArial {font-family: Arial;}
---
Затем вызываем идентификатор:
---
<P id=idFontArial>Шрифт с гарнитурой Arial</P>
---
Теперь можно сделать глубокий выдох мы изучили все способы определения стилей!
Свободное позиционирование.
В данном уроке мы поговорим о позиционировании элементов. Если в HTML Web-мастер не имеет возможности тыкать текст, куда угодно (без применения таблиц), то CSS решает проблему и делает это весьма эффективно. Существует специальный параметр, имя которому Position. Он может принимать 2 значения, а именно: absolute и relative. В первом случае мы задаем абсолютное положение элемента, а во втором его место относительно начального. Кто-то из вас уже орет: «ты ваще сам понял, что сказал?», но другими словами выразиться непросто. Предлагаю вам рассмотреть один достаточно примитивный листинг и поэкспериментировать с ним:
<HTML>
<HEAD>
<Style>
.1 {position: absolute; top: 37; left:17;}
.2 {position: absolute; top: 40; left:20; color: red;}
</Style>
</HEAD>
<BODY>
<H1 class="1">Это заглавие.</H1>
<H1 class="2">Это заглавие.</H1>
</BODY>
</HTML>
И результат:
Работа со шрифтами.
CSS предоставляет нам широкие возможности для работы со шрифтами. Первое свойство, с которым вам предстоит познакомиться это font-size. Вы могли заметить, что данный параметр нам уже встречался, однако мы не имели чести познакомиться со значениями оного. Давайте исправим обидный ляпсус:
Large крупный.
X-large крупнее.
XX-large самый крупный.
Medium средний.
Small маленький.
X-small меньше.
XX-small самый маленький.
Кроме того, никто не мешает нам применять относительные значения. Всего их два: larger и smaller. Они изменяют размер текста относительно базового.
Следующее свойство выглядит так: font-family. Оно задает гарнитуру применяемого шрифта, однако применять эту шнягу не стоит, в виду того, что у пользователя его может не быть. Параметр font-family имеет следующий синтаксис:
---
{font-family: шрифт1, шрифт2, …}
---
Следующий параметр текущего урока:
---
{font-style: стиль;}
---
Ну а значения его таковы:
Italic курсив.
Normal обычный.
Ну и последний параметр:
---
{font-weight: стиль;}
---
И значения:
Bold жирный.
Bolder жирнее.
Lighter тоньше.
Свойства блоков текста.
Для начала давайте уясним, что под термином «блок текста», понимается, прежде всего, абзац. Определяется оный, как вы помните, тэгом P, имеющим одно скупое свойство align=”…”. Непорядок, да? CSS предоставляет нам огромные возможности для работы с абзацами, и этой актуальной теме я решил посвятить текущий урок.
Давайте рассмотрим несколько параметров, а затем перейдем к примеру, наглядно иллюстрирующему все изученное.
Line-height задает межстрочное расстояние. Например, p {line-height: 50px;}
Text-decoration эта штука позволяет немного приукрасить текст. Какие значения принимает свойство? Давайте посмотрим:
Приведу такой пример: p {text-decoration: overline;}
Text-transform преобразовывает символы текста тем или иным образом. Значения:
Text-align - уже знакомое нам свойство, определяющее выравнивание текста. Значения, как вы уже знаете, выглядят следующим образом:
Text-Indent задает красную строку от левого края. Значение можно указать, как в пикселях, так и в процентах.
Margin-left задает величину левого поля. (Расстояние между блоком текста и его соседями)
Margin-right задает величину правого поля.
Margin-top задает величину верхнего поля.
Margin-bottom задает величину нижнего поля.
Margin задает величину всех полей.
Например: p {margin: top right bottom left;}
Вместо top right bottom left нужно поставить значения в пикселях или процентах.
Padding-top задает внутреннее поле (расстояние между текстом и рамкой, его обрамляющей. Как задать рамку смотрите ниже).
Padding-right правое внутреннее поле.
Padding-bottom нижнее внутреннее поле.
Padding-left левое внутреннее поле.
Paddings общее значение всех внутренних полей. Имеет тот же синтаксис, что и Margin.
Border задает рамку, обрамляющую абзац. Имеет такой вид:
border: color style width;
Но бывают (и очень часто) такие случаи, когда необходимо задать свойства для каждой части рамки (левой, правой, нижней и верхней). В таком случае, параметр border по известным причинам не покатит. Тогда можно использовать следующие свойства:
Border-top-width ширина верхней границы.
Border-bottom-width ширина нижней границы.
Border-left-width ширина левой границы.
Border-right-width ширина правой границы.
Border-width ширина всей границы.
Следует отметить, что все перечисленные параметры работают только в том случае, когда указан стиль рамки. Совершить сей благородный поступок можно, применив следующее свойство:
Border-style задает стиль рамки. Значения имеет следующие:
Border-color задает цвет границы. Использовать можно и для отдельной линии, например, так: p {Border-left-color: green;}
Теперь вы знаете очень много параметров, применимых к абзацам и не только. Взять тот же border. Догадайтесь, где еще его можно использовать? Правильно в таблицах! Давайте рассмотрим очередной пример:
<HTML>
<HEAD>
<TITLE>Свойства блоков</TITLE>
<Style type="text/css">
<!--
p.dagger {border-width: 2;
border-style: dotted;
border-left-color: green;
border-right-color: red;
border-top-color: blue;
border-bottom-color: black;
padding: 5;}
p.nedagger {background-color: #F3F5F4;
text-align: justify;
text-indent: 20;
line-height: 1;
color: red;
font-weight: bold;}
Table.rulez {border: black solid 1px;}
-->
</Style>
</HEAD>
<BODY>
<P class="dagger"> Хреновина, конечно бесполезная, но зато красивая!!!!!!
<P class="nedagger">Это тоже ничего!</P>
<Table class="Rulez">
<TR>
<TD>Вот такая вот красивая таблица! Только из-за возможности подобным образом оформлять блоки, необходимо изучать CSS!</TD>
<TR>
</Table>
</BODY>
</HTML>
А выглядит это так:
По-моему, вышло очень даже красиво, как считаете? Мы не рассмотрели последний атрибут: background-image: имя_файла;
Например:
P {background-image: pupok.gif;}
Примеры:
>>> Цвет линий прокрутки:
<style type="text/css">
BODY {SCROLLBAR-FACE-COLOR: #959BBD;
SCROLLBAR-HIGHLIGHT-COLOR: #000000;
SCROLLBAR-SHADOW-COLOR: #000000;
SCROLLBAR-3DLIGHT-COLOR: #FFFFFF;
SCROLLBAR-ARROW-COLOR: #000000;
SCROLLBAR-TRACK-COLOR: #D5DBE6;
SCROLLBAR-DARKSHADOW-COLOR: #CCCECE;}
</style>
>>> Свойства форм:
INPUT.ok {BORDER-RIGHT:#F1F2F3 1px solid;
BORDER-TOP: #F1F2F3 1px solid;
MARGIN: 6px 0px 4px;
FONT: bold 11px tahoma;
BORDER-LEFT: #F1F2F3 1px solid;
COLOR: #ffffff;
BORDER-BOTTOM: #F1F2F3 1px solid;
BACKGROUND-COLOR:#95ACBF}
INPUT.textarea {BORDER-RIGHT: #000000 1px solid;
BORDER-TOP: #000000 1px solid;
FONT: 11px verdana;
BORDER-LEFT: #000000 1px solid;
WIDTH: 120px;
BORDER-BOTTOM: #000000 1px solid}