Как работать и подключить CSS к HTML документу на практике
Добро пожаловать в следующий урок из серии уроков по CSS! С вами вновь Макс Метелев и сегодня мы разберем на практике как работать с CSS и как его подключить к html документу.
В прошлом уроке мы бегло узнали историю его появления. Если не читали, то настоятельно рекомендую.
Завариваем кофе, чай, берем плюшки и вперед за изучение основ сайтостроения.
Как работает CSS?
В этом уроке вы создадите свой первый файл стилей. Многие из свойств, используемых в каскадных таблицах стилей аналогичны в HTML. Поэтому если вы уверенно разбираетесь в гипертекстовой разметке, то, скорее всего, вы быстро усвоите многие «приблуды» CSS. Давайте рассмотрим на примере.
Базовый синтаксис CSS
Например, нам нужен красный фоновый цвет веб страницы. Используя HTML мы бы сделали примерно так:
В стилях подобное мы бы достигли написанием следующего кода:
body {background-color: #FF0000;}
body {background-color: #FF0000;} |
Как вы должны были заметить написание и там, и там одинаково. Данный пример демонстрирует фундаментальную модель CSS:
Но где размещать код CSS спросите Вы? Вполне логичный и здравый вопрос. Именно этим мы сейчас и займемся.
Как подключить CSS к HTML документу?
Можно выделить 3 способа подключения CSS к веб странице. Все их мы сейчас рассмотрим на примере. Внимательно смотрите 3 способ, так как он самый правильный с точки зрения стандартов верстки и логики. Другие тоже верны, но это «грубые» варианты. Их лучше не использовать.
Метод 1 – Внутристроковое размещение стилей (через атрибут style)
Первый путь заключается в подключении CSS к HTML посредством атрибута style. Основываясь на приведенным выше примере с красным цветом наш код записался бы так:
<html>
<head>
<title>Example</title>
</head>
<body>
<p>Здесь красная страница</p>
</body>
</html>
<html> <head> <title>Example</title> </head> <body> <p>Здесь красная страница</p> </body> </html> |
Метод 2 – Через использование тегов style
Другой способ подразумевает включение парных тегов стилей
<style></style> внутрь той страницы, где мы хотим применить их. Например, как здесь:
<html>
<head>
<title>Простой пример</title>
<style type=»text/css»>
body {background-color: #FF0000;}
</style>
</head>
<body>
<p>Здесь снова красная страница</p>
</body>
</html>
<html> <head> <title>Простой пример</title> <style type=»text/css»> body {background-color: #FF0000;} </style> </head> <body> <p>Здесь снова красная страница</p> </body> </html> |
Метод 3 – Внешнее подключение файлов стилей.
Это рекомендуемый и правильный метод заключается в увязке файла стилей и веб страницы через подключение в html документ всего лишь одной строчки:
<link rel=»stylesheet» type=»text/css» href=»style/style. css» />
<link rel=»stylesheet» type=»text/css» href=»style/style.css» /> |
Единственное условие вы должны сохранить отдельно файл со стилями и назвать его, например style.css и быть он должен в папке CSS или Style. Такую ситуацию можно проиллюстрировать вот так:
Следует обратить внимание на место, где будет подключаться наша строчка, которая вызывает файл со стилями. Она должна находиться между служебными тегами
<head></head> . Можно разместить ее сразу после тега заголовка страницы
<title> , как на этом примере:
<html>
<head>
<title>My document</title>
<link rel=»stylesheet» type=»text/css» href=»style/style.css» />
</head>
<body>
</body>
</html>
<html> <head> <title>My document</title> <link rel=»stylesheet» type=»text/css» href=»style/style. </head> <body> </body> </html> |
Ссылка говорит браузеру, что он должен использовать макет из файла CSS для отображения html документа. Т.е как, своего рода, должная инструкция поисковику. Иди вот в это место, цепляй файл стилей и украшай страницу так, как я написал. Ну это образно говоря:-)
Самое важное то, что вы можете иметь неограниченное количество веб страниц и иметь при этом один файл со стилями.
Эта техника поможет сэкономить вам уйму времени. Представьте, что Вы хотите изменить цвет фона веб-сайта с количеством 100-200 страниц, таблица CSS спасет вас от необходимости вручную изменять все эти 100-200 документов.
Давайте еще раз закрепим все на практике.
Попробуйте самостоятельно
Откройте NOTEPAD++ или другую программу для редактирования и создания веб страниц и создайте два файла – один со страничкой html, а другой с файлом стилей:
Default.
htm
<html>
<head>
<title>My document</title>
<link rel=»stylesheet» type=»text/css» href=»style.css» />
</head>
<body>
<h2>My first stylesheet</h2>
</body>
</html>
<html> <head> <title>My document</title> <link rel=»stylesheet» type=»text/css» href=»style.css» /> </head> <body> <h2>My first stylesheet</h2> </body> </html> |
Style.css
body {
background-color: #FF0000;
}
body { background-color: #FF0000; } |
Теперь возьмите и поместите эти два файла в одну папку. Не забудьте сохранить файлы с правильными расширениями (.htm и .css соответственно)
Откройте в браузере файл default.htm и посмотрите, как ваша страница приобрела красный фон. Поздравляем Вас! Вы сделали свой первый файл стилей.
В следующем уроке мы взглянем на некоторые свойства CSS
Основы работы с языком CSS для новичков
Мы с вами уже разобрали
основные теги языка HTML и теперь пришло время навести красоту.
Хотелось бы иметь возможность менять цвет текста, его размер, фон и многое другое. Это делается
с помощью языка CSS.
Блок . Как работать с CSS
Каждому тегу в HTML соответствует так называемый селектор CSS. К примеру, тегу
<p> соответствует CSS селектор p,
с помощью которого мы можем обратиться ко всем абзацам HTML страницы и,
например, покрасить их всех одновременно в красный цвет.
После селектора следует ставить фигурные скобки {}, внутри которых следует писать CSS свойства.
CSS свойства и задают цвет, размер шрифта и другие интересные вещи.
Их следует писать в таком формате:
имя свойства, потом двоеточие, потом значение этого свойства
(например, свойство — это цвет, а «красный» — это значение).
Потом нужно поставить точку с запятой и можно писать следующее свойство.
Давайте покрасим все абзацы в красный цвет:
Это HTML код:
<p>
Абзац с текстом.
</p>
Это CSS код:
p {
color: red;
}
Так код будет выглядеть в браузере:
Абзац с текстом.
А теперь давайте покрасим абзацы в зеленый цвети сделаем их большого размера:
<p>
Абзац с текстом.
</p>
p {
color: red;
font-size: 25px;
}
Так код будет выглядеть в браузере:
Абзац с текстом.
Обратите внимание на оформление CSS кода: каждое новое свойство пишется с новой строки.
Блок . Способы подключения CSS к HTML коду
Давайте теперь разберемся с тем, как сделать так, чтобы написанный CSS
применился к нашему HTML коду. Это можно сделать тремя способами.
Первый способ заключается в том, что CSSбудет написан в отдельном файле и специальным
образом подключен к нашей HTML странице.
Еще два способа заключаются в том,
что CSS код будет написан прямо на HTML странице.
Первый способ используется гораздо чаще (в подавляющем большинстве случаев).
Одновременно можно применять все три способа.
Давайте разберемся с этими способами более подробно.
Способ 1. Отдельный CSS файл
Самый распространенный способ подключения CSS —
это когда он хранится в отдельном файле и этот файл
подключается ко всем страницам нашего сайта.
Преимущество такого подхода в том, что CSS файл один, а HTML файлов
может быть любое количество, хоть тысяча. Мы сделаем изменение
в одном месте CSS файла, например, покрасим все абзацы в красный цвет,
и эти изменения применятся на всей 1000 HTML страниц,
к которым подключен наш CSS файл. Очень удобно и быстро.
Чтобы подключить CSS файл к HTML странице,
в теге head следует написать такую конструкцию: <link rel=»stylesheet» href=»путь к CSS файлу»>.
Сам CSS файл должен быть с расширением .css.
Обычно его называют styles.css или style.css.
В следующем примере к нашему HTML файлу подключается CSS файл style.css:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Это заголовок тайтл</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p>
Это абзац с текстом.
</p>
</body>
</html>
Можно подключать не один файл, а несколько. Давайте подключим
файлы style1.css, style2. css и style3.css:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Это заголовок тайтл</title>
<link rel="stylesheet" href="style1.css">
<link rel="stylesheet" href="style2.css">
<link rel="stylesheet" href="style3.css">
</head>
<body>
<p>
Это абзац с текстом.
</p>
</body>
</html>
Способ 2. CSS внутри тега style
Второй способ заключается в том, что CSS код можно написать в теге <style>
Его можно размещать как внутри <head> (чаще всего), так и внутри <body>.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Это заголовок тайтл </title>
<style>
p {
color: red;
}
</style>
</head>
<body>
<p>
Это абзац с текстом.
</p>
</body>
</html>
Недостаток этого способа в том,
что CSS код применяется только к одной странице сайта, а не ко многим.
Этот способ обычно применяется тогда, когда нужно написать CSS на конкретной
странице сайта, не затрагивая остальных, и, в общем случае, к употреблению
не рекомендуется.
Правило такое: если что-то можно сделать первым способом,
то использовать второй способ — дурной тон.
Способ 3. CSS внутри атрибута style
Третий способ заключается в том, что можно добавить атрибут style любому
тегу на странице и прямо там написать для него HTML код. Обратите внимание на то,
что при этом никаких селекторов писать не нужно, так как CSS код применится только к тому тегу,
для которого он написан:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Это заголовок тайтл</title>
</head>
<body>
<p>
Это абзац с текстом.
</p>
</body>
</html>
Третий способ, так же, как и второй, не сильно рекомендуется к использованию,
потому что он захламляет HTML код. В настоящее время общепринято то,
что языки нужно разделять по отдельным файлам — в одном
файле мы пишем на языке HTML, а в другом — на CSS.
Впрочем, иногда без второго и третьего способа не обойтись.
Блок . Комментарии CSS
Так же, как и в HTML, в CSS можно ставить комментарии.
Они оформляются следующим образом:
слеш и звездочка /*, потом текст комментария, потом звездочка и слеш */.
Смотрите пример:
p {
/*
Тут находится
комментарий CSS.
*/
color: red;
font-size: 27px;
}
Видео про CSS
Посмотрите следующее видео
из заочного курса: скачайте его по данной ссылке.
Там я рассказываю про подключение CSS, а также демонстрирую работу с некоторыми свойствами
(эти знания пригодятся вам в следующем уроке).
Что вам делать дальше:
Приступайте к решению задач по следующей ссылке: задачи к уроку.
Когда все решите — переходите к изучению новой темы.
Основы CSS — Изучение веб-разработки
CSS (Cascading Style Sheets) — это код, который вы используете для стилизации вашей веб-страницы. Основы CSS помогут вам понять, что вам нужно для начала работы. Мы ответим на такие вопросы как: Как сделать мой текст черным или красным? Как сделать так, чтобы контент появлялся в определенном месте на экране? Как украсить мою веб-страницу с помощью фоновых изображений и цветов?
Так что же такое CSS?
Как и HTML, CSS на самом деле не является языком программирования. Это не язык разметки — это язык таблицы стилей. Это означает, что он позволяет применять стили выборочно к элементам в документах HTML. Например, чтобы выбрать все элементы абзаца на HTML странице и изменить текст внутри них с черного на красный, вы должны написать этот CSS:
p {
color: red;
}
Давайте попробуем: вставьте эти три строки CSS в новый файл в ваш текстовый редактор, а затем сохраните файл как style.
в вашей папке css
styles
.
Но нам все равно нужно применить CSS к нашему HTML документу. В противном случае, CSS стиль не повлияет на то, как ваш браузер отобразит HTML документ. (Если вы не следили за нашим проектом, то прочитайте раздел Работа с файлами и Основы HTML, чтобы узнать, что вам нужно сделать в первую очередь.)
- Откройте ваш файл
index.html
и вставьте следующую строку куда-нибудь в шапку, между<head>
и</head>
тегами:<link href="styles/style.css" rel="stylesheet" type="text/css">
- Сохраните
index.html
и загрузите его в вашем браузере. Вы должны увидеть что-то вроде этого:
Если текст вашего абзаца теперь красный, примите наши поздравления! Вы написали свой первый успешный CSS!
Анатомия набора правил CSS
Давайте взглянем на вышеупомянутый CSS немного более подробно:
Вся структура называется набором правил (но зачастую для краткости «правило»). Отметим также имена отдельных частей:
- Селектор (Selector)
- Имя HTML элемента в начале набора правил. Он выбирает элемент(ы) для применения стиля (в данном случае, элементы
p
). Для стилизации другого элемента, просто измените селектор. - Объявление (Declaration)
- Единственное правило, например
color: red;
указывает, какие из свойств элемента вы хотите стилизовать. - Свойства (Properties)
- Способы, которыми вы можете стилизовать определенный HTML элемент (в данном случае,
color
является свойством для элементов<p>
). В CSS вы выбираете, какие свойства вы хотите затронуть в вашем правиле. - Значение свойства (Property value)
- Справа от свойства, после двоеточия, у нас есть значение свойства, которое выбирает одно из множества возможных признаков для данного свойства (существует множество значений
color
, помимоred
).
Обратите внимание на важные части синтаксиса:
- Каждый набор правил (кроме селектора) должен быть обернут в фигурные скобки (
{}
). - В каждом объявлении необходимо использовать двоеточие (
:
), чтобы отделить свойство от его значений. - В каждом наборе правил вы должны использовать точку с запятой (
;
), чтобы отделить каждое объявление от следующего.
Таким образом, чтобы изменить несколько значений свойств сразу, вам просто нужно написать их, разделяя точкой с запятой, например так:
p { color: red; width: 500px; border: 1px solid black; }
Выбор нескольких элементов
Вы также можете выбрать несколько элементов разного типа и применить единый набор правил для всех из них. Добавьте несколько селекторов, разделенных запятыми. Например:
p,li,h2 { color: red; }
Разные типы селекторов
Существует множество различных типов селектора. Выше мы рассматривали только селектор элементов, который выбирает все элементы определенного типа в HTML документе. Но мы можем сделать выбор более конкретным. Вот некоторые из наиболее распространенных типов селекторов:
Имя селектора | Что выбирает | Пример |
---|---|---|
Селектор элемента (иногда называемый селектором тега или типа) | Все HTML элемент(ы) указанного типа. | p Выбирает <p> |
ID селектор | Элемент на странице с указанным ID на данной HTML. Лучше всего использовать один элемент для каждого ID (и конечно один ID для каждого элемента), даже если вам разрешено использовать один и тот же ID для нескольких элементов. | #my-id Выбирает <p> или <a> |
Селектор класса | Элемент(ы) на странице с указанным классом (множество экземпляров класса может объявляться на странице). | .my-class Выбирает <p> и <a> |
Селектор атрибута | Элемент(ы) на странице с указанным атрибутом.![]() | img[src] Выбирает <img src="myimage.png"> но не <img> |
Селектор псевдо-класса | Указанные элемент(ы), но только в случае определенного состояния, например, при наведении курсора. | a:hover Выбирает <a> , но только тогда, когда указатель мыши наведен на ссылку. |
Существует еще много селекторов для изучения, и вы можете найти более подробный список в нашем Руководстве селекторов.
Шрифты и текст
Теперь, когда мы изучили некоторые основы CSS, давайте добавим ещё несколько правил и информацию в наш файл style.css
, чтобы наш пример хорошо выглядел. Прежде всего, давайте сделаем, чтобы наши шрифты и текст выглядели немного лучше.
- Прежде всего, вернитесь и найдите вывод из Google Fonts, который вы уже где-то сохранили. Добавьте элемент
<link>
где-нибудь внутри шапки вашегоindex.
(снова, в любом месте между тегамиhtml
<head>
и</head>
). Это будет выглядеть примерно так:<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
Этот код связывает вашу страницу с таблицой стилями, которая загружает семейство шрифтов Open Sans вместе с вашей страницой и позволяет вам применять их к вашим HTML элементам используя свою собственную таблицу стилей.
- Затем, удалите существующее правило в вашем
style.css
файле. Это был хороший тест, но красный текст, на самом деле, не очень хорошо выглядит. - Добавьте следующие строки в нужное место, заменив строку
placeholder
актуальнойfont-family
строкой, которую вы получили из Google Fonts. (font-family
просто означает, какой шрифт(ы) вы хотите использовать для вашего текста). Это правило устанавливает глобальный базовый шрифт и размер шрифта для всей страницы (поскольку<html>
является родительским элементом для всей страницы, и все элементы внутри него наследуют такой жеfont-size
иfont-family
):html { font-size: 10px; /* px значит 'пиксели': базовый шрифт будет 10 пикселей в высоту */ font-family: placeholder: здесь должно быть имя шрифта из Google fonts }
Примечание: Все в CSS документе между
/*
и*/
является CSS комментарием, который браузер игнорирует при исполнении кода.Это место, где вы можете написать полезные заметки о том, что вы делаете.
- Теперь мы установим размер шрифта для элементов, содержащих текст внутри HTML тела (
<h2>
,<li>
, и<p>
). Мы также отцентрируем текст нашего заголовка и установим некоторую высоту строки и расстояние между буквами в теле документа, чтобы сделать его немного более удобным для чтения:h2 { font-size: 60px; text-align: center; } p, li { font-size: 16px; line-height: 2; letter-spacing: 1px; }
Вы можете настроить значения px
так, как вам нравится, чтобы ваш дизайн выглядел так, как вы хотите, но, в общем, ваш дизайн должен выглядеть вот так:
Блоки, блоки и ещё раз блоки
Одна вещь, которую вы заметите в написании CSS, заключается в том, что многое из этого касается блоков — настройка их размера, цвета, положения и т.д. Большинство HTML элементов на странице можно рассматривать как блоки, расположенные друг над другом.
Не удивительно, макет CSS основан, главным образом, на блочной модели (box model). Каждый из блоков, занимающий пространство на вашей странице имеет такие свойства, как:
padding
, пространство только вокруг контента (например, вокруг абзаца текста)border
, сплошная линия, которая расположена рядом с paddingmargin
, пространство вокруг внешней стороны элемента
В этом разделе мы также используем:
width
(ширину элемента)background-color
, цвет позади контента и padding элементовcolor
, цвет контента элемента (обычно текста)text-shadow
: устанавливает тень на тексте внутри элементаdisplay
: устанавливает режим отображения элемента (пока что не волнуйтесь об этом)
Итак, давайте начнем и добавим больше CSS на нашей странице! Продолжайте добавлять эти новые правила, расположенные в нижней части страницы, и не бойтесь экспериментировать с изменением значений, чтобы увидеть, как это работает.
Изменение цвета страницы
html { background-color: #00539F; }
Это правило устанавливает цвет фона для всей страницы. Измените код цвета сверху, на цвет который вы выбрали при планировании вашего сайта.
Разбираемся с телом
body { width: 600px; margin: 0 auto; background-color: #FF9500; padding: 0 20px 20px 20px; border: 5px solid black; }
Теперь для <body>
элемента. Здесь есть немало деклараций, так что давайте пройдем через них всех по одному:
width: 600px;
— заставляет тело быть всегда 600 пикселей в ширину.margin: 0 auto;
— когда вы устанавливаете два значения для таких свойств какmargin
илиpadding
, первое значение элемента влияет на верхнюю и нижнюю сторону (делает их0
в данном случае), и второе значение на левую и правую сторону (здесь,auto
является особым значением, которое делит доступное пространство по горизонтали поровну слева и справа).Вы также можете использовать один, три или четыре значения, как описано здесь.
background-color: #FF9500;
— как и прежде, устанавливает цвет фона элемента. Я использовал красновато-оранжевый для тела, в отличие от темно-синего цвета для<html>
элемента, но не стесняйтесь и эксперементируйте.padding: 0 20px 20px 20px;
— у нас есть четыре значения, установленные для padding, чтобы сделать немного пространства вокруг нашего контента. В этот раз мы не устанавливаем padding на верхней части тела, но делаем 20 пикселей слева, снизу и справа. Значения устанавливаются сверху, справа, снизу, слева, в таком порядке.border: 5px solid black;
— просто устанавливает сплошную черную рамку шириной 5 пикселей со всех сторон тела.
Позиционирование и стилизация нашего заголовка главной страницы
h2 { margin: 0; padding: 20px 0; color: #00539F; text-shadow: 3px 3px 1px black; }
Вы, возможно, заметили, что есть ужасный разрыв в верхней части тела. Это происходит, потому что браузеры применяют некоторый стиль по умолчанию для элемента
<h2>
(по сравнению с другими), даже если вы не применяли какой-либо CSS вообще! Это может звучать как плохая идея, но мы хотим, чтобы веб-страница без стилей имела базовую читаемость. Чтобы избавиться от разрыва, мы переопределили стиль по умолчанию, установив margin: 0;
.
Затем мы установили заголовку верхний и нижний padding на 20 пикселей, и сделали текст заголовка того же цвета, как и цвет фона html.
Здесь, мы использовали одно довольно интересное свойство — это text-shadow
, которое применяет тень к текстовому контенту элемента. Оно имеет следующие четыре значения:
- Первое значение пикселей задает горизонтальное смещение тени от текста — как далеко она движется поперек: отрицательное значение должно двигать ее влево.
- Второе значение пикселей задает вертикальное смещение тени от текста — как далеко она движется вниз, в этом примере: отрицательное значение должно переместить ее вверх.
- Третье значение пикселей задает радиус размытия тени — большее значение будет означать более размытую тень.
- Четвертое значение задает основной цвет тени.
И вновь попробуйте поэкспериментировать с различными значениями, чтобы посмотреть, что вы можете придумать.
Центрирование изображения
img { display: block; margin: 0 auto; }
В заключение, мы отцентрируем изображение, чтобы оно лучше выглядело. Мы можем использовать margin: 0 auto
уловку снова, как мы это делали раньше для body, но мы также должны сделать кое-что еще. Элемент <body>
является блочным, это значит, что он занимает место на странице и может иметь margin и другие значения отступов, применяемых к нему. Изображения, наоборот, являются строчными элементами, то есть они этого не могут. Таким образом, чтобы применить margin к изображению, мы должны дать изображению блочное поведение с помощью display: block;
.
Примечание: Приведенные выше инструкции предполагают, что вы используете изображение меньшей ширины, чем заданная для <body>
(600 пикселей). Если ваше изображение больше, тогда оно выйдет за границы <body>
и займет пространство страницы. Чтобы исправить это, вы можете 1) уменьши ширину изображения используя графический редактор, или 2) изменить размер изображения используя CSS путем установки свойства width
для <img>
элемента меньшего значения (например 400 px;
).
Примечание: Не стоит беспокоиться, если вы еще не понимаете display: block;
и различия между блочным/строчным. Вы поймете, когда будете изучать CSS более подробно. Вы можете узнать больше о различных доступных значениях display на нашей странице о свойстве display.
Заключение
Если вы следовали всем инструкциям в этой статье, вы должны получить страницу, которая выглядит примерно так (вы также можете посмотреть нашу версию здесь):
Если вы застряли, вы всегда можете сравнить свою работу с нашим готовым примером кода на Github.
Здесь мы узнали только самую поверхность CSS. Чтобы узнать больше, перейдите на нашу страницу изучения CSS.
В этом модуле
основы CSS — Основы CSS — HTML Academy
CSS-правила
CSS — это язык для оформления структурированных документов, например, HTML- документов. Синтаксис — это плоский список CSS-правил. CSS-правило состоит из селектора и перечня свойств и их значений:
селектор {
свойство: значение;
свойство: значение;
}
Для комментариев в CSS используются символы /*
и */
.
Селекторы
Селектор находится в начале CSS-правила, до фигурных скобок, и определяет, к каким HTML-элементам применятся свойства и значения из правила.
.feature-kitten {
padding-top: 60px;
}
Простейшие (и самые популярные) селекторы — это селекторы по тегам и по классам. Селекторы по тегам содержат имя тега без символов <
и >
и применяются ко всем подходящим тегам. Селекторы по классам начинаются с точки, за которой идёт имя класса, и применяются ко всем тегам с подходящим атрибутом
class
.
h2 { color: red; }
.info { color: blue; }
На странице может быть несколько списков, и стили применятся ко всем спискам, даже к тем, которые вы менять не хотели. Чтобы избежать таких ситуаций, лучше не использовать селекторы по тегам или использовать их как можно реже.
Если у CSS-правил отличаются только селекторы, а свойства и значения одинаковые, то их можно сгруппировать через запятую.
Также можно комбинировать любые типы селекторов через пробел. Такие селекторы называются вложенными или контекстными и читаются справа налево. Например:
nav a {…}
.menu ul {…}
.post .title {…}
Свойства и значения
Список свойств и значений находится внутри фигурных скобок CSS-правила. Свойство определяет, какую характеристику внешнего вида мы хотим изменить, а значение — как именно.
.
feature-kitten {
padding-top: 60px;
}
Каждый раз, когда мы добавляем новое свойство или изменяем его значение, мы меняем что-то на странице.
Наследование
Наследование в CSS — это механизм, с помощью которого значения свойств элемента-родителя передаются его элементам-потомкам. Стили, присвоенные одному элементу, наследуются всеми потомками (вложенными элементами), но только в том случае, если они где-то явно не переопределены.
Составные свойства
В CSS есть обычные свойства, управляющие одним параметром отображения, и есть составные свойства, управляющие одновременно несколькими параметрами. Например, свойство font
. Оно задаёт сразу шесть параметров: размер и название шрифта, высоту строки и некоторые другие.
font: 16px/26px "Arial", sans-serif;
Если значение обычного свойства не было задано в составном, то браузер при «расшифровке» использует исходное значение этого свойства.
Типы значений: абсолютные и относительные
Абсолютные единицы измерения привязаны к настоящим физическим размерам и связаны между собой жёсткими пропорциями. Пиксели, px
, используют чаще всего, остальные абсолютные единицы почти не применяют. Примеры абсолютных единиц измерения:
font-size: 1cm;
font-size: 10mm;
font-size: 38px;
Относительные единицы измерения описывают значения, которые зависят от других значений. Например, ширина элемента в процентах зависит от ширины родительского элемента, а ширина элемента в em
зависит от размера шрифта самого элемента. К относительным единицам относятся em
, rem
, vh
, vw
и некоторые другие, ну и, конечно же, проценты.
Стили по умолчанию
Некоторым элементам можно не задавать никаких стилей, но у них всё равно будет какое-то оформление. Например, у списка <ul>
есть отступы и маркеры. Такие стили называются стилями по умолчанию и задаются внутри браузерных стилей изначально. Их можно переопределить или сбросить, задав другие значения свойств элементу.
Каскадирование
Когда браузер отрисовывает страницу, он должен определить итоговый вид каждого HTML-элемента. Для этого он собирает все CSS-правила, которые относятся к каждому элементу, ведь на элемент могут влиять сразу несколько CSS-правил. Механизм комбинирования стилей из разных источников в итоговый набор свойств и значений для каждого тега называется каскадностью. Например, есть такой элемент в разметке:
<p>Зелёный - мой любимый цвет</p>
Заданные стили:
.beloved-color { color: green; }
Браузерные стили:
margin: 1em 0;
Итоговые стили:
color: green;
margin: 1em 0;
Конфликт свойств
На один элемент могут действовать несколько CSS-правил. Если в этих правилах есть одинаковые свойства с разными значениями, то возникает конфликт. Например:
ul { list-style: disc; }
.blog-navigation ul { list-style: none; }
Браузеру нужно как-то решать, какими будут итоговые значения конфликтующих свойств. Конфликт разрешается максимум за три шага. Если на текущем шаге определиться не удалось, то выполняется следующий шаг. Вот эти шаги:
- Сравниваются приоритеты стилевых файлов, в которых находятся конфликтующие свойства. Например, авторские (то есть наши) стили приоритетнее браузерных.
- Сравнивается специфичность селекторов у CSS-правил с конфликтующими свойствами. Например, селектор по классу более специфичен, чем селектор по тегу.
- Побеждает то свойство, которое находится ниже в коде.
Каскад работает и внутри CSS-правил.
Встраивание и подключение внешних стилей
Внешние стили подключаются через тег <link>
<link rel="stylesheet" href="style.css">
Встраивание стилей в тег <style>
. Его обычно размещают внутри <head>
:
<head>
<style>
CSS-код
</style>
</head>
Такой способ используется для оптимизации загрузки страницы, ведь в таком случае браузер не будет отправлять дополнительных запросов на сервер.
Встраивание в атрибут style
:
<div></div>
Свойства и значения, прописанные таким образом, применятся точечно к одному элементу.
Обычно использование этого способа считается плохой практикой. Но иногда в виде исключения бывает удобнее воспользоваться встраиванием стилей в атрибут style
, чем писать отдельные CSS-правила. Например, когда нужно управлять стилями именно из разметки, и создавать отдельные классы при этом будет излишне. Так бывает, когда какие-то стилевые параметры устанавливаются с помощью сторонних программ или другими людьми, например, через CMS.
Продолжить
30 лучших практик CSS для начинающих
CSS это язык, который используется почти каждым разработчиком в какой-то момент. Хотя этот язык мы иногда воспринимаем как должное, он мощный и имеет много нюансов, которые могут помочь (или навредить) нашим проектам. Вот тридцать лучших практик CSS, которые позволят вам писать твердый CSS и избегать дорогостоящих ошибок.
Если вы не уверены в том, что сможете реализовать некоторые из этих вещей самостоятельно, вы можете найти экспертов по CSS в Envato Studio, которые помогут вам . Они могут исправлять ошибки или настраивать ваш сайт для вас, и они являются опытными разработчиками, поэтому они будут следовать рекомендациям при завершении работы.
CSS эксперты по Envato Studio
1. Сделайте его читабельным
Читаемость вашего CSS невероятно важна, хотя большинство людей не понимают, почему это важно. Отличная читаемость вашего CSS значительно упрощает поддержку в будущем, так как вы сможете быстрее находить элементы. Кроме того, вы никогда не узнаете, кому может понадобиться посмотреть ваш код позже.
<editors-note> При написании CSS большинство разработчиков попадают в одну из двух групп.
Группа 1: все на одной линии
1 | .someDiv { background: red; |
Группа 2: каждый стиль имеет свою линию
1 2 3 4 5 | .someDiv { background: red; padding: 2em; border: 1px solid black; } |
Обе практики вполне приемлемы, хотя обычно вы обнаружите, что вторая группа презирает первую! Просто запомните — выберите метод, который вам больше всего подходит. Это все, что имеет значение. </ редакторы примечание>
2. Держите это последовательным
Вдобавок к тому, что ваш код должен быть читабельным, необходимо убедиться, что CSS согласован. Вы должны начать разрабатывать свой собственный «язык» CSS, который позволяет вам быстро называть вещи. Существуют определенные классы, которые я создаю почти в каждой теме, и каждый раз использую одно и то же имя. Например, я использую «.caption-right» для перемещения изображений, которые содержат заголовок справа.
Подумайте о том, будете ли вы использовать подчеркивания или тире в своих идентификаторах и именах классов, и в каких случаях вы будете их использовать. Когда вы начнете создавать свои собственные стандарты для CSS, вы станете намного опытнее.
3. Начните с фреймворка
Некоторые пуристы дизайна смеются над мыслью об использовании CSS-фреймворка с каждым дизайном, но я считаю, что если кто-то еще нашел время, чтобы поддержать инструмент, ускоряющий производство, зачем изобретать велосипед? Я знаю, что рамки не должны использоваться в каждом случае, но большую часть времени они могут помочь.
У многих дизайнеров есть свои собственные рамки, которые они создали со временем, и это тоже отличная идея. Это помогает поддерживать последовательность в проектах.
<примечание редактора> Я не согласен. Фреймворки CSS — это фантастические инструменты … для тех, кто знает, как их использовать.
Дело не в том, чтобы заново изобретать колесо, а в том, чтобы понять, как оно работает.
Если вы только начинаете работать с CSS, я лично рекомендую вам держаться подальше от этих платформ как минимум год. В противном случае вы только запутаете себя. Изучите CSS … затем воспользуйтесь ярлыками! </ редакторы примечание>
4. Используйте Сброс
Большинство CSS-фреймворков имеют встроенный сброс, но если вы не собираетесь их использовать, по крайней мере, подумайте об использовании сброса. Сброс по существу устраняет несоответствия браузера, такие как высота, размеры шрифта, поля, заголовки и т. Д. Сброс позволяет макету выглядеть согласованно во всех браузерах.
MeyerWeb — это популярный сброс, а также сброс разработчиков Yahoo . Или вы всегда можете бросить свой собственный сброс , если это щекочет ваше воображение.
5. Организуйте таблицу стилей с нисходящей структурой
Всегда имеет смысл выложить свою таблицу стилей так, чтобы вы могли быстро найти части своего кода. Я рекомендую нисходящий формат, который обрабатывает стили, как они появляются в исходном коде. Итак, пример таблицы стилей может быть упорядочен следующим образом:
- Общие классы (body, a, p, h2 и т. Д.)
- #header
- # Нав-меню
- #основное содержание
<editors-note> Не забудьте прокомментировать каждый раздел! </ редакторы примечание>
1 2 3 4 5 6 7 | /****** main content *********/
styles goes here…
/****** footer *********/
styles go here… |
6. Объединить элементы
Элементы в таблице стилей иногда имеют общие свойства. Вместо того, чтобы переписывать предыдущий код, почему бы просто не объединить их? Например, все элементы h2, h3 и h4 могут использовать один и тот же шрифт и цвет:
1 | h2, h3, h4 {font-family: tahoma, color: #333} |
Мы можем добавить уникальные характеристики к каждому из этих стилей заголовков, если захотим (т.е. h2 {size: 2.1em}) позже в таблице стилей.
7. Сначала создайте свой HTML
Многие дизайнеры создают свои CSS одновременно с созданием HTML. Кажется логичным создавать их одновременно, но на самом деле вы сэкономите еще больше времени, если сначала создадите весь макет HTML. Причиной этого метода является то, что вы знаете все элементы макета сайта, но не знаете, какой CSS вам понадобится для вашего дизайна. Создание HTML-макета сначала позволяет вам визуализировать всю страницу целиком и позволяет вам думать о вашем CSS более целостным, нисходящим образом.
8. Используйте несколько классов
Иногда полезно добавить несколько классов к элементу. Допустим, у вас есть <div> «блок», который вы хотите всплывать правильно, и у вас уже есть класс .right в вашем CSS, который перемещает все вправо. Вы можете просто добавить дополнительный класс в объявлении, например так:
1 | <div class=»box right»></div> |
Вы можете добавить любое количество классов (разделенных пробелами ) в любое объявление.
<editors-note> Будьте очень осторожны при использовании идентификаторов и имен классов, таких как «left» и «right». Я буду использовать их, но только для таких вещей, как сообщения в блоге. Как придешь? Давайте представим, что в будущем вы решите, что предпочли бы, чтобы коробка всплыла влево. В этом случае вам придется вернуться к своему HTML и изменить имя класса — все для того, чтобы настроить представление страницы. Это не семантически. Помните — HTML для разметки и контента. CSS для презентации.
Если вам нужно вернуться к своему HTML, чтобы изменить представление (или стиль) страницы, вы делаете это неправильно!
</ редакторы примечание>
9. Используйте правильный Doctype
Объявление doctype очень важно для проверки правильности вашей разметки и CSS. Фактически, весь внешний вид вашего сайта может сильно измениться в зависимости от DOCTYPE, который вы объявляете.
Узнайте больше о том, какой DOCTYPE использовать в A List Apart .
<редакторы примечание>
Я использую doctype HTML5 для всех моих проектов.
«Что приятно в этом новом DOCTYPE, тем более, что все текущие браузеры (IE, FF, Opera, Safari) будут смотреть на него и переключать контент в стандартный режим — даже если они не реализуют HTML5. Это означает, что вы могли бы начните писать свои веб-страницы, используя HTML5 сегодня, и прослужите им очень и очень долго ».
</ редакторы примечание>
10. Используйте Сокращения
Вы можете значительно сократить свой код, используя сокращение при создании CSS. Для таких элементов, как padding, margin, font и некоторые другие, вы можете комбинировать стили в одну строку. Например, div может иметь следующие стили:
1 2 3 4 5 | #crayon { margin-left: 5px; margin-right: 7px; margin-top: 8px; } |
Вы можете объединить эти стили в одну строку, вот так:
1 2 3 | #crayon { margin: 8px 7px 0px 5px; } |
Если вам нужна дополнительная помощь, вот подробное руководство по сокращенным свойствам CSS .
11. Комментируйте свой CSS
Как и любой другой язык, это хорошая идея комментировать ваш код в разделах. Чтобы добавить комментарий, просто добавьте / * за комментарием и * /, чтобы закрыть его, например, так:
1 | /* Here’s how you comment CSS */ |
12. Понимать разницу между блочными и встроенными элементами
Блочные элементы — это элементы, которые естественным образом очищают каждую строку после их объявления, занимая всю ширину доступного пространства. Встроенные элементы занимают столько места, сколько им нужно, и не заставляют новую строку после их использования.
Вот списки элементов, которые являются либо встроенными, либо блочными:
1 | span, a, strong, em, img, br, input, abbr, acronym |
И блочные элементы:
1 | div, h2…h6, p, ul, li, table, blockquote, pre, form |
13. Алфавит вашей собственности
Хотя это скорее легкомысленный совет, он может пригодиться для быстрого сканирования.
1 2 3 4 5 6 7 8 9 | #cotton-candy { color: #fff; float: left; font-weight: height: 200px; margin: 0; padding: 0; width: 150px; } |
<редактор-примечание> Эхх … жертвовать скоростью ради немного улучшенной читаемости? Я бы сдал — но решай сам! </ редакторы примечание>
14. Используйте CSS Compressors
Компрессоры CSS помогают уменьшить размер файла CSS, удаляя разрывы строк, пробелы и объединяя элементы. Эта комбинация может значительно уменьшить размер файла, что ускоряет загрузку браузера. CSS Optimizer и CSS Compressor — два отличных онлайн-инструмента, которые могут уменьшить CSS.
Следует отметить, что сокращение вашего CSS может обеспечить выигрыш в производительности, но вы потеряете часть читабельности вашего CSS.
15. Используйте общие классы
Вы обнаружите, что есть определенные стили, которые вы применяете снова и снова. Вместо добавления этого конкретного стиля к каждому идентификатору, вы можете создавать универсальные классы и добавлять их к идентификаторам или другим классам CSS (используя совет № 8).
Например, я использую float: right и float: left over over в моих проектах. Поэтому я просто добавляю классы .left и .right в мою таблицу стилей и ссылаюсь на нее в элементах.
1 2 3 4 | .left {float:left} .right {float:right}
<div id=»coolbox» class=»left»>…</div> |
Таким образом, вам не нужно постоянно добавлять «float: left» ко всем элементам, которые должны быть перемещены.
<примечание редактора> Пожалуйста, обратитесь к примечаниям редактора для # 8. </ редакторы примечание>
16. Используйте «Margin: 0 auto» для центрирования макетов.
Многие новички в CSS не могут понять, почему нельзя просто использовать float: center для достижения такого центрированного эффекта на элементах уровня блока. Если бы это было так просто! К сожалению, вам нужно будет использовать
центрировать элементы div, абзацы или другие элементы в макете.
<editors-note> Объявляя, что левые и правые поля элемента должны быть идентичными, у них нет другого выбора, кроме как центрировать элемент внутри содержащего его элемента. </ редакторы примечание>
17. Не просто оберните DIV вокруг него
Когда вы начинаете, есть соблазн обернуть div идентификатором или классом вокруг элемента и создать для него стиль.
1 | <div class=»header-text»><h2>Header Text</h2></div> |
Иногда может показаться, что проще просто создать уникальные стили элементов, как в примере выше, но вы начнете загромождать свою таблицу стилей. Это сработало бы просто отлично:
Затем вы можете легко добавить стиль к h2 вместо родительского div.
18. Используйте Firebug
Если вы еще не загрузили Firebug , остановитесь и сделайте это. Шутки в сторону. Этот маленький инструмент является обязательным для любого веб-разработчика. Среди множества функций, поставляемых в комплекте с расширением Firefox (отладка JavaScript, проверка HTML, поиск ошибок), вы также можете визуально проверять, изменять и редактировать CSS в режиме реального времени. Вы можете узнать больше о том, что Firebug делает на официальном сайте Firebug .
19. Взломать меньше
Старайтесь не использовать как можно меньше хаков для браузера. Существует огромное давление, чтобы убедиться, что дизайны выглядят одинаково во всех браузерах, но использование хаков только усложнит поддержку ваших проектов в будущем. Кроме того, использование файла сброса (см. # 4) может устранить почти все нарушения рендеринга между браузерами.
20. Используйте абсолютное позиционирование экономно
Абсолютное позиционирование — это удобный аспект CSS, который позволяет вам определить, где именно элемент должен быть расположен на странице с точностью до пикселя. Однако из-за игнорирования абсолютного позиционирования для других элементов на странице макеты могут стать довольно сложными, если вокруг макета работает несколько абсолютно позиционированных элементов.
21. Используйте Text-Transform
Text-transform — это очень полезное свойство CSS, которое позволяет вам «стандартизировать» форматирование текста на вашем сайте. Например, скажем, вы хотите создать заголовки, которые имеют только строчные буквы. Просто добавьте свойство text-transform к стилю заголовка так:
1 | text-transform: lowercase; |
Теперь все буквы в заголовке будут строчными по умолчанию. Преобразование текста позволяет вам изменять текст (заглавные буквы, заглавные буквы или строчные буквы) с помощью простого свойства.
22. Не используйте отрицательные поля, чтобы скрыть h2
Часто люди используют изображение для текста заголовка, а затем либо используют display: none или отрицательное поле, чтобы сместить h2 со страницы. Мэтт Каттс , глава команды Google по веб-спаму, официально заявил, что это плохая идея, поскольку Google может подумать, что это спам.
Как прямо говорит мистер Каттс, избегайте сокрытия текста вашего логотипа с помощью CSS. Просто используйте тэг alt. Хотя многие утверждают, что вы все еще можете использовать CSS, чтобы скрыть тег h2, если h2 совпадает с текстом логотипа, я предпочитаю ошибаться в безопасности.
23. Подтвердите свой CSS и XHTML
Проверка правильности ваших CSS и XHTML не только дает чувство гордости: она помогает вам быстро находить ошибки в вашем коде. Если вы работаете над дизайном и по какой-то причине все выглядит не так, попробуйте запустить разметку и CSS-валидатор и посмотрите, какие ошибки появляются. Обычно вы обнаруживаете, что забыли закрыть где-нибудь div или пропущенную точку с запятой в свойстве CSS.
24. Эмс против пикселей
Всегда велись споры о том, лучше ли использовать пиксели (px) или ems (em) при определении размеров шрифта. Пиксели являются более статичным способом определения размеров шрифта, а ems более масштабируемы с различными размерами браузера и мобильными устройствами. С появлением множества различных типов просмотра веб-страниц (ноутбуков, мобильных устройств и т. Д.) Ems все чаще становятся стандартными для измерений размера шрифта, поскольку они обеспечивают максимальную гибкость. Вы можете прочитать больше о том, почему вы должны использовать ems для размеров шрифта в этой вдумчивой ветке форума . About.com также имеет отличную статью о различиях между размерами измерений .
<примечание редактора> Не берите меня с собой на ферму, но я готов поспорить, что благодаря масштабированию браузера большинство дизайнеров по умолчанию используют макеты на основе пикселей. Как вы думаете? </ редакторы примечание>
25. Не стоит недооценивать список
Списки являются отличным способом представления данных в структурированном формате, который легко изменить в стиле. Благодаря свойству display вам не нужно просто использовать список в качестве текстового атрибута. Списки также отлично подходят для создания навигационных меню и подобных вещей.
Многие новички используют div для создания каждого элемента в списке, потому что они не понимают, как правильно их использовать. Стоит потратить усилия на то, чтобы использовать в будущем элементы обучения для структурирования данных.
<редакторы примечание>
Вы часто будете видеть навигационные ссылки примерно так:
1 2 3 4 | <a href=»#»>Home</a> <a href=»#»>About</a> <a href=»#»>Services</a> <a href=»#»>Contact</a> |
Хотя, технически, после небольшого CSS-кода это будет прекрасно работать, это неаккуратно. Если вы добавляете список ссылок, используйте неупорядоченный список , глупый гусь!
</ редакторы примечание>
26. Избегайте лишних селекторов
Легко неосознанно добавить дополнительные селекторы в наш CSS, которые загромождают таблицу стилей. Один из распространенных примеров добавления дополнительных селекторов — списки.
1 | body #container .someclass ul li {….} |
В этом случае просто .someclass li работал бы просто отлично.
Добавление дополнительных селекторов не принесет Армагеддона или чего-либо в этом роде, но они не позволяют вашему CSS быть настолько простым и чистым, насколько это возможно.
27. Добавить поля и отступы для всех
Различные браузеры отображают элементы по-разному. IE отображает определенные элементы иначе, чем Firefox. IE 6 отображает элементы не так, как IE 7 и IE 8. Хотя браузеры начинают более тесно придерживаться стандартов W3C , они все еще не совершенны (* кашель IE кашляет *).
Одним из основных отличий между версиями браузеров является то, как отображаются отступы и поля. Если вы еще не используете сброс, вы можете определить поля и отступы для всех элементов на странице, чтобы быть в безопасности. Вы можете сделать это быстро с глобальным сбросом, например, так:
Теперь все элементы имеют отступы и поля 0, если они не определены другим стилем в таблице стилей.
<примечание редактора> Проблема в том, что, поскольку ВСЕ с помощью этого метода обнуляется, вы можете причинить себе больше вреда, чем помощи. Вы уверены, что хотите, чтобы поля и отступы каждого элемента обнулялись? Если так — это вполне приемлемо. Но, по крайней мере, учтите это. </ редакторы примечание>
28. Когда будете готовы, попробуйте объектно-ориентированный CSS
Объектно-ориентированное программирование — это разделение элементов в коде, чтобы их было проще поддерживать повторное использование. Объектно-ориентированный CSS следует тому же принципу, разделяя различные аспекты таблиц стилей на более логичные разделы, делая ваш CSS более модульным и многократно используемым.
Вот слайд-презентация того, как работает объектно-ориентированный CSS:
Если вы новичок в игре CSS / XHTML, OOCSS может оказаться сложной задачей в начале. Но принципы прекрасно подходят для объектно-ориентированного программирования в целом.
29. Используйте несколько стилей
В зависимости от сложности дизайна и размера сайта иногда проще создать меньшую, несколько таблиц стилей вместо одной гигантской таблицы стилей. Помимо того, что дизайнеру легче управлять, несколько таблиц стилей позволяют не использовать CSS на некоторых страницах, которые им не нужны.
Например, у меня может быть программа опроса, которая будет иметь уникальный набор стилей. Вместо включения стилей опроса в основную таблицу стилей, я мог бы просто создать poll.css и таблицу стилей только для страниц, которые показывают опрос.
<примечание редактора> Однако, не забудьте учесть количество запросов HTTP, которые были сделаны. Многие дизайнеры предпочитают разрабатывать с несколькими таблицами стилей, а затем объединять их в один файл. Это уменьшает количество HTTP-запросов до одного. Также весь файл будет кэширован на компьютере пользователя. </ редакторы примечание>
30. Сначала проверяйте наличие закрытых элементов при отладке.
Если вы заметили, что ваш дизайн выглядит немного шатко, есть большая вероятность, что вы прекратили закрытие </ div> . Вы можете использовать валидатор XHTML, чтобы также выявлять всевозможные ошибки.
Вы могли бы также наслаждаться …
- Подпишитесь на нас в Твиттере или подпишитесь на ленту Nettuts + RSS для ежедневных новостей и статей о веб-разработке.
Основы CSS и HTML. Блочная верстка — Web-Lesson
Этот урок рекомендуется тем, кто только начинает осваивать премудрости создания сайтов. В нем даны основные понятия о HTML и CSS. Пошагово выполняя инструкции данного урока, вы уже через несколько минут сверстаете шаблон для своего сайта.
Шаблон вебсайта мы будем делать с помощью блочной верстки, использую тег – «DIV».
Шаг 1 – Разметка веб страницы с помощью тегов HTML
Прежде всего необходимо разметить нашу веб страницу используя HTML теги. Только после этого можно переходить к оформлению сайта с помощью каскадных таблиц стиля CSS.
HTML — это язык разметки гипертекста. С его помощью создается структура веб страницы. Для этих целей используются теги HTML. Они заключаются в скобки «<» и «>».
Теги, как правило следуют в паре — открывающий и закрывающий. Последний отличается тем, что имеет после первой скобки знак «/». (Например: <div></div>). С помощью тегов вы определяете, что будет располагаться на вашей веб странице.
Каскадные таблицы стилей CSS применяются позже. Они необходимы для того, чтобы разместить содержимое тегов в определенных местах страницы, а также придать этому содержимому желаемый вид.
Простейшие теги веб страницы это:
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
Впоследствии, именно между тегами <body> вы будете размещать другие теги для разметки элементов веб страницы. Важным тегом для структурирования страницы является тег <div>. Используя его, вы можете делить свою страницу на блоки.
Внутри данного тега вы сможете разместить другие HTML теги, которые вам потребуются для создания содержимого вашего сайта (ссылки, текст, изображения и тд.). Все эти элементы впоследствии обретут свой стиль с помощью каскадных таблиц стиля CSS.
Теперь, используя графический редактор (Photoshop например) нарисуем блоки нашей веб страницы:
Код HTML этой страницы будет выглядеть, как показано ниже. Это пример использования тега div:
<html>
<head>
<title></title>
</head>
<body>
<div id=»container»>
<div id=»header»>
</div>
<div id=»navigation»>
</div>
<div id=»menu»>
</div>
<div id=»content»>
</div>
<div id=»footer»>
</div>
</div>
</body>
</html>
Как видите, каждому тегу div мы дали определенный селектор ID. То есть каждому отдельному блоку нашей страницы мы дали свое название. Это необходимо для того, чтобы позже, задавая стиль блокам в файле CSS, мы могли отличать один блок от другого.
Существует два вида селекторов. ID — используется для уникальных блоков, таких, которые больше нигде на странице не повторяются. В то время как селектор CLASS — применятся для обозначения повторяющихся блоков.
Также, мы заключили все блоки внутрь блока «container«. Это сделано для того, чтобы впоследствии можно было поместить нашу страницу целиком так, как мы хотим.
Шаг 2 — прикрепление таблицы стилей CSS
Как уже было сказано, CSS таблица стилей определяет дизайн элементов веб страницы. Вы можете разместить ее как внутри своего html документа, так и прикрепить внешний файл. В этом уроке мы будем использовать последний вариант.
Если вы уже открыли свою веб страницу в браузере, то ничего там не обнаружили. Это потому, что вы не наполнили свои блоки ни каким-либо содержимым, ни придали им какой-либо формы и цвета. Контент для блоков вы можете добавить между соответствующими тегами. А вот форму, расположение цвет и другие внешние проявления блоков мы зададим с помощью файла CSS.
Но для начала вы должны создать его. Назовем его style.css и разместим в той же папке, что и документ html. После этого в html файле, между тегами необходимо добавить следующую строчку:
<link rel=»stylesheet» type=»text/css» href=»style.css» />
Таким образом мы связываем эти два файла вместе. Теперь при отображении веб страницы браузер будет использовать соответствующий файл стилей.
Шаг 3 — задаем стиль
Синтаксис CSS состоит из селектора, свойства и значения. Селектор — это тег, для которого вы хотите определить внешний вид придавая ему разнообразные свойства. Свойство задается с помощью различных атрибутов, которые в свою очередь могут принимать разные значения.
Для записи селекторов, кроме тега body, используются знаки «#» либо «.«. они следуют перед именем селектора. Первый применяется, чтобы указать на селектор ID, второй, соответственно на селктор CLASS. Селектор может иметь любое количество свойств. Которые заключаются в фигурные скобки «{}«.
#selector {
property:value;
property:value;
property:value;
}
либо
.selector {
property:value;
property:value;
property:value;
}
У нас имеются следующие селекторы:
body
container
header
navigation
menu
content
footer
Свойства и возможные значения CSS:
Фон (background) может быть задан изображением или цветом, либо и тем и другим одновременно. Чтобы отобразилось изображение, необходимо прописать путь к нему. Если фон задан цветом, то используется шестнадцатеричная система (#ffffff для белого цвета и тд.).
Свойство color используется для определения цвета текста.
font-family
— это свойство определяет семейство шрифтов, которыми будет отображаться текст. Как правило задается сразу три типа шрифтов. Поэтому, если браузер не смог отобразить первый, ему есть из чего выбирать (Trebuchet MS, Arial, Times New Roman).
font-size — размер текста, задается в различных системах измерения, здесь мы будем использовать пиксели.
margin — определяет местоположение блока. За точку отсчета при этом может выступать как окно браузера, так и границы других элементов веб страницы. Так как мы хотим разместить свою страницы посредине окна браузера, то запишем такие значения для данного свойства: 0px auto 0px auto. Запись может выглядеть проще 0px auto. Отсчет в случае задания данных значений идет по часовой стрелке: верх — право- низ — лево. Поскольку верх — низ, право — лево у нас совпадают, то дублировать их нет потребности.
width — ширина блока.
height — высота.
float — свойство, которое позволяет нам позиционировать элементы селектора, главным образом по левую или по правую сторону.
Теперь добавим код в наш файл стилей style.css (ведь вы его уже создали, да?):
body {
background: #f3f2f3;
color: #000000;
font-family: Trebuchet MS, Arial, Times New Roman;
font-size: 12px;
}
#container {
background: #FFFFFF;
margin: 30px auto;
width: 900px;
height: 1000px;
}
#header {
background: #838283;
height: 200px;
width: 900px;
}
#navigation {
background: #a2a2a2;
width: 900px;
height: 20px;
}
#menu {
background: #333333;
float: left;
width: 200px;
height: 600px;
}
#content {
background: #d2d0d2;
float: right;
width: 700px;
height: 600px;
}
#footer {
background: #838283;
height: 180px;
width: 900px;
}
Примечание
На момент написания статьи не все браузеры корректно отображали созданную веб страницу. Для устранения этого недостатка можно использовать дополнительный блок, который следует разместить сразу за блоком content.
Вот его код HTML:
<div id=»clear»>
</div>
И CSS:
#clear {
clear:both;
}
А между тегами head записать, какую кодировку необходимо использовать браузеру, если вы вдруг попробуете добавить русский текст в свои блоки:
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″ />
Финальный код HTML:
<html>
<head>
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″ />
<title>Основы HTML и CSS</title>
<link rel=»stylesheet» type=»text/css» href=»style.css» />
</head>
<body>
<div id=»container»>
<div id=»header»>Шапка сайта
</div>
<div id=»navigation»>Блок навигации
</div>
<div id=»menu»>Меню
</div>
<div id=»content»>Контент
</div>
<div id=»clear»>
</div>
<div id=»footer»>Подвал сайта
</div>
</div>
</body>
</html>
CSS:
body {
background: #f3f2f3;
color: #000000;
font-family: Trebuchet MS, Arial, Times New Roman;
font-size: 12px;
}
#container {
background: #FFFFFF;
margin: 30px auto;
width: 900px;
height: 1000px;
}
#header {
background: #838283;
height: 200px;
width: 900px;
}
#navigation {
background: #a2a2a2;
width: 900px;
height: 20px;
}
#menu {
background: #333333;
float: left;
width: 200px;
height: 600px;
}
#content {
background: #d2d0d2;
float: right;
width: 700px;
height: 600px;
}
#clear {
clear:both;
}
#footer {
background: #838283;
height: 180px;
width: 900px;
}
Надеемся, данный урок позволил вам понять основы работы с HTML и CSS.
Вот как это выглядит в браузере:
Как включить CSS — Урок CSS
Как включить CSS!
Различные способы придания стиля.
Введение
Есть несколько различных способов включения CSS на свои HTML-страницы. То есть, как получить правила, применяемые к тегам HTML. У каждого есть свои преимущества и недостатки. Выбор правильного метода или комбинации методов важен, поскольку он может сократить объем работы, которую вам нужно сделать, а также может немного улучшить скорость для посетителей ваших страниц.
Пути
Есть 4 основных способа включения CSS на наши веб-страницы. Их:
- Связанный — внешний файл, связанный с вашим HTML-документом.
- Импортировано — Внешний файл, импортированный в другой файл (обычно это файл CSS).
- Embedded — Набор правил CSS, включенных в ваш HTML-документ.
- In-line — правила CSS, применяемые непосредственно в теге HTML.
Связанный CSS
Linked CSS — один из наиболее популярных методов включения CSS. С помощью связанного CSS мы записываем все наши правила во внешний файл (обычно с расширением файла .css ), а затем включаем следующую строку в заголовок нашего HTML-документа.
Тег link обычно следует размещать в заголовке документа (см. Пример ниже).При необходимости вы можете ссылаться на несколько таблиц стилей. Для этого вы включаете отдельный тег ссылки для каждой таблицы стилей.
Атрибут href тега ссылки содержит URL-адрес или путь к таблице стилей для ссылки. Это похоже на href тега привязки и может быть как абсолютным, так и относительным путем.
Щелкните здесь, чтобы узнать больше о том, как структурировать свой URL.
Атрибут rel используется для указания отношения ресурса к документу.Для CSS мы используем значение , таблица стилей . Мы можем включать альтернативные таблицы стилей, используя несколько тегов ссылок и используя взаимосвязь альтернативная таблица стилей в качестве значения атрибута для неосновных таблиц стилей. Мы можем захотеть это сделать, если у нас есть альтернативные правила стиля для посетителей с нарушением зрения или дальтонизмом, например. К сожалению, большинство браузеров теперь требуют, чтобы вы установили надстройку, чтобы получить эту функцию.
Атрибут типа позволяет нам сообщить браузеру, что это за ресурс.В большинстве случаев вы будете включать свой CSS из простого файла, и в этом случае этот атрибут можно не указывать. Этот атрибут может потребоваться только тогда, когда мы начинаем делать причудливые вещи, такие как динамическое создание нашего CSS посредством скрипта, или при связывании других типов ресурсов.
Атрибут media позволяет нам определить, к каким типам мультимедиа следует применять правила в этой таблице стилей. Носитель может быть одним из следующих:
- все — для всех устройств.
- экран — для экранов компьютеров.
- print — когда документ распечатывается.
- речи — когда документ произносится (например, при использовании программы чтения с экрана).
Обычно, например, включают вторую таблицу стилей с media , установленным на print , которая изменяет цвета фона страницы на белый, скрывает боковое меню и т. Д., Чтобы было чище для печати.
Если вы не укажете атрибут мультимедиа, то по умолчанию будет все .
Давайте посмотрим на пример связывания CSS.
style.css
- h2 {
- оформление текста: подчеркивание;
- цвет: # 4583c2;
- }
- п {
- padding-left: 20 пикселей;
- размер шрифта: 18 пикселей;
- }
Такая связанная таблица стилей должна содержать только правила CSS и ничего больше.Не включайте в этот файл HTML-теги.
А теперь немного HTML для его применения (Примечание: ссылка находится в строке 7):
our_page.html
Наша забавная HTML-страница Унициклинг
Чтобы ездить с половиной колес, требуется вдвое больше человека.
(Примечание: здесь мы предполагаем, что style.css находится в том же каталоге, что и our_page.html. Если это не так, вам придется соответствующим образом изменить URL.)
И, наконец, результат:
Наша забавная HTML-страница
Unicycling
Чтобы ездить с половиной колес, требуется вдвое больше человека.
Преимущества использования связанных таблиц стилей заключаются в том, что мы можем записать все наши правила в один файл, а затем связать этот файл с любым количеством HTML-документов. Затем мы можем внести изменения в один файл и увидеть эти изменения во всех наших HTML-файлах. Напишите один раз, повлияйте на многих.Еще одно преимущество для конечного пользователя — скорость. После того, как внешняя таблица стилей будет загружена в первый раз, браузер кэширует ее (сохраните копию). Тогда, когда вы посещаете другие страницы, вам не нужно будет повторно загружать правила.
Импортированный CSS
С помощью импортированного css мы можем объединить правила, включенные в один файл CSS, с правилами из другого файла. Для этого мы используем ключевое слово @import в нашей таблице стилей.
@import url («more_styles.css») media-types;
Эта строка должна быть включена в файл CSS в самом верху перед любым объявлением правил.
Типы мультимедиа те же, что и для атрибута media в связанном CSS (см. Выше) и определяют, будет ли файл импортирован или нет. Это необязательно, и вы можете не указывать его, если правила должны применяться всегда.
Давайте посмотрим на пример. Здесь Department_store.css будет импортирован в sports_styles.css, который затем будет связан с HTML-документом.
Department_store.css
.css () | Документация по jQuery API
Описание: Получение вычисленных свойств стиля для первого элемента в наборе согласованных элементов.
Метод .css ()
— удобный способ получить вычисленное свойство стиля из первого совпавшего элемента, особенно в свете различных способов доступа браузеров к большинству этих свойств (метод getComputedStyle ()
в стандартизированной браузеры по сравнению со свойствами currentStyle
и runtimeStyle
в Internet Explorer до версии 9) и различными терминами, которые браузеры используют для определенных свойств.Например, реализация DOM в Internet Explorer ссылается на свойство float
как на styleFloat
, а браузеры, соответствующие стандартам W3C, обращаются к нему как к cssFloat
. Для согласованности вы можете просто использовать «float»
, и jQuery переведет его в правильное значение для каждого браузера.
Кроме того, jQuery может одинаково интерпретировать форматирование CSS и DOM свойств, состоящих из нескольких слов. Например, jQuery понимает и возвращает правильное значение для .css ("background-color")
и .css ("backgroundColor")
. Это означает, что смешанный регистр имеет особое значение, например, .css ("WiDtH")
не будет делать то же самое, что и .css ("ширина")
.
Обратите внимание, что вычисляемый стиль элемента может не совпадать со значением, указанным для этого элемента в таблице стилей. Например, вычисленные стили размеров почти всегда являются пикселями, но они могут быть указаны как em, ex, px или% в таблице стилей.Различные браузеры могут возвращать значения цвета CSS, которые логически, но не текстуально равны, например, #FFF, #ffffff и rgb (255,255,255).
Получение сокращенных свойств CSS (например, поле
, фон
, граница
), хотя оно работает в некоторых браузерах, не гарантируется. Например, если вы хотите получить отрисовку с шириной границы
, используйте: $ (elem) .css ("borderTopWidth")
, $ (elem) .css ("borderBottomWidth")
и так далее.
Элемент должен быть подключен к DOM при вызове на нем .css ()
. В противном случае jQuery может вызвать ошибку.
Начиная с jQuery 1.9 , передача массива свойств стиля в .css ()
приведет к созданию объекта пар «свойство-значение». Например, чтобы получить все четыре визуализированных значения ширины границы
, вы можете использовать $ (elem) .css (["borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth"])
.
Начиная с jQuery 3.2 , поддерживаются настраиваемые свойства CSS (также называемые переменными CSS): $ ("p") .css ("--custom-property")
. Обратите внимание, что вам необходимо указать имя свойства как есть, camelCasing не будет работать, как для обычных свойств CSS.
Примеры:
Получить цвет фона элемента div, по которому щелкнули мышью.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Как центрировать элемент с помощью CSS
Центрирование элемента с помощью CSS всегда было легко для одних вещей, но сложно для других.Вот полный список того, как центрировать с помощью CSS, а также с помощью современных методов CSS
Опубликовано , Последнее обновление
Центрирование элемента в CSS — это совсем другая задача, если вам нужно центрировать по горизонтали или вертикали.
В этом посте я объясню наиболее распространенные сценарии и способы их решения. Если Flexbox предоставляет новое решение, я игнорирую старые методы, потому что нам нужно двигаться вперед, а Flexbox уже много лет поддерживается браузерами, включая IE10.
По центру по горизонтали
Текст
Текст очень просто центрировать по горизонтали, используя свойство text-align
, для которого установлено значение center
:
p {
выравнивание текста: центр;
}
Блоки
Современный способ центрировать все, что не является текстом, — использовать Flexbox:
#mysection {
дисплей: гибкий;
justify-content: center;
}
любой элемент внутри #mysection
будет центрирован по горизонтали.
Вот альтернативный подход, если вы не хотите использовать Flexbox.
Все, что не является текстом, можно центрировать, применив автоматическое поле слева и справа и установив ширину элемента:
section {
маржа: 0 авто;
ширина: 50%;
}
выше маржа: 0 авто;
— это сокращение от:
section {
margin-top: 0;
нижнее поле: 0;
маржа слева: авто;
маржа-право: авто;
}
Не забудьте установить для элемента значение display: block
, если это встроенный элемент.
По центру по вертикали
Традиционно это всегда было сложной задачей. Flexbox теперь предоставляет нам отличный способ сделать это самым простым способом:
#mysection {
дисплей: гибкий;
align-items: center;
}
любой элемент внутри #mysection
будет центрирован по вертикали.
Центрировать по вертикали и горизонтали
Техники Flexbox для центрирования по вертикали и горизонтали можно комбинировать для полного центрирования элемента на странице.
#mysection {
дисплей: гибкий;
align-items: center;
justify-content: center;
}
То же самое можно сделать с помощью CSS Grid:
body {
дисплей: сетка;
места-предметы: центр;
высота: 100vh;
}
🚀 Начало работы
Parcel — это сборщик веб-приложений, отличающийся опытом разработки. Он предлагает невероятно высокую производительность за счет использования многоядерной обработки и не требует настройки.
Сначала установите Parcel, используя Yarn или npm:
Пряжа:
пряжа global add parcel-bundler
npm:
npm install -g parcel-bundler
Создайте файл package.json в каталоге проекта, используя:
пряжа init -y
или
npm init -y
Parcel может использовать любой тип файла в качестве точки входа, но файл HTML или JavaScript — хорошее место для начала.Если вы свяжете свой основной файл JavaScript в HTML, используя относительный путь, Parcel также обработает его за вас и заменит ссылку на URL-адрес выходного файла.
Затем создайте файлы index.html и index.js.
%MINIFYHTML8814bca45b981478f1da078b4e43abe52%
NB: Parcel преобразует ресурсы JS в ES5, который не будет работать в контексте тега
, поэтому просто используйте простые теги