sonyps4.ru

Введение в CSS. Как работает CSS? Используйте правило CSS transform для получения интересных эффектов при наведении курсора мыши на элемент

Presenting a document to a user means converting it into a usable form for your audience. Browsers , like , or Internet Explorer , are designed to present documents visually, for example, on a computer screen, projector or printer.

How does CSS affect HTML?

Web browsers apply CSS rules to a document to affect how they are displayed. A CSS rule is formed from:

  • A set of properties , which have values set to update how the HTML content is displayed, for example, I want my element"s width to be 50% of its parent element, and its background to be red .
  • A selector , which selects the element(s) you want to apply the updated property values to. For example, I want to apply my CSS rule to all the paragraphs in my HTML document .

A set of CSS rules contained within a stylesheet determines how a webpage should look. You will learn a lot more about what CSS syntax looks like in the next article of the module - CSS Syntax .

A quick CSS example

The above descriptions may or may not have made sense, so let"s make sure things are clear by presenting a quick example. First of all, let"s take a simple HTML document, containing an

and a element represents a paragraph.">

(notice that a stylesheet is applied to the HTML using a element):

My CSS experiment

Hello World!

This is my first CSS example

Now let"s look at a very simple CSS example containing two rules:

H1 { color: blue; background-color: yellow; border: 1px solid black; } p { color: red; }

The first rule starts with an h1 selector, which means that it will apply its property values to the

element. It contains three properties and their values (each property/value pair is called a declaration ):

  1. The first one sets the text color to blue.
  2. The second sets the background color to yellow.
  3. The third one puts a border around the header that is 1 pixel wide, solid (not dotted, or dashed, etc.), and colored black.

The second rule starts with a p selector, which means that it will apply its property values to the element represents a paragraph.">

element. It contains one declaration, which sets the text color to red.

In a web browser, the code above would produce the following output:

This isn"t too pretty, but at least it starts to give you an idea of how CSS works.

Active learning: Writing your first CSS

Now we"ll give you a chance to write your own bit of CSS. You can do this using the Input areas below, in the live editable example. In a similar fashion to what you saw above, you"ve got some simple HTML elements and some CSS properties. Try adding some simple declarations to your CSS, to style the HTML.

If you make a mistake, you can always reset it using the Reset button. If you get really stuck, press the Show solution button to see a potential answer.

Playable code

HTML Input

CSS Input

Output

var htmlInput = document.querySelector(".html-input"); var cssInput = document.querySelector(".css-input"); var reset = document.getElementById("reset"); var htmlCode = htmlInput.value; var cssCode = cssInput.value; var output = document.querySelector(".output"); var solution = document.getElementById("solution"); var styleElem = document.createElement("style"); var headElem = document.querySelector("head"); headElem.appendChild(styleElem); function drawOutput() { output.innerHTML = htmlInput.value; styleElem.textContent = cssInput.value; } reset.addEventListener("click", function() { htmlInput.value = htmlCode; cssInput.value = cssCode; drawOutput(); }); solution.addEventListener("click", function() { htmlInput.value = htmlCode; cssInput.value = "h1 {\n color: blue;\n background-color: yellow;\n border: 1px solid black;\n}\n\np {\n color: red;\n}\n\nli {\n text-shadow: 2px 2px 3px purple;\n}"; drawOutput(); }); htmlInput.addEventListener("input", drawOutput); cssInput.addEventListener("input", drawOutput); window.addEventListener("load", drawOutput);

How does CSS actually work?

When a browser displays a document, it must combine the document"s content with its style information. It processes the document in two stages:

  1. The browser converts HTML and CSS into the (Document Object Model ). The DOM represents the document in the computer"s memory. It combines the document"s content with its style.
  2. The browser displays the contents of the DOM.

About the DOM

A DOM has a tree-like structure. Each element, attribute and piece of text in the markup language becomes a DOM node in the tree structure. The nodes are defined by their relationship to other DOM nodes. Some elements are parents of child nodes, and child nodes have siblings.

Understanding the DOM helps you design, debug and maintain your CSS because the DOM is where your CSS and the document"s content meet up.

DOM representation

Rather than a long, boring explanation, let"s take an example to see how the DOM and CSS work together.

Let"s assume the following HTML code:

In the DOM, the node corresponding to our

Element is a parent. Its children are a text node and the nodes corresponding to our elements. The SPAN nodes are also parents , with text nodes as their children:

P ├─ "Let"s use:" ├─ SPAN | └─ "Cascading" ├─ SPAN | └─ "Style" └─ SPAN └─ "Sheets"

This is how a browser interprets the previous HTML snippet -it renders the above DOM tree and then outputs it in the browser like so:

Applying CSS to the DOM

Let"s say we added some CSS to our document, to style it. Again, the HTML is as follows:

Let"s use: Cascading Style Sheets

If we apply the following CSS to it:

Span { border: 1px solid black; background-color: lime; }

The browser will parse the HTML and create a DOM from it, then parse the CSS. Since the only rule available in the CSS has a span selector, it will apply that rule to each one of the three spans. The updated output is as follows:

How to apply your CSS to your HTML

There are three different ways to apply CSS to an HTML document that you"ll commonly come across, some more useful than others. Here we"ll briefly review each one.

External stylesheet

You"ve already seen external stylesheets in this article, but not by that name. An external stylesheet is when you have your CSS written in a separate file with a .css extension, and you reference it from an HTML element. The HTML file looks something like this:

My CSS experiment

Hello World!

This is my first CSS example

Представление документа пользователю значит его конвертацию в понятную для пользователя форму. Браузеры , такие как Firefox , Chrome или Internet Explorer , предназначены для представления документов визуально, например, на экране компьютера, проектора или принтера.

Как CSS влияет на HTML?

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

  • Набора свойств , которые имеют значения, устанавливающие, как будет отображаться содержимое(HTML), Например Я хочу, чтобы ширина элемента равнялась 50% ширины родительского элемента, и его фон был красным .
  • Селектор , который выбирает (англ. selects) элемент/элементы, к которым вы хотите применить измененные значения. Например, Я хочу применить это CSS-правило ко всем параграфам в моем HTML-документе .

Набор правил CSS, содержащихся в таблице стилей(stylesheet), определяет, как должна выглядеть веб-страница. Более подробно о синтаксисе CSS вы узнаете в следующей статье модуля - .

Краткий пример CSS

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

и определяет собой абзац текста.">

(заметьте, что таблица стилей применяется к HTML с использованием элемента ):

Мой эксперимент с CSS

Hello World!

Это мой первый CSS-пример

Теперь давайте посмотрим на очень простой пример CSS, содержащий два правила:

Первое правило начинается с селектора h1 , который означает, что оно будет применено к элементу

. Оно содержит три свойства и три значения(каждая пара свойство/значение называется объявление ):

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

Второе правило начинается с селектора p , который значит, что оно применится к элементу определяет собой абзац текста.">

. Оно содержит одно объявление, которое меняет цвет текста на красный.

Приведенный выше код в браузере отобразится вот так:

Это не очень красиво, но показывает, как работает CSS.

Активное обучение: Пишем наш первый CSS

Сейчас мы дадим вам возможность написать свой первый CSS. Вы можете сделать это, используя поле ввода, расположенное ниже, и увидеть это на живом редактируемом примере. У нас есть некоторые простые элементы HTML, а также некоторые свойства CSS. Так же, как показано выше, попробуйте добавить простые объявления в CSS, чтобы определить стиль HTML.

Если вы сделаете ошибку, вы всегда можете сделать сброс, используя кнопку Reset. Если вы чувствуете, что застряли, можете нажать "Показать решение", чтобы посмотреть решение.

Playable code

HTML Input

CSS Input

Output

var htmlInput = document.querySelector(".html-input"); var cssInput = document.querySelector(".css-input"); var reset = document.getElementById("reset"); var htmlCode = htmlInput.value; var cssCode = cssInput.value; var output = document.querySelector(".output"); var solution = document.getElementById("solution"); var styleElem = document.createElement("style"); var headElem = document.querySelector("head"); headElem.appendChild(styleElem); function drawOutput() { output.innerHTML = htmlInput.value; styleElem.textContent = cssInput.value; } reset.addEventListener("click", function() { htmlInput.value = htmlCode; cssInput.value = cssCode; drawOutput(); }); solution.addEventListener("click", function() { htmlInput.value = htmlCode; cssInput.value = "h1 {\n color: blue;\n background-color: yellow;\n border: 1px solid black;\n}\n\np {\n color: red;\n}\n\nli {\n text-shadow: 2px 2px 3px purple;\n}"; drawOutput(); }); htmlInput.addEventListener("input", drawOutput); cssInput.addEventListener("input", drawOutput); window.addEventListener("load", drawOutput);

Как на самом деле работает CSS?

Когда браузер отображает документ, он совмещает содержимое документа с информацией о стиле. Он обрабатывает документ в два этапа:

  1. Браузер конвертирует HTML и CSS в DOM (англ. Document Object Model ). DOM представляет документ в память компьютера и применяет к содержимому стили.
  2. Браузер отображает содержимое DOM.

О DOM

DOM имеет древовидную структуру. Каждый элемент, атрибут и кусочек текста в языке разметки представляется как узел DOM в этой структуре. Узлы определяются их отношением к другим DOM-узлам. Элементы могут иметь потомков, а потомки могут иметь братские(соседние) элементы.

Понимание DOM поможет вам в проектировании, отладке и поддержке вашего CSS, потому что DOM это место, в котором CSS встречается с содержимым документа.

Представление DOM

Вместо долгих и скучных объяснений давайте рассмотрим пример, который покажет, как DOM и CSS работают вместе.

Давайте рассмотрим представленный HTML-код:

В DOM узел, соответствующий элементу

Является родителем. Его дети являются текстовыми узлами и соответствуют элементу . Узлы SPAN также являются родителями, а их потомки -- текстовые элементы:

P ├─ "Let"s use:" ├─ SPAN | └─ "Cascading" ├─ SPAN | └─ "Style" └─ SPAN └─ "Sheets"

После интерпретации DOM-дерева браузером на выходе мы получим вот это:

Применение CSS к DOM

Let"s use: Cascading Style Sheets

Мы применим к нему этот CSS:

Span { border: 1px solid black; background-color: lime; }

Браузер проанализирует HTML и создаст DOM из него, а затем разберется с CSS. Поскольку у нас есть только одно правило, описывающее селектор span,то оно будет применено ко всем узлам документа с этим селектором. На выходе получим это.

Как применить ваш CSS к вашему HTML

Есть три различных варианта применения CSS к HTML-документу, которые встречаются чаще всего. Здесь мы рассмотрим каждый из них.

Внешняя таблица стилей

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

My CSS experiment

Hello World!

This is my first CSS example

Добавим CSS-файл:

H1 { color: blue; background-color: yellow; border: 1px solid black; } p { color: red; }

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

Внутренняя таблица стилей

Внутренняя таблица стилей содержится внутри элемента содержит стилевую информацию для документа или его части. По умолчанию стилевые инструкции внутри этого элемента считаются написанными на CSS.">

Hello World!

This is my first CSS example

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

Встроенные стили

Встроенные стили - это объявление CSS, которое применимо только к одному элементу, и содержится в атрибуте style :

My CSS experiment

Hello World!

This is my first CSS example

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

Единственный случай, когда вам, возможно, придется прибегнуть к использованию встроенных стилей, это когда ваше рабочее окружение устанавливает ограничения (например, ваша CMS позволяет только редактировать HTML)

Что дальше

На этом этапе вы должны были понять, как работает CSS, и как с ним работают браузеры. Далее, вы узнаете о

CSS дает широкие возможности по оперированию стилем текста. Можно влиять на шрифт, цвет, размер и другие свойства текста.

Так как эта страница расчитана на новичков, то сначала напомним базовый синтаксис CSS и используемую терминологию.

Каждое правило CSS состоит из селектора и определения. Селектор - обычно это тег, к которому мы применяем наш стиль, а определение - это само стилевое отображение. Определение состоит из свойства и его значения. Например: свойство - цвет, значение - красный.

Синтаксис CSS следующий:

селектор { свойство: значение }

Пример правила CSS:

p { color : blue }

Отображать текст синим цветом. Одному селектору можно указать несколько пар (свойство: значение).

p { color : blue ; font-size : 10pt }

В этом примере задано правило тегу

Отображать текст синим цветом и размером 10pt. То есть тут мы имеем две пары (свойство: значение) применённые к одному селектору, в данном случае к тегу абзаца

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

Свойства шрифта

Если не указывать это свойство в CSS, то броузер будет показывать текст шрифтом по умолчанию. Обычно это Times New Roman.

Список шрифтов в значении font-family может включать одно или несколько названий, разделенных запятой. Если в имени шрифта содержатся пробелы, например, Trebuchet MS, оно должно заключаться в кавычки, одинарные или же двойные.

Браузер поочерёдно проверяет наличие шрифтов из списка на компьютере пользователя. Если первый шрифт в списке есть, то используется он, иначе браузер проверяет наличие второго шрифта из списка. Если ни одного нет, используется шрифт по умолчанию. В конце списка обычно прописывают ключевые слово, которое описывает тип желаемого шрифта - serif, sans-serif, fantasy, cursive или monospace.

Универсальные семейства шрифтов:

  • serif - антиквенные шрифты (шрифты с засечками), типа Times;
  • sans-serif - рубленные шрифты (шрифты без засечек или гротески), типичный представитель - Arial;
  • monospace - моноширинные шрифты, ширина каждого символа в таком семействе одинакова (шрифт Courier).
  • fantasy - семейство декоративных шрифтов;
  • cursive - семейство курсивных шрифтов;

Пример с использованием:

Пример использования font-family

Заголовок h1

Заголовок h2

Следующее свойство:

Пример кода, в этом примере встроим стили в тег при помощи атрибута style.

Пример использования font-style

Пример нормального шрифта.

Пример курсива.

Пример наклонного шрифта.

Видно что курсив от наклонного шрифта внешне не отличается.

Следующее свойство:

Капитель - так в типографике называется текст, в котором строчные знаки выглядят, как уменьшенные прописные. Следует различать капитель и просто уменьшенные прописные буквы. Капительные буквы несколько выше строчных и имеют, как правило, чуть расширенные пропорции.

Пример использования font-variant

Обычный текст. Текст капителью.

Опять обычный текст.

Следующее свойство:

Свойство font-weight устанавливает насыщенность шрифта. Для этого в значении используются ключевые слова: bold - полужирное начертание, normal - нормальное начертание. Значение может быть установленно в диапазоне от 100 до 900 с шагом 100. Сверхсветлое начертание, которое может отобразить браузер, имеет значение 100, а сверхжирное - 900. Нормальное начертание шрифта (normal, которое установлено по умолчанию) соответствует 400, стандартный полужирный текст, bold, - значению 700.

Браузеры обычно не могут точно показать требуемую насыщенность шрифта, поэтому переключаются между значениями bold , normal и lighter . На практике же начертание в большинстве браузеров обычно ограничено только двумя вариантами: нормальное начертание и жирное начертание.

Значения lighter и bolder изменяют жирность шрифта относительно насыщенности родителя, соответственно, в меньшую и большую сторону.

Пример использования font-weight

Обычный текст. Текст bold.

Опять обычный текст.

Следующее свойство:

Свойство font-size - определяет размер шрифта элемента. Размер шрифта можно задать несколькими способами.

Абсолютный размер кегля шрифта может задаваться с использованием ключевых слов: xx-small (крайне малый), small (малый), medium (средний, значение по умолчанию), large (большой), x-large (очень большое), xx-large (крайне большое). Абсолютные размеры шрифта зависят от настроек браузера и операционной системы, так что они не совсем абсолютны.

Для изменения размера текста относительно родителя используется другой набор констант (larger - увеличивает размер относительно родительского, smaller - уменьшает размер).

Пример использования font-size.

Обычный текст.

Текст xx-small. Текст larger.

Текст small.

Текст medium.

Текст large.

Текст x-large.

Текст xx-large.

Опять обычный текст.

Текст 150%.

Текст 15px. Текст larger.

Свойства текста

Кроме работы со шрифтами, CSS даёт ряд инструментов для работы с свойствами самого текста.

Рассмотрим первое свойство:

При установке межстрочного интервала отчёт идёт от базовой линии шрифта. По умолчанию расстояние между строками текста зависит от вида и размера шрифта и определяется браузерами автоматически. Отрицательное значение интерлиньяжа не допускается.

Работа с межстрочным интервалом

Обычный текст. Первая строка.
Вторая строка.
Третья строка.

Изменённый текст. Первая строка.
Вторая строка.
Третья строка.

При процентной записи за 100% берется высота шрифта.

Следующее свойство:

При помощи определения { text-decoration : none } можно убирать подчеркивание у ссылок, которое устанавливается в браузерах по умолчанию.

Работа с свойством text-decoration.

Поисковик Google.

Следующее свойство:

Свойство text-transform - управляет отображением букв, можно устанавливать заглавные или прописные символы в зависимости от выбранного значения.

Свойство text-transform
Свойство Значение Описание Пример
text-transform none
capitalize
uppercase
lowercase
Убрать все эффекты
Начинать С Прописных
ВСЕ ПРОПИСНЫЕ
все строчные
text-transform: uppercase

Пример использования:

Работа с свойством text-transform.

Текст none.

Текст capitalize.

Текст uppercase.

Текст lowercase.

Сравните текст который содержится в html-коде с текстом в окне браузера.

Следующее свойство:

Свойство text-align - служит для выравнивания текста по горизонтали окна браузера или контейнера, в котором расположен блок текста.

Свойство text-align
Свойство Значение Описание Пример
text-align left
right
center
justify
Выравнивание текста text-align: right

Подробное описание значений:

  • center - текст выравнивается по центру.
  • justify - выравнивание по ширине, фактически это выравнивание по правому и левому краю одновременно, между словами текста образовываются пустые места, которые браузер заполняет пробелами.
  • left - выравнивание по левопу краю. Это значение используется по умолчанию.
  • right - выравнивание по правому краю.

Пример использования этого свойства будет совмещён с примером работы следующего свойства.

Следующее свойство:

Свойство text-indent - служит для создания величины отступа первой строки блока текста (например, для абзаца

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

Свойство text-indent
Свойство Значение Описание Пример
text-indent значение
%
Отступ первой строки text-indent: 15px;
text-indent: 10%
Работа со свойствами text-align и text-indent.

Работа со свойствами text-align и text-indent. Для лучшего понимания работы кода откройте страницу в новом окне и уменьшите его размер.

Сохраните эту страницу для тестирования приведенных ниже примеров.

Библиотека jQuery предоставляет ряд удобных специализированных методов, значительно упрощающих работу со стилями CSS. Одним из наиболее широко используемых методов такого рода является метод css() , краткое описание которого приведено в таблице ниже:

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

$(function() { var sizeVal = $("label").css("font-size"); console.log("Размер шрифта: " + sizeVal); $("label").css("font-size", "1.5em"); });

В этом сценарии мы выбираем все элементы label, получаем с помощью метода css() значение свойства font-size и выводим его на консоль. Затем мы вновь выбираем все элементы label и присваиваем новое значение этого же свойства всем элементам.

Несмотря на то что в сценарии используется фактическое имя свойства (font-size), а не его запись с применением регистра, т.е. форма записи, в которой это свойство определено в объекте HTMLElement (свойство fontSize), оно также воспринимается корректно, поскольку jQuery поддерживает оба варианта.

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

Установка для свойства значения в виде пустой строки ("") равносильна удалению этого свойства из атрибута style данного элемента.

Установка одновременно нескольких свойств CSS

Существуют два способа одновременной установки нескольких CSS-свойств. Первый из них - это формирование цепочки вызовов метода css(), как показано ниже:

$(function() { $("label").css("font-size", "1.5em").css("color", "blue"); });

В этом сценарии устанавливаются значения свойств font-size и color. Того же эффекта можно добиться, используя объект отображения, как показано в примере ниже:

$(function() { var cssVals = { "font-size": "1.5em", "color": "blue" }; $("label").css(cssVals); });

Оба варианта сценария приводят к одному и тому же результату, показанному на рисунке:

Установка относительных значений

В качестве аргументов метод css() может принимать также относительные значения. Они представляют собой числовые значения, которым предшествуют знаки += и -= и которые добавляются или вычитаются из текущего значения. Этот прием можно использовать лишь в отношении числовых величин. Соответствующий пример приведен ниже:

$(function() { $("label:odd").css("font-size", "+=5") $("label:even").css("font-size", "-=5") });

Относительные значения выражаются в тех же единицах, что и значения свойств. В данном случае размер шрифта увеличивается на 5 пикселей для нечетных элементов label и уменьшается на ту же величину для четных. Результат показан на рисунке:

Установка свойств с помощью функции

Можно устанавливать значения свойств динамически, передавая функцию методу css(). Соответствующий пример приведен ниже:

$(function() { $("label").css("border", function(index, currentValue) { if ($(this).closest("#row1").length > 0) { return "thick solid red"; } else if (index % 2 == 1) { return "thick double blue"; } }); });

Аргументами, передаваемыми функции, являются индекс элемента в наборе и текущее значение свойства. Переменная this ссылается на объект HTMLElement, соответствующий элементу, а функция возвращает значение, которое требуется установить.

Использование специализированных методов для работы со свойствами CSS

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

Методы для работы с конкретными свойствами CSS
Метод Описание
height() Возвращает высоту (в пикселях) первого из элементов, содержащихся в объекте jQuery
height(значение) Устанавливает высоту для всех элементов, содержащихся в объекте jQuery
innerHeight() Возвращает внутреннюю высоту (т.е. высоту элемента, включая внутренние отступы, но исключая границы и поля) первого из элементов, содержащихся в объекте jQuery
innerWidth() Возвращает внутреннюю ширину (т.е. ширину элемента, включая внутренние отступы, но исключая границы и поля) первого из элементов, содержащихся в объекте jQuery
offset() Возвращает координаты первого из элементов, содержащихся в объекте jQuery, относительно начала документа
outerHeight(логическое_значение) Возвращает высоту первого из элементов, содержащихся в объекте jQuery, включая внутренние отступы и границы. Аргумент определяет, должен ли при этом учитываться размер полей
outerWidth(логическое_значение) Получает ширину первого из элементов, содержащихся в объекте jQuery, включая внутренние отступы и границы. Аргумент определяет, должен ли при этом учитываться размер полей
position() Возвращает координаты первого из элементов, содержащихся в объекте jQuery, относительно его родительского элемента, у которого задан тип позиционирования
scrollLeft(), scrollTop() Получает значение отступа прокрутки слева или сверху для первого из элементов, содержащихся в объекте jQuery
scrollLeft(значение), scrollTop(значение) Устанавливает значение отступа прокрутки слева или сверху для всех элементов, содержащихся в объекте jQuery
width() Получает ширину первого из элементов, содержащихся в объекте jQuery
width(значение) Устанавливает ширину для всех элементов, содержащихся в объекте jQuery
height(функция), width(функция) Устанавливает высоту или ширину всех элементов, содержащихся в объекте jQuery, с помощью функции

Названия большинства этих методов говорят сами за себя, однако некоторые из них нуждаются в дополнительных пояснениях. Методы offset() и position() возвращают объект, имеющий свойства top и left , которые указывают положение элемента. Пример использования метода position() приведен ниже.

Урок 2. Работа с каскадными таблицами стилей (CSS)

Цель: ознакомиться c работой каскадных таблиц стилей (CSS).

Задачи:

  • Научиться присоединять внешнюю таблицу стилей.
  • Научиться создавать новое правило стиля CSS.
  • Научиться применять стиль к своей странице.
  • Научиться устанавливать пользовательские классы.
  • Научиться использовать порожденные селекторы.

В результате выполнения данной лабораторной работы у вас должна получиться такая веб-страница (рисунок 2.1):

Рисунок 2.1 - Предварительный просмотр веб-страницы

Присоединение внешней таблицы

При современном веб-дизайне большинство стилей CSS хранится во внешних таблицах стилей CSS. Следовательно, все страницы сайта должны быть связаны ссылками с соответствующими внешними таблицами стилей.

1. Если на экране не видно панели Files , выберите Window => Files (Окно => Файлы).

2. Дважды щелкните по Lab2 => about-start.html на панели Files , что-бы открыть страницу в окне Document (рисунок 2.2).

Рисунок 2.2 - Шаблон about-start.html

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

3. Выберите File => Save As и сохраните эту страницу в папке Lab2, используя имя about.html. Следующим заданием будет присоединить внешнюю таблицу стилей к текущей странице.

4. При необходимости выберите Window => CSS Styles (Окно => Стили CSS). Щелкните по кнопке Attach Style Sheet (Присоединить таблицу стилей) на панели CSS Styles .

5. После открытия диалогового окна Attach External Style Sheet (Присоединить внешнюю таблицу стилей) (рисунок 2.3) щелкните по кнопке Browse . Перейдите к Lab2 в диалоговом окне Select Style Sheet File (Выбрать файл таблицы стилей) и выберите mystyles.css . Щелкните по кнопке OK .

Рисунок 2.3 - Диалоговое окно Attach External Style Sheet

6. Убедитесь в том, что в диалоговом окне Attach External Style Sheet выбрана опция Add as: Link (Добавить как: Ссылка). Выберите экран во всплывающем меню Media (Мультимедиа). Щелкните по кнопке ОК .

7. Как вы могли заметить, вид страницы значительно изменился, а изобра-жение заднего плана в верхнем колонтитуле из урока 1 теперь исполь-зуется в нижнем колонтитуле. Нижняя часть страницы отображается в виде двух столбцов.

8. Выберите File => Save .

Создание новых правил CSS

Правило CSS состоит из двух основных частей: селектора и одного или более свойств.
Например, в правиле CSS, приведенном ниже, селектором является тег hi, а свойствами —color: red (цвет: красный) и font-size: З6рх (размер шрифта: 36 рх):

font-size: 36 px;

В Dreamweaver вы создаете стили в среде «указать и нажать», а программа пишет за вас соответствующий код. По мере того как у вас будет появляться больше опыта по работе с CSS, вы сможете вручную писать CSS с помощью программы Dreamweaver.

1. Убедитесь, что на панели стилей CSS выбран режим All ; если для панели установлен режим Current (Текущий), щелкните по кнопке All . Щелкните по кнопке (+), расположенной после mystyles.css, чтобы расширить ее

2. В окне Document поместите курсор на текст заголовка «Познакомьтесь с нашим персоналом.». Выберите , используя селектор тегов внизу окна Document .

3. Щелкните по New CSS Rule внизу таблицы стилей CSS .

4. После открытия диалогового окна New CSS Rule (Создать правило CSS) дважды щелкните по кнопке Less Specific (Менее точно), чтобы выбрать селектор #mainContent h1. Щелкните по кнопке ОК . (рисунок 2.4)

Рисунок 2.4 - Диалоговое окно New CSS Rule

5. Убедитесь, что в диалоговом окне CSS Rule Definition for #mainCon-tent hi in mystyles.css (Определение правила CSS для #mainContent hi в mystyles.css) выбрана категория Type ; в противном случае выберите Туре в столбце Category слева от диалогового окна (рисунок 2.5).

6. Выберите Georgia, Times New Roman, Times, serif во всплывающем меню набора шрифтов Font-family

7. Используйте «пипетку» в поле Color , чтобы выбрать темно-синий цвет в левом углу графического заголовка. Необходимым цветом является #345FA3, хотя значение цвета немного отличается. Если вам нужен именно такой цвет, то вместо использования «пипетки» введите #345FA3 в поле Color. Щелкните по кнопке ОК .

Рисунок 2.5 - Диалогове окно CSS Rule Definition

Вы изменили семейство шрифтов и цвет для #mainContent . Если вы добавите в область mainContent еще один тег

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

8. Установите курсор на абзац «Вид из окон нашего офиса.» внизу окна Document , выберите

в селекторе тегов.

9. Щелкните по New CSS Rule внизу панели CSS Styles .

10. После открытия диалогового окна New CSS Rule щелкните два раза по опции Less Specific (Менее точно), чтобы выбрать #sidebarl р. Щелкните по кнопке ОК .

11. Выберите Туре в столбце Category (Категория). В поле размера шрифта Font-size введите 80 и выберите во всплывающем меню %, Во всплывающем меню стиля шрифта Font выберите курсив (italic) (рисунок 2.6).

Рисунок 2.6 - Диалогове окно CSS Rule Definition (Type)

12. Выберите категорию Box (Рамка) в области Category . Снимите флажок Same for all (Одинаково для всех) в области Margin (Отступ). Введите 0 в поле Тор (Верхняя сторона). Щелкните по кнопке ОК (рисунок 2.7).

Рисунок 2.7 - Диалогове окно CSS Rule Definition (Box)

С помощью категории Box можно контролировать невидимые рамки, окружающие элементы, определяя значения ширины, высоты, заполнения, полей и иные свойства. Обычно это называется боксовой моделью. Если бы для дизайна потребовался такой же объем полей вокруг селектора, вы бы выбрали флажок Same for all (Одинаково для всех) и указали значение в поле Тор , которое также применялось бы и к полям Right (Правая сторона), Bottom (Нижняя сторона) и Left (Левая сторона). Значения заполнения и полей могут быть одними и теми же или отличаться для каждой стороны рамки, окружающей элемент. Также допускаются отрицательные значения.

13. Выберите File => Save As .

14. Выполните предварительный просмотр изменений в режиме отображения Live или в браузере.

Обратите внимание на изменения, которые внесли в заголовок

и в абзац под изображением Екатеринбурга. Внизу списка All Rules было добавлено два новых правила; в этом списке отражена очередность правил CSS в таблице стилей. Дизайнеры часто любят группировать соответствующие стили, чтобы их было проще найти. Порядок правил в таблице стилей также влияет на значимость каждого правила в каскадной записи. Вы можете быстро переместить любой стиль в другое место, a Dreamweaver перепишет за вас код.

15. Переместите недавно добавленный стиль #mainContent hi на панели стилей CSS под.twoColFixLtHdr #mainContent

16. Переместите #sidebarl p под.twoColFixLtHdr #sidebarl.

17. Выберите File => Save All (Файл => Сохранить все), чтобы сохранить изменения файлов HTML и CSS.

Установка пользовательских классов

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

1. Щелкните по иконке New CSS Rule внизу панели CSS Styles . Откроется новое диалоговое окно CSS Rule .

2. Выберите Class (Класс) во всплывающем меню Selector Туре (Тип селектора) (может применяться к любому элементу HTML) и введите «.пате» в поле Selector Name (Имя селектора). Включите основной период. Если вы забудете про это, Dreamweaver сама вставит данную информацию, но лучше не забывать.

3. Убедитесь, что всплывающее меню Rule Definition (Определение правила) установлено на mystyles.css, и щелкните по кнопке ОК (рисунок 2.8).

Рисунок 2.8 - Диалоговое окно New CSS Rule

4. Выберите Type в диалоговом окне CSS Rule Definition for .name in mystyles.css столбца Category . Выберите small-caps (малые прописные буквы) во всплывающем меню варианта шрифта и щелкните по кнопке ОК .

Рисунок 2.9 - Диалоговое окно CSS Rule Definition (Type)

5. Выберите File => Save All .

Выполняя эти действия, вы не заметите каких-либо изменений в программе Dreamweaver, только в список All Rules (Все правила) панели CSS Styles будет добавлена одна запись.

Применение стилей

1. Выделите первый экземпляр имени Елена.

Рисунок 2.10 - Выделение имени

2. Выберите.name из списка Targeted Rule (Целевое правило) панели Properties .

3. Обратите внимание, что выбранный текст оказался набранным заглавными буквами, а индикатор селектора тегов включает имя класса . Класс был добавлен к выбранному тексту по-средством использования тега .

4. Чтобы закончить работу со страницей, снова выделите первый экземпляр имени каждого человека, а затем примените класс.name.

5. Выполните предварительный просмотр страницы в режиме отображения Live или в браузере.

Обратите внимание, что в режиме отображения Live или в браузере форматирование шрифта отображается соответствующим образом.

Рисунок 2.11 - Просмотр в режиме Live

6. Выберите File => Save .

Применение определяемых пользователем классов к разделам страницы

Посредством Dreamweaver вы можете легко вставлять в документ разделы страницы или теги

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

1. Используйте курсор, чтобы выделить изображение Елены и абзац (рисунок 2.12).

Рисунок 2.12 - Пример выделения

2. Выберите Layout (Макет) на панели Insert . В зависимости от конфигурации рабочей области меню Insert может отображаться на линейке или на панели (рисунок 2.13).

Рисунок 2.13 - Меню Макет

3. Выберите Insert Div Tag (Вставить тег Div). Откроется диалоговое окно Insert Div Tag (рисунок 2.14).

4. Убедитесь, что опция Insert установлена на Wrap around selection (Обтекание вокруг выбранного объекта). Введите «.profile» в поле Class .

Рисунок 2.14 - Диалоговое окно Insert Div Tag

5. Щелкните по кнопке New CSS Rule .

6. ведите «.profile» в поле Selector Name . Проверьте, чтобы новое правило во всплывающем меню Rule Definition (Определение правила) находилось в файле mystyles.css. Щелкните по кнопке ОК (рисунок 2.15).

Рисунок 2.15 - Диалоговое окно New CSS Rule

7. Выберите Box в диалоговом окне CSS Rule Definition for .profile mystyles.css столбца Category . Выберите right (правая) во всплывающем меню Clear (Чистый) (рисунок 2.16).

Рисунок 2.16 - Диалоговое окно CSS Rule Definition (Box)

8. Выберите Positioning (Положение) в столбце Category и auto (авто) во всплывающем меню Overflow (Переполнение). Щелкните по кнопке ОК (рисунок 2.17).

Рисунок 2.17 - Диалоговое окно CSS Rule Definition (Positioning)

9. Dreamweaver возвратит вас в диалоговое окно Insert Div Tag . Щелк-ните по кнопке ОК .

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

(рисунок 2.18).

Рисунок 2.18 - Выделение блока

Процесс добавления подобных тегов

к присвоенному профилю класса class .profile будет немного отличаться для других профилей, расположенных на странице, так как теперь class .profile имеется в вашем файле mystyles.css.

10. Выделите в окне Document изображение Алины и два находящихся над ним абзаца.

11. Выберите Insert Div Tag на панели Insert категории Layout . Откроется диалоговое окно Insert Div Tag .

12. Выберите во всплывающем меню Insert опцию Wrap around selection . На этот раз вы выбираете в меню Class уже существующий профиль класса, чтобы применить его к новому

Щелкните по кнопке ОК .

Рисунок 2.19 - Диалоговое окно Insert Div Tag

Раздел страницы, посвященный Алине, теперь находится в своем собственном теге

, который отображается в окне Document в виде пунктира.

13. Повторите действия 10,11 и 12 для разделов страницы об Александре и Яне.

14. Выберите File => Save All .

Перемещение изображений

В предыдущем задании вы создали класс под названием.profile, который устанавливает для добавленных на страницу тегов div правила для свойств clear и overflow. В следующем задании вы задействуете свойство перемещения, чтобы определить положение изображений профилей. Определив правила в.profile, вы можете приступить к выпол-нению этого упражнения.

1. Выберите изображение Елены и убедитесь, что в селекторе тегов выбран тег .

2. Выберите class .fltrt на панели Properties . Теперь изображение Елены появится справа, а текст о ней отобразится слева от фотографии.

3. Выберите изображение Алины. Выберите класс.fltlft на панели Properties . Изображение Алины останется слева, но поскольку оно теперь перемещено, то текст будет отображаться справа от него.

4. Продолжайте перемещать оставшиеся изображения профиля: изображение Александра — вправо, изображение Яны — влево.

5. Выберите File => Save All , чтобы сохранить то, что вы сделали.

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

Рисунок 2.20 - Предварительный просмотр страницы

Исследование селекторов на панели правил CSS

В этом задании вы более детально изучите панель CSS Styles и озна-комитесь с имеющейся в Dreamweaver информацией по каждому стилю и его свойствам.

1. Поместите курсор в окне Document на одно из имен, к которому при-меняется имя класса.name.

2. Щелкните по кнопке All на панели CSS Styles , а затем убедитесь, что в категории All Styles (Все стили) выбрано имя класса.name, и щелкните по кнопке Current (Текущий).

3. Щелкните по левой иконке Show information about the selected property (Показать сведения о выбранном свойстве) в средней области окна.

Рисунок 2.21 - Панель CSS Styles

4. Выберите иконку Show Cascade of rules for selected tag (Отобразить каскад правил для выбранного тега) чтобы просмотреть область окна Rules , а не область About .

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

Рисунок 2.22 - Область Rules

В области окна Properties отображаются свойства селектора. Чтобы увидеть область Properties , вам, возможно, потребуется опустить вниз нижнюю границу панели CSS Styles . Значения можно редактировать прямо в области Properties , а новые свойства можно добавить, используя ссылку Add Property (Добавить свойство).

В ходе выполнения данной лабораторной работы у вас должна полчиться веб-страница (рисунок 2.23)

Рисунок 2.23 - Итоговая веб-страница

Ответьте на контрольные вопросы .

  1. Как присоединить существующую внешнюю таблицу стилей к веб-странице?
  2. Чем будут отличаться результаты между правилами CSS для селектора
    #header h1 и се-лектора #mainContent hi? Как называются эти типы селекторов?
  3. Как применить класс CSS к тегу?
  4. Как вставить на веб-страницу новые области
    ?
  5. Какие свойство и значение CSS используются для скрытия любого содержимого, ассо-циируемого со стилем CSS?

Контрольное задание

  1. Подберите материал для своего веб-сайта.
  2. Реализуйте вторую страницу своего веб-сайта.

Требования к веб-странице:

  1. Использовать как минимум 3 изображения.
  2. Использовать внешнюю таблицу стлей (CSS).
  3. Создать как минимум 1 пользователький класс, и применить его.
  4. Создать несколько разделов
    .
  5. Применить к изображению "обтекание" текста.


Загрузка...