Как прописать в html css: Добавление CSS | htmlbook.ru
Содержание
Добавление CSS | htmlbook.ru
Таблицы стилей могут быть добавлены на веб-страницу тремя разными способами,
которые различаются по своим возможностям.
Таблицы связанных стилей
Самый мощный и удобный способ определения стилей и правил для сайта. Стили
хранятся в отдельном файле, который может быть использован для любых веб-страниц.
Для подключения таблицы связанных стилей используется тег <link>
в заголовке страницы (пример 1).
Пример 1. Подключение таблицы связанных стилей
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Стили</title>
<link rel="stylesheet" type="text/css" href="mysite.css">
<link rel="stylesheet" type="text/css" href="http://www.mysite.ru/main.css">
</head>
<body>
<h2>Hello, world!</h2>
</body>
</html>
Путь к файлу со стилями может быть как относительным, так и абсолютным, как
показано в данном примере.
Достоинства данного способа
- Используется один файл со стилем для любого количества веб-страниц, также
возможно его применять на других сайтах. - Можно изменять таблицу стилей без модификации веб-страниц.
- При изменении стиля в одном единственном файле, стиль автоматически
применяется ко всем страницам, где есть на него ссылка. Несомненно,
удобно. Указываем размер шрифта в одном только месте, и он изменяется
на всех сто или больше веб-страницах нашего сайта. - Файл со стилем при первой загрузке помещается в кэш на локальном
компьютере, отдельно от веб-страниц, поэтому загрузка сайта происходит
быстрее.
Таблицы глобальных стилей
Стиль определяется в самом документе и обычно располагается в заголовке веб-страницы.
По своей гибкости и возможностям этот способ использования стиля уступает предыдущему,
но также позволяет размещать все стили в одном месте. В данном случае, прямо
в теле документа. Определение стиля задается тегом <style>
(пример 2).
Пример 2. Использование таблицы глобальных стилей
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Стили</title>
<style type="text/css">
h2 {
font-size: 120%; /* Размер шрифта */
font-family: Verdana, Arial, Helvetica, sans-serif; /* Семейство шрифта */
color: #336; /* Цвет текста */
}
</style>
</head>
<body>
<h2>Hello, world!</h2>
</body>
</html>
В данном примере показано изменение стиля заголовка <h2>.
На веб-странице теперь достаточно указать только этот тег и стили будут добавлены
к нему автоматически.
Внутренние стили
Внутренний стиль являются по существу расширением для одиночного тега используемого
на веб-странице. Для определения стиля используется атрибут style,
а его значения указываются с помощью языка таблицы стилей (пример 3)..
Пример 3. Использование внутренних стилей
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Стили</title>
</head>
<body>
<h2>
Hello, world!</h2>
</body>
</html>
Рекомендуется использовать внутренний стиль для одиночных тегов
или отказаться от его использования вообще, поскольку изменение
ряда элементов становится проблематичным. Внутренние стили не соответствуют
идеологии структурного документа, когда содержимое и его оформление
разделены.
Все описанные методы использования CSS могут применяться как самостоятельно,
так и в сочетании друг с другом. В этом случае необходимо помнить об их иерархии.
Первым всегда применяется внутренний стиль, затем таблица глобальных стилей
и в последнюю очередь таблица связанных стилей. В примере 4 используются
сразу два метода добавления таблиц стилей в документ.
Пример 4. Сочетание разных методов подключения стилей
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Стили</title>
<style type="text/css">
h2 { font-size: 120%; font-family: Arial, Helvetica, sans-serif; color: green; }
</style>
</head>
<body>
<h2>Hello, world!</h2>
<h2>Hello, world!</h2>
</body>
</html>
В приведенном примере первый заголовок задается красным цветом размером 36
пикселов, а следующий — зеленым цветом и другим шрифтом.
Быстрый способ подключить CSS к HTML — руководства на Skillbox
В принципе, внешний вид текста и изображений можно изменить атрибутами HTML (например, выделить заголовок), но это устаревший способ оформления, лучше использовать средства CSS.
В таблице стилей мы прописываем стили (правила) представления элементов. Каждое правило состоит из селектора и блока объявлений. Селектор в левой части правила определяет, на какие части документа распространяется правило. Блок объявлений в правой части помещается в фигурные скобки и состоит из одного или более объявлений, разделенных точкой с запятой. Другими словами, данное правило говорит браузеру, что и как мы хотим изменить в нашем документе. Что — это часть слева (селектор), а как — это часть справа (блок объявлений в фигурных скобках).
Селекторов слева может быть несколько, если мы хотим одинаковым образом изменить несколько элементов. Также и объявлений справа может быть несколько, если мы хотим дать целый ряд указаний для изменений определенного элемента (например, сменить и размер шрифта, и цвет элемента, и его местоположение на странице, а еще добавить рамку).
Таблицу стилей можно прописать конкретно в коде HTML-страницы, обрамив правила тегами <style>. Или хранить в отдельном файле .css — и применять для многих страниц. Это внутренние и внешние таблицы стилей. Их еще называют глобальными и связанными.
Но кроме этих двух обычных способов, существует «нестандартный» метод, позволяющий прописывать стили непосредственно отдельным элементам. Выглядит примерно так:
<p style=«color:red; font-size: 3em; «>
Это так называемый встроенный стиль. В данном случае атрибут style относится к HTML, а код CSS прописывается внутри скобок. Но нет особого смысла прописывать стили именно таким образом. Просто технически такая возможность существует, ее лучше знать, вдруг когда-нибудь понадобится. Если же мы хотим грамотно применить стиль только к определенному элементу (например, только к одному абзацу на отдельной странице), то в таблице стилей следует создать особый тип стиля, который называется селектором класса — он форматирует только те элементы, к которым мы применим этот класс.
Например, в случае данного абзаца (p) в таблице стилей создается селектор класса, например, skill:
.skill {
color: red;
font-size: 3em;
}
А затем тег этого абзаца трансформируется из
<p style=«color:red; font-size: 3em; «>
в
Так можно грамотно подключать стили к документу вместо того, чтобы прописывать встроенные стили. У этого метода ряд очевидных преимуществ: гораздо удобнее хранить стили изолированно и отдельно от документа: так их легче редактировать и применять к разным документам (вдруг вы захотите использовать тот же класс skill для еще одного абзаца?). Но главное — так соблюдается концептуальное разделение контента (HTML) и оформления (CSS).
Возьмем тот же простой стиль, который определяет размер шрифта (font-size) и цвет (color) для абзацев (p) на странице.
p { color: red; font-size: 3em; }
Этот код можно внедрить непосредственно в конкретную HTML-страницу, обрамив тегами <style></style>. Все это вставляется в код страницы сразу после заголовка (тег <title>).
Таким образом, наша страница будет теперь выглядеть следующим образом:
<title>Заголовок</title>
<style>
p {
color: red;
font-size: 3em;
}</style>
. ..и так далее.
Полный код такой страницы:
<!DOCTYPE HTML>
<html>
<head>
<meta charset=«utf-8«>
<title>Стили Skillbox</title>
<style>
p {
color: red;
font-size: 3em;
}</style>
</head>
<body>
<p>Привет, мир!</p>
</body>
</html>
Обратите внимание на оформление кода CSS. На самом деле не обязательно начинать каждое объявление с новой строки или оставлять отдельные строки для фигурных скобок. Просто принято оформлять код именно так для лучшей читаемости, при этом перед объявлениями ставится табуляция или несколько пробелов.
Сейчас мы создали внутреннюю таблицу стилей, которую в будущем сможем редактировать по своему желанию: добавлять новые правила, то есть селекторы и объявления для любых элементов на странице. Более того, можно даже вынести ее в отдельный файл .css — и применить сразу для многих HTML-страниц. Это уже будут внешние таблицы стилей.
Внешние таблицы стилей хранятся в отдельном файле с расширением .css. Вы можете создать этот файл хоть в Блокноте, главное — сохранить под правильным расширением. Содержание этого файла не отличается от кода, который мы написали для внутренних стилей и поместили между открывающим тегом <style> и закрывающим </style>:
p {
color: red;
font-size: 3em;
}
То есть в файле .css пишется все то же самое, что и во внутренних стилях. И наоборот: во внутренних стилях внутри тегов <style> можно писать все то же самое, что и в файле .css. Разница только в том, что внешние стили могут применяться сразу к нескольким страницам HTML и даже ко всему сайту целиком.
Теперь вместо тегов <style> в HTML-файлы нужно вставить код, который указывает на местонахождение внешней таблицы стилей. Он вставляется в то же самое место после заголовка (<title>), где мы раньше размещали встроенные стили:
<link href=»styles.css» rel=»stylesheet«>
Он будет выглядеть так:
<!DOCTYPE HTML>
<html>
<head>
<meta charset=«utf-8«>
<title>Стили Skillbox</title>
<link href=»styles. css» rel=»stylesheet«>
</head>
<body>
<p>Привет, мир!</p>
</body>
</html>
В данном примере не указан путь до файла styles.css, потому что он лежит в той же папке, что и документ HTML. Если же файл находится в другой папке или вообще на другом сервере, то следует указать полный абсолютный или относительный путь к нему. В случае нашего сервера достаточно относительного пути с указанием только папки, где лежит файл. В случае другого сервера потребуется полный абсолютный путь с указанием доменного имени.
Прелесть внешних стилей в том, что на один и тот же стиль могут ссылаться сколько угодно страниц HTML с любого количества доменов. То есть чтобы поменять шрифт или другим образом изменить внешний вид сотен или тысяч страниц на сотнях или тысячах сайтов, мы просто меняем одну строчку в файле . css.
Из предыдущего раздела понятно, как использовать чужой стиль в своем документе: просто укажите URL соответствующего файла в своих HTML-документах.
<link href=»https://example.com/styles.css» rel=»stylesheet«>
Вот и все. Но имейте в виду: если владелец сайта изменит свой стиль — у вас тоже поменяются все страницы! Может быть, проще скопировать его файл .css к себе на сервер.
Как подключить CSS — это лишь начало большой и интересной дороги по изучению веб-программирования. Курс «Профессия — веб-разработчик» познакомит вас с основными инструментами веб-разработчика: HTML, CSS, JavaScript и PHP. Годовая программа обучения идеально подходит людям, которые хотят с чистого листа освоить навыки профессионального веб-разработчика, а также начинающим программистам.
В итоге вы научитесь создавать свои собственные веб-проекты и сможете претендовать на позицию джуниор-разработчика.
Курс «Профессия Веб-разработчик»
Практический годовой курс для тех, кто хочет стать профессиональным веб-разработчиком, запустить свой интернет-проект или веб-сервис и получить первые заказы на разработку.
-
Живая обратная связь с преподавателями -
Неограниченный доступ к материалам курса -
Стажировка в компаниях-партнёрах -
Дипломный проект от реального заказчика -
Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы
Как структурирован CSS — Изучение веб-разработки
Теперь, когда у вас есть представление о том, чем является CSS, и о его основах, настало время посмотреть немного глубже в структуру самого языка. Нам уже встречались многие из обсуждаемых здесь концепций; вы можете вернуться к этому, чтобы разобраться, если вы обнаружите какие-либо более поздние концепции запутанными.
Первое, что мы рассмотрим, это три метода применения CSS к документу.
Внешняя таблица стилей
В статье Начало работы с CSS мы связывали внешнюю таблицу стилей с нашей страницей. Это самый распространённый и полезный способ крепления CSS к документу, так вы можете привязать CSS сразу к нескольким страницам, что позволяет стилизовать их всё с той же таблицей стилей. В большинстве случаев различные страницы сайта будут выглядеть почти так же, поэтому вы можете использовать один и тот же набор правил для основного вида.
Внешняя таблица стилей — это когда у вас есть CSS отдельным файлом с расширением .css
, и ссылка на него из HTML-элемента <link>
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Я пробую писать CSS</title>
<link rel="stylesheet" href="styles. css">
</head>
<body>
<h2>Привет!</h2>
<p>Это мой первый опыт в CSS</p>
</body>
</html>
Файл CSS может выглядеть следующим образом:
h2 {
color: blue;
background-color: yellow;
border: 1px solid black;
}
p {
color: red;
}
Атрибут href
элемента <link>
должен ссылаться на файл в файловой системе.
В приведённом выше примере файл CSS находится в той же папке, что и HTML-документ, но вы можете поместить его куда-нибудь ещё и настроить относительный путь, например:
<link rel="stylesheet" href="styles/style.css">
<link rel="stylesheet" href="styles/general/style.css">
<link rel="stylesheet" href="../styles/style.css">
Внутренняя таблица стилей
Внутренняя таблица стилей, где у вас нет внешнего файла CSS, но вместо этого CSS помещён внутри элемента <style>
, содержащейся внутри HTML <head>
.
Таким образом, HTML будет выглядеть вот так:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Я пробую писать CSS</title>
<style>
h2 {
color: blue;
background-color: yellow;
border: 1px solid black;
}
p {
color: red;
}
</style>
</head>
<body>
<h2>Привет!</h2>
<p>Это мой первый опыт в CSS</p>
</body>
</html>
Это может быть полезно в некоторых обстоятельствах (возможно, вы работаете с системой управления контентом, где вы не можете изменить CSS-файлы непосредственно), но это менее эффективно, чем внешние таблицы стилей: CSS будет необходимо прописывать отдельно для каждой страницы и изменять, если требуются изменения.
Встроенные стили
Встроенные стили являются правилами CSS, которые влияют только на один элемент, содержащиеся в атрибуте style
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Я пробую писать CSS</title>
</head>
<body>
<h2>Привет!</h2>
<p>Это мой первый опыт в CSS</p>
</body>
</html>
Пожалуйста, не делайте этого! Это очень плохо для технического обслуживания (вам, возможно, придётся обновить одну и ту же информацию несколько раз в одном документе), а также смешивает ваши презентационные данные CSS с структурной информацией HTML, что делает код трудным для чтения и понимания. Хранение различных типов кода отделено делает работу гораздо более лёгкой для всех, кто работает над кодом.
Есть несколько мест, где встроенные стили являются более распространёнными или даже желательными. Вам, возможно, придётся прибегнуть к использованию их, если ваша рабочая среда сильно ограничена (возможно, ваша CMS позволяет редактировать только HTML-тело). Вы также увидите, как они использовали много в HTML электронной почте, чтобы получить совместимость с таким количеством почтовых клиентов, со скольким это возможно.
Существует много возможностей, чтобы поиграть с CSS в этой статье. Для этого мы рекомендуем создать новый каталог / папку на вашем компьютере и внутри него создать копии следующих двух файлов:
index.html:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Я пробую писать CSS</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<p>Пишите сюда свой код</p>
</body>
</html>
styles. css:
Затем, когда вы столкнётесь с CSS и захотите поэкспериментировать со стилями, измените содержимое <body>
HTML-документа и начинайте добавлять CSS-стили внутри вашего файла CSS.
Если вы не используете систему, в которой вы можете легко создавать файлы, вы можете вместо этого использовать интерактивный редактор ниже чтобы экспериментировать.
Читайте дальше и получайте удовольствие!
Говоря о CSS, нельзя не упомянуть о селекторах, о некоторых типах которых мы уже говорили в руководстве Начало работы с CSS. Селектор — это то, как мы обозначаем что-либо в нашем HTML-документе, чтобы стилизовать его. Если стиль не применился, то это, скорее всего, потому, что селектор в таблицах стилей не совпал с тем, что в HTML-документе.
Каждое CSS-правило начинается с одного или нескольких селекторов, отделяемых друг от друга запятыми, чтобы дать понять браузеру, к чему применять стили. В следующем примере перечислены стандартные селекторы:
h2
a:link
. manythings
#onething
*
.box p
.box p:first-child
h2, h3, .intro
Примечание: вы узнаете больше о селекторах в руководстве CSS-селекторы в следующем модуле.
Спецификация
Иногда может случаться такое, что два селектора будут относиться к одному и тому же элементу HTML. Смотрите: в примере ниже я задал правило для элемента p
— он будет синим; также я задал класс, который сделает элемент красным:
.special {
color: red;
}
p {
color: blue;
}
А теперь допустим, что в нашем HTML-коде у нас есть абзац p
с классом special
. Оба правила могут быть добавлены: так какое же одержит верх? Как вы думаете, какого цвета будет надпись?
<p>Какого же я цвета?</p>
В языке CSS есть правила, которые определяют, какое правило «выиграет» в случае подобного столкновения — они называются каскадами, или спецификациями. В примере ниже мы задали два правила для селектора p
, но в итоге текст будет синим: объявление, делающее надпись синей, появилось позже того, которое делает её красной. Это каскад в действии.
p {
color: red;
}
p {
color: blue;
}
А в примере с селектором класса и селектором тега победит селектор класса — даже если он объявлен раньше.
Попрактикуйтесь сами — добавьте два правила для параграфа p { ... }
в вашу таблицу стилей. Затем добавьте класс к одному элементу p
и попробуйте применить к нему какой-нибудь стиль.
Понимание каскадов, или правил, улучшается с практикой. В статье Каскад и наследование я хорошенько объясню, как определить уровень спецификации. А пока что запомните, что иногда CSS не применяется так, как вы того хотели бы, так как у чего-то в таблице стилей больший уровень спецификации.
Если говорить в общем, CSS строится на двух его составляющих:
- Свойства
- Определяют, какую характеристику вы желаете изменить (например,
font-size
,width
,background-color
).
- Значения
- Это величина свойства, определяющая, как и/или насколько вы желаете изменить свойство.
На изображении внизу выделены свойство и его значение. Здесь свойство — color
, а его значение — blue
.
Свойство вкупе со значением называется CSS-объявлением. CSS-объявления помещаются внутри блока объявлений CSS. Ниже показан наш CSS-код с выделенным блоком объявлений.
Наконец блок объявлений воссоединяется с селекторами, образуя CSS-правила. Наше изображение содержит два правила — одно для селектора h2
, другое для селектора p
. Правило для h2
выделено.
Установление значений для CSS-свойств — вот суть языка CSS. Движок CSS определяет, какие объявления применять к каждому элементу на странице, чтобы соответствующим образом размещать и стилизовать его. Необходимо запомнить, что и свойства, и значения чувствительны к регистру. Пара свойство–значение разделяется двоеточием (:
).
Попробуйте подобрать нужные значения к следующим свойствам, а свойства добавить в ваш код:
Важно: Если свойство или значение не определено, то объявление считается недействительным — и будет попросту проигнорировано.
Важно: В CSS (и прочих веб-стандартах) американское написание является стандартом. Например, color
надо всегда писать color
; британский вариант colour
не будет работать.
Функции
Чаще всего значения принимают форму числа или ключевого слова; существуют способы создавать функции для значений. Для примера можно взять функцию calc()
. Она позволяет вам совершать лёгкие математические вычисления внутри CSS, например:
<div><div>The inner box is 90% - 30px.</div></div>
.outer {
border: 5px solid black;
}
.box {
padding: 10px;
width: calc(90% - 30px);
background-color: rebeccapurple;
color: white;
}
В результате получим это:
Функция состоит из названия и скобок, внутри который помещается выражение с допустимыми для данной функции знаками. В примере выше я задал значение ширины блока равной 90% внешнего блока минус 30px. Не могу же я сказать, чему равны 90% блока?!
В следующем примере будут различные значения для свойства <transform>
rotate()
.
.box {
margin: 30px;
width: 100px;
height: 100px;
background-color: rebeccapurple;
transform: rotate(0.8turn)
}
Результат этого кода будет:
Найдите несколько значений для следующих свойств, а свойства добавьте в ваш файл:
До сих пор не сталкивались мы с правилами @rules
(произносится как эт-рулс, от английского «at-rules»). Это особые правила, дающие CSS инструкции, как вести себя. У некоторых правил @rules
простые названия и значения. Чтобы, к примеру, импортировать ещё одну таблицу стилей в основной CSS-файл, нужно использовать @import
:
Чаще других встречается @rules
под названием @media
: оно позволяет вам использовать медиавыражения, чтобы применять CSS в определённых случаях, только если выполняются те или иные условия (например, при изменении размеров окна или при просмотре сайта с иного типа устройства).
Ниже у нас CSS-файл, в котором значение заднего фона элемента <body>
равно pink
. Однако после мы добавили правило @media
, которое делает задний фон элемента синим, при условии если ширина окна не менее 30em.
body {
background-color: pink;
}
@media (min-width: 30em) {
body {
background-color: blue;
}
}
Вы столкнётесь и с другими правилами @rules
в продолжение следующих уроков.
Добавьте правило, которое изменяет стиль элемента, основываясь на ширине окна. Измените ширину окна, чтобы увидеть результат.
Некоторые свойства вроде font
, background
, padding
, border
и margin
называются стенографическими свойствами, — они позволяют установить несколько значений свойств в одной строке, ускоряя запись и делая её аккуратной.
К примеру, это строка (комментарий не в счёт):
padding: 10px 15px 15px 5px;
делает то же самое, что и эти четыре, вместе взятые:
padding-top: 10px;
padding-right: 15px;
padding-bottom: 15px;
padding-left: 5px;
или эти:
padding-block-start: 10px
padding-inline-end: 15px;
padding-block-end: 15px;
padding-inline-start: 5px;
в то время как строка:
background: red url(bg-graphic.png) 10px 10px repeat-x fixed;
делает то же, что и эти строки:
background-color: red;
background-image: url(bg-graphic.png);
background-position: 10px 10px;
background-repeat: repeat-x;
background-scroll: fixed;
Мы не будем проходить это сейчас — вы можете найти эти и многие другие стенографии в Руководстве по CSS.
Добавьте вышеупомянутые объявления в ваш код. Попробуйте изменить значения и посмотреть на результат.
Осторожно: Стенографии позволяют пропускать некоторые величины, и это может отразиться на результате недолжным образом.
Как и в HTML, вы можете делать комментарии, чтобы прояснить тот или иной отрывок кода.
Комментарии в CSS начинаются с /*
и окачиваются с */
. В примере ниже я отметил комментариями различные разделы кода. Это очень полезно для навигации — комментарии легче искать.
body {
font: 1em/150% Helvetica, Arial, sans-serif;
padding: 1em;
margin: 0 auto;
max-width: 33em;
}
@media (min-width: 70em) {
body {
font-size: 130%;
}
}
h2 {font-size: 1.5em;}
div p, #id:first-line {
background-color: red;
background-style: none
}
div p{
margin: 0;
padding: 1em;
}
div p + p {
padding-top: 0;
}
Отделяя комментариями участки кода, не нуждающиеся в проверке, вы можете выискивать ошибку (если такая есть). Ниже я отделил правило для селектора .special
.
Добавьте комментарии в ваш CSS-код, чтобы приноровиться к ним.
Под отступами подразумеваются пробелы, табуляция и перенос на новую строку. Как и в HTML, браузер будет стараться игнорировать большие отступы в CSS-коде; к тому же большие отступы пагубны для читаемости кода.
В примере ниже каждое объявление (а также начало/окончание правила) находится на своей строке — это, возможно, наилучший вариант написания CSS-кода: он понятен и аккуратен:
body {
font: 1em/150% Helvetica, Arial, sans-serif;
padding: 1em;
margin: 0 auto;
max-width: 33em;
}
@media (min-width: 70em) {
body {
font-size: 130%;
}
}
h2 {
font-size: 1.5em;
}
div p,
#id:first-line {
background-color: red;
background-style: none
}
div p {
margin: 0;
padding: 1em;
}
div p + p {
padding-top: 0;
}
То же самое вы можете написать, не добавляя большие отступы, — коды идентичны; но я уверен, вы согласитесь, что это очень тяжело прочитать:
body {font: 1em/150% Helvetica, Arial, sans-serif; padding: 1em; margin: 0 auto; max-width: 33em;}
@media (min-width: 70em) { body {font-size: 130%;} }
h2 {font-size: 1.5em;}
div p, #id:first-line {background-color: red; background-style: none}
div p {margin: 0; padding: 1em;}
div p + p {padding-top: 0;}
Как вы будете оформлять код — решать вам; хотя, работая в команде, вы обнаружите, что она придерживается тех правил форматирования, которые в ней утверждены.
Внимательно делайте отступы в свойствах и значениях. К примеру, такие объявления будут работать:
margin: 0 auto;
padding-left: 10px;
А такие объявления не действительны:
margin: 0auto;
padding- left: 10px;
Всегда отделяйте друг от друга значения, а свойства пишите без пробелов через дефис.
Добавьте отступы в ваш код и посмотрите, что повлияет на код, а что нет.
Полезно знать, как браузер делает из HTML и CSS готовую страницу, поэтом следующая ваша статья — Как работает CSS — мы рассмотрим этот процесс.
Основы CSS
Для удобства и сокращения кода CSS Вы можете группировать и комбинировать селекторы.
Комбинируя селекторы Вы можете быть более конкретными в том, какой элемент или группу элементов Вы хотели бы выбрать.
К примеру, если Вы хотите, чтобы абзацы и заголовки h3 и h4 были написаны одним шрифтом и цветом и отличались только лишь размером, Вы можете сперва сгруппировать элементы <p>, <h3> и <h4> и указать для них шрифт и цвет, и уже ниже для каждого элемента указать отдельно размер шрифта. Выглядеть это будет примерно следующим образом:
p, h3, h4
{ font-family: Georgia, 'Times New Roman', Times, serif;
color: #333;
}
p {
font-size:
1.1rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.3rem; }
Разберем еще один, более сложный пример комбинации селекторов. Например, у Вас есть страница, в которой абзацы лежат внутри элемента с классом brightstyle, но при этом для отдельных абзацев прописан собственный стиль dullstyle, и Вы хотите для всех абзацев brightstyle установить красный цвет текста, а для тех абзацев, у которых свой класс dullstyle — серый цвет текста (иными словами, в HTML у Вас, скажем, есть <div> и для него прописан класс brightstyle — <div, внутри него несколько абзацев <p>, а также несколько абазцев с собственными классами <p>…</p>). Представим, как это будет выглядеть в CSS:
.brightstyle p { color: red; } .brightstyle p.dullstyle { color: gray; }Тут стоит обратить внимание на то, что крайний справа селектор будет всегда считаться основным, а все стоящие слева от него — уже уточняющими.
Иными словами, сперва в нашем примере описано, что для всех абзацев <p> (это основной селектор) с классом brightstyle (это уже уточнение) будет применяться красный цвет.
Затем указано, что для всех элементов с классом dullstyle (основной селектор), являющихся абзацами <p>, лежащими внутри класса brightstyle (это уточнения) будет применен серый цвет.
Также стоит заметить, что на применение стилей влияет наличие пробелов.
В нашем примере есть пробел между «.brightstyle» и «p.dullstyle», но нет пробела между «p» и «.dullstyle».
Отсутствие пробела указывает на то, что цвет будет применен только к абзацам <p> с классом .dullstyle, таким образом объединяя 2 селектора одного элемента, повышая специфичность селектора. Если просто убрать пробел — запись p .dullstyle будет означать последовательность селекторов, то есть читать можно будет так — элементы с классом .dullstyle внутри абзаца <p>. Если бы мы убрали пробел и селектор абзаца <p> — цвет применился бы ко всем элементам с классом .dullstyle, а не только к абзацам <p>, таким образом снизится специфичность селектора.
как подключить CSS к HTML-странице
CSS — каскадные таблицы стилей, являющиеся неотъемлемой составляющей разработки сайта. HTML позволяет только расставить объекты на веб-странице. С вопросами цвета и стилей помогает CSS. В этой статье рассказано о способах подключения каскадных таблиц к проекту.
Как работает CSS
Добавляя каскадные таблицы, программист пишет правила, включающие блок объявлений и селектор. Первый вписан в фигурные скобки, в нем может находиться одна или несколько частей, разделенных точкой с запятой. Второй — указывает на какие отрезки кода распространяется правило. Оно «рассказывает» браузеру что именно и как отобразить на веб-странице. За «что» отвечает селектор, находящийся слева, а за «каким образом» — текст в скобках, расположенный справа. Нередко встречается вариант, когда верстальщик вписывает несколько селекторов. Это происходит в ситуации, если одни настройки должны срабатывать для нескольких элементов. Если же добавлено два и более объявлений, это значит, что к одной части должны прикрепиться много изменений. Ярким примером добавления нескольких свойств является блок, которому одновременно задают заливку, рамку, скругление и выравнивание по центру.
Как подключить CSS к своему проекту
Есть много способов прикрутить CSS к проекту. Первый — прописать все параметры в коде HTML-страницы. Для этого пригодится открывающий и закрывающий тег «style» — в нем будут содержаться правила. Второй — создать самостоятельный файл с расширением .css. У этих двух методов есть названия — внутренние и внешние таблицы стилей. Также веб-разработчики именуют их глобальными и связанными.
Существует еще один путь, помогающий привязывать стили к отдельным фрагментам. Так он выглядит:
Его называют встроенным. В нем содержится атрибут «style», относящийся к HTML, а в скобках записан уже CSS-код. Стоит учитывать, что использование такого варианта — не лучшее решение для большинства ситуаций. Он работает, но не считается правильным.
Когда требуется застилить отдельный элемент, стоит создать селектор класса. Он придаст форму исключительно тем элементам, к которым применили определенный класс.
В качестве примера возьмем абзац, с селектором «skill»:
Такой тег превращается из:
в конструкцию, при помощи которой присвоение стилей является максимально правильным:
Этот метод считается корректным потому, что хранение CSS гораздо удобнее, когда стили изолированы от файла, ведь в таком случае заготовки можно применить к разным страницам. Это особенно актуально для крупных ресурсов, ведь существенно легче задать параметры для всех веб-страниц, чем настраивать каждую по-отдельности. Но более важно то, что гипертекстовая разметка и каскадные таблицы не смешиваются, а значит сохраняется разграничение контента и его оформления.
Что нужно для работы внутренних таблиц стилей
В примере взята несложная конструкция, задающая для абзацев «p» цвет — color и размер шрифта — font-size.
Данный отрезок вставляют в какую-либо HTML-страницу, используя тег «style». Такой блок располагается следом за «title» — текстом, высвечивающимся в панели вкладок браузера. В коде это будет выражено так:
Полный код страницы:
А это появляется на браузерной веб-странице, если нажать в редакторе на правую кнопку мыши и выбрать «open in browser»:
В упражнении читатель сделал внутреннюю таблицу стилей, которую можно в любое время отредактировать. Она пригодна для вынесения кода в самостоятельный документ с расширением .css, после чего она перейдет в форму внешних таблиц, ее можно будет добавить в любое количество веб-страниц.
Особое внимание стоит обратить на форму записи кода. Есть правила, унифицирующие код и делающее его читабельным — они особенно полезны, когда над проектом трудится не один человек или когда веб-ресурс расширяется. Теоретически, если рассматривать вопрос с технической стороны, то совершенно незачем оставлять отдельные строки для фигурных скобок. Но с таким кодом сложнее работать, так как отдельные его части не считываются настолько легко.
Отличие внешних таблиц CSS-стилей
Как уже упоминалось выше, внешние таблицы имеют расширение .css и сохраняются в отдельном файле. Создания такого документа предусматривает использование специальных текстовых редакторов (Sublime Text) или знакомого всем пользователям компьютера блокнота. Главным правилом, из-за которого файл приобретает свои свойства, является правильное разрешение. Прописать его можно в названии, просто поставив после имени точку и «css» . На изображении приведен пример кода:
Внимательный читатель мог заметить, что строки на этой картинке не отличаются от написанного для внутренних таблиц. Отличие только в окружающих блок тегах и возможности применения настроек к нескольким веб-страницам или целому сайту. Если подробнее рассмотреть первое отличие, понятно, что дополнительные теги указывают на расположение таблицы. Вставляется блок также после «title».
Как это выглядит в редакторе:
Путь к файлу styles.css не указан полностью — это допустимо, если оба документа находятся в одной папке.
Можно ли импортировать чужие стили
Чтобы задействовать взятые из открытого доступа наработки, нужно лишь указать URL выбранного CSS-файла в своих HTML-документах.
Неудобство описанного метода в сохранении доступа к редактированию CSS-кода его изначальным владельцем. Выходит, что при смене любых показателей в исходнике, в позаимствованном коде автоматически скорректируется каждая веб-страница. Поэтому часто более простым и предсказуемым путем становится копирование файла на свой сервер.
Подключение CSS — это далеко не все интересные моменты, которые придется пройти будущему frontend-программисту в процессе обучения. На старте пути особенно ценна менторская поддержка опытного преподавателя, поэтому многие люди приходят на курсы по верстке в Харькове или онлайн. Они рассчитаны на новичков — можно прийти без подготовки и научиться всему последовательно, без формирования пробелов в знаниях. Выпускники получают возможность пройти пару бесплатных уроков — один с HR, а другой — на тему фриланса. Наиболее успешные ученики также могут рассчитывать на помощь в трудоустройстве.
Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.
Что такое CSS: объясняем простыми словами | GeekBrains
Почему нельзя обойтись одним HTML и при чём тут какие-то каскады
https://d2xzmw6cctk25h.cloudfront.net/post/2270/og_image/9969a3f6341d09d7adb07e4042d1c690.png
Встречая аббревиатуру CSS впервые, новички уже догадываются, что это как-то связано с сайтами. Разберёмся: CSS — Cascading Style Sheets — это каскадные таблицы стилей. По сути — язык, который отвечает за описание внешнего вида HTML-документа. Подавляющее большинство современных веб-сайтов работают на основе связки HTML+CSS.
Теперь ответим на вопрос о том, что делает CSS. Всё просто: если HTML структурирует контент на странице, то CSS позволяет отформатировать его, сделать более привлекательным для читателя. Изначально веб-разработчики использовали исключительно HTML — так было на заре развития интернет-технологий. С помощью разметки можно было выделить параграф, заголовок, изменить начертание текста. А большего и не требовалось.
Со временем этих возможностей стало мало — и появилась технология форматирования без изменения самого содержимого и структуры документа. CSS решил проблему «зоопарка» тегов форматирования, когда разные браузеры поддерживали разные теги. Их унификация и единая база упростили работу с веб-документами и облегчили жизнь веб-мастерам.
CSS и стили
CSS используется для определения стилей (правил) оформления документов — включая дизайн, вёрстку и вариации макета для различных устройств и размеров экрана. У такого способа форматирования несколько достоинств:
- теги не дублируются;
- документ проще обслуживать;
- внешний вид всего сайта можно изменить централизованно, а не корректировать форматирование каждой странички.
Стили можно разметить внутри тега <HEAD> или использовать отдельный CSS-файл.
Вот так можно прописать CSS в качестве атрибута непосредственно в HTML:
А так CSS прописывается при помощи тега <style> и в теге <head> документа HTML.
Теперь разберёмся, что такое CSS-файл. Всё просто — это файл с расширением .css, где прописываются правила оформления документа. Чтобы привязать файл к оформлению страницы, нужно использовать тег <link>:
Современный способ оформления веб-документов вошёл в практику в 2011 году. Это свойство CSS grid — теперь оно поддерживается практически всеми браузерами. И если раньше приходилось верстать документы с использованием элементов вроде <div>, то сейчас всё это выполняется средствами CSS.
После того как этот способ стал стандартом, проблема разделения содержания (HTML) и оформления (CSS) решилась раз и навсегда.
Синтаксис CSS
У языка CSS относительно простой синтаксис. Сначала прописывается селектор — он выбирает конкретный элемент на странице. Потом, после фигурных скобок, указываются свойства со значениями — между ними ставится двоеточие. Сами свойства отделяются друг от друга точкой с запятой.
Что такое селектор в CSS? Это конструкция, которая позволяет выбрать отдельные или однотипные элементы на странице, чтобы их стилизовать. С селектора начинается каждый блок объявлений в CSS:
.my-class { background-color: #999; }
В качестве селектора в примере используется my-class. Все элементы с этим классом получают единое оформление — серый фон цвета #999.
Каскады в CSS
И всё-таки почему CSS — это именно Cascading Style Sheets? Дело в том, что в единую схему стили организуются при помощи каскада. Вот простой пример, который также поможет понять, что такое CSS-код и как он выглядит:
p { color: green; font-size: 20px; } p { color: red; }
При помощи каскадов мы присвоили элементу p красный цвет. Зелёный цвет, указанный выше красного, учитываться не будет. Используется то значение параметра, которое указано ниже, и это помогает избежать конфликтов. При этом размер шрифта — 20 пикселей — не меняется. Если упростить написанное выше, то получится:
p { color: red; font-size: 20px; }
Кроме того, один элемент можно сделать зависимым от нескольких селекторов разного типа. Пример:
p { color: red; } p.important { font-size: 20px; } #intro { font-style: italic; }
Чтобы использовать все параметры, в HTML указываем:
<p> CSS упрощает форматирование документов. </p>
Здесь мы присвоили элементу следующие свойства: он красный, размером 20 пикселей и написан курсивом. Важно, что в данном случае у разных селекторов — разный приоритет. Их порядок:
- Селектор типа элемента (p).
- Селектор класса (.important).
- Селектор id (#intro).
1 — низкий приоритет, 3 — высокий.
Приоритеты в CSS
Обговорим подробнее вопрос приоритетов. Их иерархия работает следующим образом:
- Самый высокий приоритет у свойств, в конце объявления которых указано !important.
- Затем идут инлайновые стили, которые прописываются в теге через атрибут style.
- Ещё ниже приоритет стилей, заданных в теге style в самом документе.
- Далее следуют стили, подключённые к документу как внешний CSS-файл с использованием тега <link>
Методологии CSS
Начинающему веб-мастеру для работы с CSS достаточно просто знать, что такое стили и как их использовать, изучить основные свойства и способы их задавать. А вот при работе с большими проектами уже необходимо использовать специализированные инструменты, а также чёткие стандарты написания CSS. Иначе другие разработчики просто не смогут нормально обслуживать код.
Единой методологии CSS нет. Существует несколько вариантов, и задача разработчика — выбрать ту методологию, которая оптимально ему подходит. Но сначала стоит разобраться с основами, научиться работать с CSS. Кстати, новые варианты появляются не так уж редко, так что за новинками стоит следить.
Наиболее популярные современные методологии CSS — это Atomic CSS (Functional CSS) и CSS в JavaScript. В основе первого варианта лежит использование максимального количества базовых классов, чтобы как можно чаще применять их повторно. Сторонники второго варианта считают, что стили CSS стоит определять не в отдельной таблице, а внутри каждого компонента.
Будущее CSS
CSS постоянно развивается — сейчас активно разрабатывается уже третье поколение этого стандарта. В нём спецификация разделяется на модули, причём разработка и развитие каждого из них идут независимо. Разработчики современных браузеров постепенно расширяют поддержку стандарта CSS3.
Несколько лет назад начало формироваться и четвёртое поколение стандарта CSS, но пока спецификации находятся на уровне драфтов.
Все премудрости CSS, HTML и их совместного использования вы можете освоить на отдельном интерактивном курсе GeekBrains. В течение месяца вы научитесь верстать статические сайты, освоите блочную вёрстку, препроцессор Less, Bootstrap и другие полезные инструменты.
Кроссбраузерность HTML страниц: зачем нужны reset.css и normalize.css
Чтобы страница одинаково хорошо отображалась в разных браузерах, необходимо работать над ее кроссбраузерностью. В этом нам помогает тестирование страницы и отладка html/css разметки. Но есть инструменты, которые помогут сократить наведение порядка в стилях, и добиться того чтобы базовые стили были одинаковы в разных браузерах. Что это за инструменты, зачем и как их использовать — рассмотрим далее.
Браузеры и базовые стили
Дело в том что каждый браузер имеет по умолчанию некий набор базовых стилей которые он применяет к странице по умолчанию. И если мы создадим страницу на «голом» html без оформления и стилей, браузер все равно отобразит тег <h2></h2> большим размером и жирным начертанием, <h3></h3> чуть меньшим размером и так далее. Браузер выделит текст в теге <i> курсивом, <u> сделает подчеркнутым, а <b> — жирным.
Произойдет так потому что в браузере уже есть свои стили для элементов, которые по умолчанию применяются к открываемым в нем страницам. И дело в том что в разных браузерах эти правила немного отличаются, от браузера к браузеру. Лет 10 назад эти отличия были прямо кардинальными, и очень бросались в глаза. Сейчас они минимальны, но все же есть.
Чтобы убрать эти различия, и сделать по умолчанию отображение страницы во всех браузерах одинаковым — используют специальный .css файл: reset.css или normalize.css
reset.css — что он делает и как его использовать
Первым появился файл reset.css. Этот css файл содержит в себе перечисление всех возможных html тегов, и сбрасывает их значение на ноль. То ест убирает все возможные отступы, делает шрифт одинаковым во всех тегах, сбрасывая все стили текста. Так что все заголовки и абзацы отображаются простым текстом, одним размеров и без отступов. В результате получаем сброс стилей по умолчанию во всех браузерах.
Работает это так, сначала на странице подключаем файл reset.css, и уже после него свой файл со стилями. В итоге мы сначала сбрасываем все стили, и уже потом в style.css задаем оформление html тегам. Таким образом мы достигаем того что все браузеры сбросят свои стили по умолчанию, и вся разметка будет основываться на тех стилях которые мы зададим в style.css.
Скачать reset.css
Скачать reset.css можно на сайте cssreset.com
Или можете скачать версию Eric Meyer’s “Reset CSS” 2.0 по кнопке ниже, с моего блога:
Eric Meyer’s “Reset CSS” 2.0 (2028 downloads)
normalize.css — как он работает и в чем разница
После того как на странице подключен reset.css все стили приходится прописывать заново. И каждый раз это занятие утомляет. Поэтому на смену resetпришел другой инструмент — normalize. Normailze — как понятно из названия, не сбрасывает все стили, а нормализует, приводит их к единому виду во всех браузерах. После его применения базовые стили отображения заголовков, размер шрифтов, отступы… — унифицируются и отображаются во всех браузерах одинаково. Используя его — можно сэкономить определенное количество времени, которое в случает с reset было бы потрачено на прописывание сброшенных стилей.
Если вы еще не использовали normalize.css то рекомендую попробовать его в своем следующем, прокте, и кто знает, возможно вы уже не сможете от него отказаться 😉
Скачать normalize.css
Скачать normalize.css можно с сайта necolas.github.io/normalize.css
Или загрузить с моего блога:
Normalize.css (3898 downloads)
Что лучше reset или normalize?
Однозначного ответа нет.
Первый — сбрасывает все стили, второй — приводит к единому знаменателю. Опытные верстальщики, которые используют reset.css обычно имеют свои наборы стилей которые сразу же подключают после reset для оформления контента. И им не приходится каждый раз в новой верстке заново определять стили для базовых элементов. Так поступаю и я. Мне удобно и я знаю какие стили я задаю по умолчанию, и как они работают.
normalize удобен если вы изучите его структуру, можете видоизменить его под себя — настроив базовый внешний вид тегов. И работа с ним также будет удобной на потоке — когда верстать приходится много и часто.
Каждый инструмент хорош, главное правильно его использовать 😉
HTML-стилей CSS
CSS — это каскадные таблицы стилей.
CSS экономит много работы. Он может управлять макетом нескольких
веб-страницы сразу.
Управление текстом
цветов,
Ящики
Что такое CSS?
Каскадные таблицы стилей (CSS) используются для форматирования макета веб-страницы.
С помощью CSS вы можете управлять цветом, шрифтом, размером текста, интервалом.
между элементами, как элементы расположены и расположены, какой фон
должны использоваться изображения или цвета фона, разные дисплеи для разных устройств
и размеры экрана, и многое другое!
Совет: Слово каскадно означает, что стиль
примененный к родительскому элементу, также будет применяться ко всем дочерним элементам в пределах
родитель.Итак, если вы установите цвет основного текста на «синий», все заголовки,
абзацы и другие текстовые элементы в теле также получат тот же цвет (если вы не укажете
что-то другое)!
Использование CSS
CSS можно добавить в HTML-документы тремя способами:
- Встроенный — с использованием атрибута
стиля
внутри HTML-элементов - Внутренний — с использованием элемента
[так далее.]В первой строке говорится, что это таблица стилей и что это написано в CSS («текст / CSS»). Во второй строке написано, что мы добавляем стиль элементу «body».Третья строка устанавливает цвет текста на фиолетовый, а в следующей строке фон становится зеленоватым желтый.
Стиль листы в CSS состоят из правил . В каждом правиле есть три части:
- селектор (в примере: «тело»), который сообщает браузер, на какую часть документа действует правило;
- свойство (в примере «цвет» и 'background-color' - оба свойства), который указывает, что устанавливается аспект макета;
- и значение ('purple' и '# d8da3d'), которые дает значение свойства стиля.
Пример показывает, что правила можно комбинировать. Мы установили два properties, поэтому мы могли бы создать два отдельных правила:
тело {цвет: фиолетовый} тело {background-color: # d8da3d}
, но поскольку оба правила влияют на тело, мы написали «тело» только один раз. и соедините свойства и значения. Для получения дополнительной информации о селекторы, см. главу 2 из Lie & Bos .
Фон основного элемента также будет фоном всего документа.Мы не указали ни один из других элементов (p, li, address…) любой явный фон, поэтому по умолчанию они будут нет (или: будет прозрачным). Свойство color устанавливает цвет текста для основного элемента, но все остальные элементы внутри тела наследует этот цвет, если явно не переопределен. (Позже мы добавим другие цвета.)
Теперь сохраните этот файл (используйте «Сохранить» в меню «Файл») и вернитесь назад. в окно браузера. Если вы нажмете кнопку «Обновить», то дисплей должен измениться с «скучной» страницы на цветной (но еще довольно скучная) страница.Помимо списка ссылок вверху, текст теперь должен быть фиолетовым на зеленовато-желтом фоне.
Как один браузер показывает страницу теперь, когда некоторые цвета были добавлен.
цветов могут быть указывается в CSS несколькими способами. В этом примере показаны два из них: по имени («фиолетовый») и по шестнадцатеричному коду («# d8da3d»). Есть около 140 названий цветов и шестнадцатеричных кодов позволяют использовать более 16 миллион цветов. Добавление нотки стиля объясняет больше о эти коды.
Шаг 3: добавление шрифтов
Еще одна вещь, которую легко сделать, - это провести различие в шрифты для различных элементов страницы. Итак, давайте установим текст шрифтом «Джорджия», кроме заголовка h2, который мы дать «Helvetica».
В Интернете никогда нельзя быть уверенным, какие шрифты есть у ваших читателей. на их компьютерах, поэтому мы добавляем еще несколько альтернатив: если Грузия недоступен, Times New Roman или Times тоже подойдут, и если в противном случае браузер может использовать любой другой шрифт с засечками.Если Helvetica отсутствует, Geneva, Arial и SunSans-Regular очень похожи по форме, и если ни один из эти работы, браузер может выбрать любой другой шрифт, который без засечек.
В текстовом редакторе добавьте следующие строки (строки 7-8 и 11-13):
Моя первая стилизованная страница [так далее.]Если вы сохраните файл еще раз и нажмете «Обновить» в браузере, теперь должны быть разные шрифты для заголовка и других текст.
Теперь шрифт основного текста отличается от шрифта заголовка.
Шаг 4: добавление панели навигации
Список вверху HTML-страницы предназначен для меню навигации. На многих веб-сайтах есть своего рода меню вверху или сбоку страницы, и на этой странице он должен быть как хорошо.Мы положим его на левую сторону, потому что это немного интереснее, чем наверху…
Меню уже находится на странице HTML. Это список
-
на вершине. Ссылки в нем не работают, так как наш «веб-сайт» пока
состоит всего из одной страницы, но теперь это не имеет значения. На реальном
Веб-сайт, конечно, не должно быть битых ссылок.
Итак, нам нужно переместить список влево и переместить оставшуюся часть текст немного правее, чтобы освободить для него место.Свойства CSS мы используем для этого padding-left (для перемещения основного текста) и «позиция», «слева» и «вверху» (для перемещения по меню).
Есть и другие способы сделать это. Если вы ищете «столбец» или «Layout» на странице Learning CSS вы найдете несколько готовых к работе шаблоны. Но этот подходит для наших целей.
В окне редактора добавьте следующие строки в HTML файл (строки 7 и 12-16):
Моя первая стилизованная страница [так далее.]Если вы снова сохраните файл и перезагрузите его в браузере, вы теперь должен иметь список ссылок слева от основного текста. Это уже выглядит намного интереснее, не так ли?
Основной текст перемещен вправо, а список ссылки теперь находятся слева от него, а не вверху.
'position: absolute' говорит, что элемент ul позиционируется независимо от текста, стоящего до или после него в документ, а «левый» и «верхний» указывают, что это за позиция.В этом случае 2em сверху и 1em слева окно.
«2em» означает, что размер шрифта в 2 раза больше текущего. Например, если меню отображается шрифтом из 12 пунктов, тогда 2em равно 24 точки. 'Em' - очень полезная единица в CSS, поскольку она может адаптировать автоматически к шрифту, который использует читатель. Большинство в браузерах есть меню для увеличения или уменьшения размера шрифта: вы можете попробовать и увидеть, что меню увеличивается в размере по мере того, как шрифт увеличивается, чего не было бы, если бы мы использовали размер в пикселях.
Шаг 5. Стилизация ссылок
Меню навигации по-прежнему выглядит как список, а не меню. Давайте добавим ему стиля. Мы удалим маркер из списка и переместим предметы слева, туда, где была пуля. Мы также дадим каждому элементу свой белый фон и черный квадрат. (Почему бы и нет особая причина, просто потому что мы можем.)
Мы также не сказали, какими должны быть цвета ссылок, поэтому давайте добавим и это: синий для ссылок, которые пользователь не видел еще и фиолетовый для уже посещенных ссылок (строки 13-15 и 23-33):
Моя первая стилизованная страница [так далее.]Обычно браузеры показывают гиперссылки с подчеркиванием и с цвета. Обычно цвета похожи на те, что мы указали. здесь: синий для ссылок на страницы, которые вы еще не посещали (или посещены давно), фиолетовый для страниц, которые вы уже посетили видимый.
В HTML гиперссылки создаются с помощью элементов , поэтому укажите цвет, нам нужно добавить правило стиля для «а». К различать посещенные и непосещенные ссылки, CSS предоставляет два «псевдокласса» (: ссылка и: посещенный). Они называются «Псевдоклассы», чтобы отличать их от атрибутов класса , , которые появляются непосредственно в HTML, например,
class = "navbar"
в нашем примере.Шаг 6: добавляем горизонтальную линию
Последним дополнением к таблице стилей является горизонтальная линейка для отделите текст от подписи внизу.Мы будем использовать 'border-top', чтобы добавить пунктирную линию над <адрес> элемент (строки 34-37):
Моя первая стилизованная страница [так далее.]Теперь наш стиль завершен. Далее давайте посмотрим, как мы можем поставить таблица стилей в отдельном файле, чтобы другие страницы могли делиться в том же стиле.
Шаг 7: размещение таблицы стилей в отдельном файле
Теперь у нас есть HTML-файл со встроенной таблицей стилей. Но если наш сайт растет, мы, вероятно, хотим, чтобы многие страницы имели один и тот же стиль. Есть способ лучше, чем копирование таблицы стилей в каждый страница: если мы поместим таблицу стилей в отдельный файл, все страницы могут укажите на это.
Чтобы создать файл таблицы стилей, нам нужно создать еще один пустой текст файл. Вы можете выбрать «Новый» в меню «Файл» редактора, чтобы создать пустое окно.(Если вы используете TextEdit, не забудьте сделайте это снова обычным текстом, используя меню Формат.)
Затем вырежьте и вставьте все, что находится внутри <стиля> элемент из HTML-файла в новое окно. Не копируйте
сами по себе. Они принадлежат HTML,
не в CSS. В новом окне редактора теперь у вас должен быть
полная таблица стилей:тело { отступ слева: 11em; font-family: Грузия, "Times New Roman", Times, serif; цвет: фиолетовый; цвет фона: # d8da3d} ул.navbar { тип-стиль-список: нет; отступ: 0; маржа: 0; позиция: абсолютная; верх: 2em; слева: 1em; width: 9em} h2 { семейство шрифтов: Helvetica, Geneva, Arial, SunSans-Regular, без засечек} ul.navbar li { фон: белый; маржа: 0.5em 0; заполнение: 0.3em; border-right: 1em сплошной черный} ul.navbar a { text-decoration: none} ссылка { цвет синий } а: посетил { цвет: фиолетовый} адрес { маржа сверху: 1em; padding-top: 1em; border-top: тонкая пунктирная}
Выберите «Сохранить как…» в меню «Файл», убедитесь, что вы находитесь в
тот же каталог / папка, что и mypage.html и сохраните
таблица стилей как «mystyle.css».Теперь вернитесь к окну с HTML-кодом. Удалить все
от тегавключительно
тег и замените его элементом , как показано ниже (строка 5):Моя первая стилизованная страница [так далее.]Это сообщит браузеру, что таблица стилей находится в
файл с именем «mystyle.css», и поскольку каталог не упоминается,
браузер будет искать в том же каталоге, где он нашел HTML
файл.Если вы сохраните файл HTML и перезагрузите его в браузере, вы
не должно быть изменений: страница по-прежнему оформлена так же, но
теперь стиль берется из внешнего файла.Окончательный результат
Следующим шагом будет размещение обоих файлов mypage.html и mystyle.css
на вашем веб-сайте. (Ну, возможно, вы захотите немного изменить их
сначала…) Но как это сделать, зависит от вашего интернет-провайдера.HTML-атрибуты на HTML.com
Как входное значение определяет поля выбора по умолчанию Значение Определяет начальное значение или выбор по умолчанию для поля ввода. Table Cellpadding - устаревший HTML: получить новый код CSS сейчас Используется для добавления заполнения между содержимым каждой ячейки таблицы и границей или краем ячейки.Этот атрибут устарел, и вместо него следует использовать CSS. Iframe Src: 60-секундное руководство для начинающих программистов Задает URL-адрес документа для отображения в iframe. Автозапуск аудио: что он делает в HTML5? (Слушайте, чтобы узнать!) Указывает, что воспроизведение звука должно начинаться немедленно при загрузке страницы. Учебное пособие по HTML для начинающих: получить код В сочетании с атрибутом coords определяет форму, размер и размещение интерактивной области на карте изображения. Узнайте, как координаты областей определяют формы и размеры в HTML Определяет форму и размер интерактивной области на карте изображений. Высота изображения в HTML: как не использовать атрибут высоты Определяет внутреннюю высоту файла изображения в пикселях CSS. Код HTML-формы для начинающих (и когда его использовать) Задает вертикальное выравнивание всего содержимого в строке таблицы. Атрибут HTML отключен для неопытных программистов Отключает поле ввода. Textarea Onchange: получить HTML-код для запуска события JavaScript сейчас Добавляет прослушиватель событий в Прекратите использование для установки ширины таблицы в HTML: вот почему использовалось для установки ширины ячейки данных таблицы на значение, которое переопределило бы ширину по умолчанию. Этот атрибут устарел. Используйте CSS для управления компоновкой ячеек данных в таблицах HTML. HTML Атрибут Href: простое и быстрое руководство Указывает связанный документ, ресурс или расположение. Как определить тип ввода в HTML (все значения и атрибуты) Определяет тип ввода. Почему Table Bgcolor больше не является действительным кодом (и что использовать вместо него) Используется для установки цвета фона таблицы HTML. Этот атрибут устарел. Используйте CSS для стилизации таблиц. Тип кнопки в HTML: вот почему его всегда следует объявлять Задает тип кнопки. Толщина шрифта устарела в HTML5, но вот новый CSS использовался для обозначения веса (жирности) текста. Устарело. Вместо этого используйте CSS. Использование параметра, выбранного для определения выбора по умолчанию в раскрывающемся списке Определяет выбор по умолчанию в раскрывающемся списке. Tr Bgcolor устарел: вот как теперь установить цвет фона строки таблицы Устанавливает цвет фона для одной строки таблицы в таблице HTML. Как использовать в HTML Задает URL-адрес изображения, которое будет отображаться. Что делает атрибут HTML Bordercolor для ваших таблиц? [Подсказка: Цвет!] Используется для указания цвета границ таблицы. Этот атрибут устарел. Используйте CSS для стилизации границ таблицы. Td Background: CSS для замены HTML-кода на Задает URL-адрес файла изображения, который будет использоваться в качестве фонового изображения элемента . Как HTML-код Img Border уступил место CSS: простое руководство Ранее использовалось для определения границы элемента изображения. Он устарел и больше не должен использоваться. Почему ширина iframe в HTML5 не лучший вариант для управления размером Задает ширину iframe. Забудьте о пространстве ячеек таблицы в HTML (и изучите CSS сейчас) Используется для указания расстояния между отдельными ячейками таблицы HTML.Этот элемент устарел, и для управления компоновкой таблицы следует использовать CSS. Использовать, если вы не хотите, чтобы входное значение редактировалось Запрещает пользователю редактировать входное значение. Hr Color не рекомендуется в HTML5 (заменить на CSS) Используется для управления цветом отображения горизонтальной линейки. Устарело. Вместо этого используйте CSS. Требуемый HTML для ввода Требуется: получить код сейчас Указывает, что поле ввода является обязательным; запрещает отправку формы и предупреждает пользователя, если обязательное поле пусто. Пример кода CSS для цвета шрифта (и почему HTML запрещен) Используется для указания цвета шрифта. Устарело. Вместо этого используйте CSS. Когда использовать автозаполнение ввода в HTML (и когда список или список данных) Указывает, должен ли браузер пытаться автоматически завершить ввод на основе ввода данных пользователем в аналогичные поля. Что заменило Td Align после HTML5 ?: Мы получили ответ (и код) Используется для указания выравнивания содержимого отдельной ячейки данных таблицы.Этот атрибут устарел. Используйте CSS для управления выравниванием содержимого ячейки данных таблицы. Фон таблицы для стилизации HTML-таблиц отсутствует (но CSS есть) Используется для указания URL-адреса изображения, которое будет установлено в качестве фона для HTML-таблицы. Этот элемент устарел. Используйте CSS для стилизации HTML-таблиц. Фон тела HTML: вот свойства CSS, чтобы заменить его на Используется для установки цвета фона и изображения для документа.Устарело. Вместо этого используйте CSS. Тег HTML: изменение ширины изображения в HTML Указывает внутреннюю ширину изображения в пикселях CSS. Как заменить Td Bgcolor на свойство фона CSS Задает цвет фона отдельной ячейки в таблице. Шаблон ввода: используйте его для добавления проверки основных данных в HTML5 Задает регулярное выражение, по которому проверяется значение ввода. Громкость звука: краткое и простое руководство в формате HTML по настройке начальной громкости Задает начальную настройку громкости аудиоэлемента в диапазоне от 0,0 до 1,0. Что общего у Td Colspan с таблицами в HTML? Указывает, сколько столбцов должна занимать ячейка. Какой метод формы сообщает вашему веб-браузеру в HTML: простое руководство Сообщает браузеру, как отправлять данные формы на веб-сервер. Что делает Img Srcset в HTML5: краткое и простое руководство Определяет несколько размеров одного и того же изображения, позволяя браузеру выбрать соответствующий источник изображения. HTML Img Альтернативные теги для оптимального SEO - поисковые системы любят их Определяет альтернативный текст, который может быть представлен вместо изображения. Использование для загрузки вместо открытия связанного ресурса Указывает браузеру загрузить связанный ресурс, а не открывать его. Как выбрать несколько элементов в HTML: простое руководство с примером кода Позволяет пользователю выбрать более одного варианта в списке Размер шрифта HTML отсутствует (но есть CSS): вот как указать Размер шрифта Сегодня Используется для указания размера текста. Устарело. Вместо этого используйте CSS. HTML-код Enctype: вот как он определяет тип кодировки формы Атрибут enctype позволяет указать тип кодировки для вашей формы. Как работает Td Bordercolor для установки цвета границы вокруг ячеек Устанавливает цвет всей границы вокруг ячейки. Что делает Link Rel в HTML ?: Получить ответ (с кодом) сейчас Определяет связь между двумя связанными документами. Когда использовать заголовок [] в HTML (с примером кода) Определяет заголовок ссылки, который отображается пользователю как всплывающая подсказка. Граница таблицы: сравнение старого (HTML) и нового (CSS) кода Используется для указания, следует ли применять границы ко всем ячейкам таблицы.Этот атрибут устарел и заменен CSS. Что максимальная длина ввода в HTML: простое руководство Задает максимальное количество символов, которое может быть введено в текстовый ввод. Как использовать , чтобы создавать ссылки и открывать их там, где вы хотите! Задает контекст, в котором будет открыт связанный ресурс. Атрибут: сделать видео зацикленным в вашем HTML Ранее использовался для указания количества раз, которое должно воспроизводиться видео, при использовании вместе с атрибутом dynsource.Оба атрибута устарели. HTML-атрибут Устарело - не использовать. Задает URL-адрес файла кода приложения, который будет использоваться в апплете. Элемент апплета устарел. Определяет расположение каталога, содержащего код приложения, который будет использоваться в элементе апплета.Элемент апплета устарел. Определяет ширину отображения панели апплета. Апплет устарел. Задает высоту отображения панели апплета. Элемент апплета устарел. Используется для указания выравнивания апплета относительно окружающего содержимого.Элемент апплета устарел. Используется для указания количества пробелов, которые должны отображаться над и под встроенным элементом Определяет размер горизонтального пространства (поля) с обеих сторон элемента апплета. Элемент апплета устарел. Определяет границу вокруг панели апплета.Элемент апплета устарел. Определяет имя апплета. Элемент апплета устарел. Задает URL-адрес файла JAR (Java Archive), содержащего код приложения для апплета. Элемент апплета устарел. Указывает, может ли апплет получить доступ к объектам JavaScript на странице.Элемент апплета устарел. Атрибут HTML Определяет URL-адрес связанного документа или ресурса. HTML-атрибут Задает альтернативный текст для интерактивной области на карте изображения. HTML-атрибут Определяет текст заголовка интерактивной области. Текст заголовка будет отображаться как всплывающая подсказка в большинстве браузеров. Атрибут HTML Определяет контекст, в котором открывается связанный ресурс. Атрибут HTML Указывает, что область карты изображения не связана с другим ресурсом. HTML-атрибут Определяет базовый URL-адрес, который будет использоваться для всех относительных ссылок в текущем документе. Атрибут HTML Задает целевое значение по умолчанию для всех якорных ссылок в текущем документе. HTML-атрибут Используется для установки базового размера шрифта для всего документа.Устарело. Вместо этого используйте CSS. Атрибут HTML Используется для установки цвета текста для всего документа. Устарело. Вместо этого используйте CSS. HTML-атрибут Используется для установки основного шрифта для документа. Устарело. Вместо этого используйте CSS. HTML-атрибут Задает URL-адрес исходного аудиофайла для устаревшего элемента . Атрибут HTML Указывает, должна ли звуковая дорожка, определенная в устаревшем элементе , зацикливаться. Используется для установки цвета фона в документе. Устарело. Вместо этого используйте CSS. Используется для стилизации текста внутри тела документа. Устарело. Используйте CSS. Используется для стилизации фона документа.Устарело. Вместо этого используйте CSS. Используется для установки поля над основной частью документа. Устарело. Используйте CSS. Запускает сценарий после завершения загрузки страницы. Запускает скрипт, когда посетитель покидает страницу. Запускает скрипт, когда посетитель фокусируется на текущей странице. Был проприетарным атрибутом для системы Frontpage. Не использовать. Используется для переключения отображения полос прокрутки на странице, отключая возможность прокрутки пользователя. Устарело. Для этого можно использовать CSS, но не следует, потому что это плохая идея.
Используется для того, чтобы разрывы строк "очищали" плавающие или выровненные элементы над ними.Устарело. Запускает сценарий при нажатии кнопки. Определяет имя кнопки, которая используется для ввода и меток формы. Устанавливает начальное значение элемента кнопки. <кнопка отключена> Отключает кнопку. Его нельзя щелкнуть, и он обычно выглядит серым. Определяет сочетание клавиш для кнопки.Начиная с HTML5, это глобальный атрибут, который можно использовать для любого элемента. Определяет порядок выбора при использовании клавиши табуляции. Используется для управления горизонтальным выравниванием заголовка таблицы. Устарело. Вместо этого используйте CSS. Используется для управления вертикальным выравниванием заголовка таблицы. Устарело. Используйте CSS. Задает количество естественных вертикальных столбцов, которые должны быть включены в элемент . Используется для управления выравниванием текста в столбцах таблицы. Устарело. Вместо этого используйте CSS. Используется для управления шириной столбцов таблицы. Устарело. Вместо этого используйте CSS. Используется для управления цветом фона столбцов таблицы.Устарело. Вместо этого используйте CSS. Задает количество столбцов вертикальной таблицы, которые должны быть включены в группу столбцов. Используется для управления выравниванием текста в группе столбцов в таблице. Устарело. Используйте CSS. Используется для указания ширины группы столбцов таблицы. Устарело. Вместо этого используйте CSS. Используется для указания выравнивания элемента div.Устарело. Вместо этого используйте CSS. Используется для указания стиля компактного отображения для списка описания. Устарело. Вместо этого используйте CSS. Задает URL-адрес приложения для встраивания. Задает ширину встроенной панели приложения. Используется для управления выравниванием встроенного приложения.Не входит в спецификацию HTML. Используется для определения имени встроенного приложения. Не входит в спецификацию HTML. Используется для указания источника загрузки для подключаемого модуля, необходимого для запуска встроенного приложения. Не входит в спецификацию HTML. Используется как часть проприетарной спецификации для встраиваемых приложений.Не входит в спецификацию HTML. Скрывает элемент из поля зрения. Используется для определения ресурса ссылки для встроенного приложения. Не входит в спецификацию HTML. Используется для немедленного запуска воспроизведения встроенного звука. Не входит в спецификацию HTML. Используется для циклического воспроизведения встроенного мультимедиа.Не входит в спецификацию HTML. Используется для указания количества раз, которое должен воспроизводиться встроенный медиа-файл. Не входит в спецификацию HTML. Используется для указания громкости воспроизведения встроенного приложения. Не входит в спецификацию HTML. Используется для переключения отображения элементов управления воспроизведением на встроенных носителях.Не входит в спецификацию HTML. Используется для переключения отображения элементов управления воспроизведением. Не входит в спецификацию HTML. Используется для управления звуком во встроенных носителях. Не входит в спецификацию HTML. Используется для указания начальной позиции воспроизведения для встроенного мультимедиа. Не входит в спецификацию HTML. Используется для указания гарнитуры. Устарело. Вместо этого используйте CSS. Используется для указания размера текста. Устарело. Вместо этого используйте CSS. Задает URL-адрес, на который отправляются данные формы при отправке. Атрибут `name` устарел при использовании с элементом` form`.Вместо этого используйте `id`. Задает контекст браузера, в котором должен отображаться ответ формы. Запускает сценарий при нажатии кнопки «Отправить». Запускает сценарий при нажатии кнопки «Сброс». Определяет исходный URL-адрес для кадра. В HTML5 фреймы не рекомендуются. Определяет имя фрейма. В HTML5 фреймы не рекомендуются. Используется для управления прокруткой внутри кадров. В HTML5 фреймы не рекомендуются. Используется, чтобы помешать пользователям изменять размер фреймов в окне браузера. В HTML5 фреймы не рекомендуются. Используется для управления границами вокруг кадров.В HTML5 фреймы не рекомендуются. Задает цвет границы фрейма. В HTML5 фреймы не рекомендуются. Используется для управления полями кадра. В HTML5 фреймы не рекомендуются. Используется для управления отображаемыми столбцами в наборе кадров. Фреймы и наборы фреймов устарели в HTML5. Используется для управления границами между кадрами в наборе кадров.В HTML5 фреймы не рекомендуются. Используется для указания цвета границ между кадрами в наборе фреймов. Фреймы и наборы фреймов устарели в HTML5. Используется для указания выравнивания текста (выравнивания) в элементах заголовка. Не рекомендуется в HTML5. Вместо этого используйте CSS.
Используется для изменения отображения горизонтальной линейки из 3D-стиля по умолчанию на более плоский 2D-стиль.Устарело. Используйте CSS для управления отображением элемента.
Используется для указания высоты (толщины) горизонтальной линейки. Устарело. Вместо этого используйте CSS.
Используется для указания ширины горизонтальной линейки. Не рекомендуется в HTML5. Вместо этого используйте CSS.
Используется для контроля горизонтального выравнивания горизонтальной линейки. Устарело. Вместо этого используйте CSS. Задает имя iframe. Используется для указания URL, содержащего длинное описание iframe. Не рекомендуется в HTML5. Вместо этого используйте CSS. Используется для переключения отображения границы вокруг iframe. Не рекомендуется в HTML5. Вместо этого используйте CSS. Используется для управления шириной полей вокруг iframe.Не рекомендуется в HTML5. Вместо этого используйте CSS. Используется для переключения прокрутки на окнах iframe. Не рекомендуется в HTML5. Вместо этого используйте CSS. Используется для установки выравнивания встроенного фрейма относительно окружающих элементов. Устарело. Вместо этого используйте CSS. Используется для управления вертикальным интервалом вокруг iframe. Не рекомендуется в HTML5.Вместо этого используйте CSS. Опознал изображение или предоставил дополнительную информацию о нем. Устарело в HTML 4.0 и заменено другими атрибутами. Определяет URL-адрес, по которому можно найти дополнительную информацию об изображении. Он был написан вне спецификации HTML5, но его статус не так ясен, как другие устаревшие функции. Ранее использовалось для указания выравнивания и размещения изображения относительно окружающего текста.Он устарел и не должен использоваться. Ранее использовалось для добавления горизонтального пространства с обеих сторон изображения. Сейчас он устарел. Определяет изображение как карту изображений на стороне сервера. При нажатии содержащей ссылку привязки координаты мыши будут включены в запрос. Задает карту изображения на стороне клиента, которая будет использоваться с изображением. Задает версию изображения меньшего размера или более низкого качества. Этот атрибут ничего не делает. Когда-то он использовался проприетарной системой программного обеспечения. Предназначен для предотвращения загрузки изображений пользователями. Никогда не входил в состав спецификации HTML и широко не применялся. Ранняя неудачная попытка включить собственное воспроизведение видео в HTML. Переключаемые элементы управления медиаплеером при использовании вместе с атрибутом dynsrc
. Оба атрибута теперь устарели.Используется вместе с атрибутом dynsrc для добавления видео, которое будет загружаться в поддерживаемых браузерах вместо изображения, которое в противном случае отображалось бы. Используется ныне несуществующим браузером Netscape для подавления отображения изображения до завершения загрузки изображения. Задает имя элемента ввода. Имя и значение каждого элемента ввода включаются в HTTP-запрос при отправке формы. Задает ширину ввода в символах. <вход отмечен> Определяет, следует ли по умолчанию проверять ввод в форме флажка или переключателя. Используется для указания границы на входе.Устарело. Вместо этого используйте CSS. Определяет исходный URL-адрес для ввода изображения. Определяет сочетание клавиш для элемента. Используется для указания языка сценариев, используемого для событий, запускаемых вводом. Задает текст метки или подсказки для формы поиска документа. Задает URL-адрес для поиска вместо текущего документа. Задает идентификатор связанного элемента поля формы. Используется для указания размещения элемента легенды. Устарело. Вместо этого используйте CSS. Задает стиль маркера или нумерации для отдельного элемента списка. Задает значение счетчика для элемента списка в нумерованном списке. Описывает связь между исходным файлом и внешним файлом, например сценарием. Назначает имена различным связанным ресурсам, чтобы пользователи могли выбирать между ними. Сообщает браузеру, для какого типа устройства предназначен ресурс. Описывает тип мультимедиа связанного ресурса (тип MIME). Присваивает имя карте изображения. Предоставляет контекст для значения в атрибуте содержимого элемента . Определяет информацию заголовка документа. Определяет значения для метаэлемента. OIOpublisher Элемент устарел и не должен использоваться. Клэр Бродли Клэр - опытный технический писатель, редактор и… Подробнее ... Элемент устарел и не должен использоваться. Клэр Бродли Клэр - опытный технический писатель, редактор и специалист по HTML… Подробнее ... Элемент устарел и не должен использоваться.Клэр Бродли Клэр - опытный технический писатель, редактор и специалист по HTML… Подробнее ... Задает тип маркера списка, который следует использовать для каждого элемента неупорядоченного списка. Определяет начальный номер в упорядоченном списке. Определяет данные, отправляемые на сервер при выборе элемента опции формы. Используется для того, чтобы абзац появлялся под одноуровневыми элементами, а не рядом с одноуровневыми элементами в родительском элементе. Задает имя параметра. Задает значение параметра.