HTML/Атрибут title (Элемент style)
Синтаксис
(X)HTML
<style rel="..." title="[значение]"> ... </style>
Описание
Атрибут / параметр title
(от англ. «title» ‒ «название, заглавие») указывает имя таблицы стилей. Из таблиц стилей с одинаковыми именами создаётся альтернативный набор таблиц стилей, то есть все одноимённые таблицы стилей сводятся в одну (не путать альтернативный набор таблиц стилей и «альтернативную» таблицу стилей). Согласно HTML спецификации, при наличии нескольких альтернативных наборов таблиц стилей, браузер должен предоставлять возможность выбора между наборами.
Примечание
Если в style
элементе отсутствует данный атрибут, то такой элемент не имеет названия; значение «title
» атрибута родительских элементов не применяется (не наследуется) к style
элементу.
Поддержка браузерами
Chrome
Поддерж.
Firefox
Поддерж.[1][3]
Opera
Поддерж.[1][2]
Maxthon
Поддерж.[1][3]
IExplorer
Поддерж.[1][3]
Safari
Поддерж.[1][3]
iOS
Поддерж.[1][3]
Android
Поддерж.[1][3]
- [1] ‒ отсутствует инструмент выбора между альтернативными наборами таблиц стилей.
- [2] ‒ применяются сразу все альтернативные наборы таблиц стилей.
- [3] ‒ применяется только первый набор «предпочтительных» или «альтернативных» таблиц стилей.
- [4] ‒ «альтернативные» таблицы стилей применяются только в наборе с «предпочтительными» таблицами стилей.
Спецификация
Верс. | Раздел |
---|---|
HTML | |
2.0 | |
3. 2 | |
4.01 | 14.3.2 Specifying external style sheets DTD: Transitional
Strict
Frameset |
5.0 | 4.2.6 The style element The title attribute… |
5.1 | 4.2.6. The style element The title attribute… |
XHTML | |
1.0 | Extensible HyperText Markup Language DTD: Transitional
Strict
Frameset |
1.1 | Extensible HyperText Markup Language |
Значения
В качестве значения указывается имя таблицы стилей.
Пример использования
Листинг кода
<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Параметр title (Элемент style)</title>
<!— Постоянные таблицы стилей —>
<style type=»text/css»> li { color: white; } </style>
<style rel=»stylesheet» type=»text/css»> .persistent { color: green; } </style>
<!— Наборы «предпочтительных» таблиц стилей —>
<style rel=»stylesheet» type=»text/css» title=»Красный»> .preferred1 { color: red; } </style>
<style rel=»stylesheet» type=»text/css» title=»Оранжевый»> .preferred2 { color: orange; } </style>
<!— Наборы «альтернативных» таблиц стилей —>
<style rel=»alternate stylesheet» type=»text/css» title=»Красный»> p { color: red; } </style>
<style rel=»alternate stylesheet» type=»text/css» title=»Оранжевый»> p { color: orange; } </style>
<style rel=»alternate stylesheet» type=»text/css» title=»Blue»> . alternate1 { color: blue; } </style>
<style rel=»alternate stylesheet» type=»text/css» title=»Violet»> .alternate2 { color: violet; } </style>
<style rel=»alternate stylesheet» type=»text/css» title=»Blue»> h2 { color: blue; } </style>
<style rel=»alternate stylesheet» type=»text/css» title=»Violet»> h2 { color: violet; } </style>
</head>
<body>
<h2>Пример использования атрибута «title»</h2>
<p>Действующие таблицы стилей:</p>
<li>Постоянная</li>
<li>Предпочтительная 1</li>
<li>Предпочтительная 2</li>
<li>Альтернативная 1</li>
<li>Альтернативная 2</li>
</ul>
</body>
</html>
Параметр title (Элемент style)
Начинаем работу с HTML + CSS
Начинаем работу с HTML + CSSОглавление
- 1. Написание HTML кода
- 2. Изменяем цвета
- 3. Изменяем шрифты
- 4. Добавляем навигацию
- 5. Украшаем ссылки
- 6. Добавляем горизонтальные линии
- 7. Подключаем внешний CSS
- Дальнейшее изучение
Это краткое руководство предназначено для людей, начинающих свое изучение CSS в первый раз.
Оно не дает глубоких знаний о CSS. Руководство просто объясняет как создать HTML файл, CSS файл и как заставить их работать вместе. После прочтения данной статьи, Вы можете продолжить дальнейшее изучение других обучающих руководств для получения информации о более значительных особенностях HTML и CSS. Или же перейти к изучению материала в интерактивных HTML или CSS редакторах, которые помогут Вам при создании сайтов.
В конце данной статьи Вы создадите HTML файл который будет выглядеть как этот:
Полученная HTML страница с цветами и разметкой сделанной при помощи CSS.
Заметьте, что я не претендую на то, что это очень красиво ☺
Разделы помеченные даным знаком необязательны. Они содержат дополнительные объяснения HTML и CSS кода в приведенных примерах. Знак “внимание!” в начале абзаца обозначает более расширенную информацию чем остальной текст.
ШАГ 1: написание HTML кода
Для этой статьи я предлагаю использовать простейшие утилиты, например Блокнот от Windows, TextEdit на Mac или KEdit под KDE вполне подойдут под задачу. Как только Вы поймете основные принципы, вы можете переключиться на использование более продвинутых инструментов разработки, например на такие коммерческие программы как Style Master или DreamWeaver. Но для создания первого CSS файла не стоит отвлекаться на множество расширенных возможностей.
Не используйте текстовый редактор наподобие Microsoft Word или OpenOffice. Эти программы обычно создают файлы, которые не могут быть прочитаны браузерами. Для HTML и CSS файлов нам нужны обычные текстовые файлы без какого-либо формата.
Первый шаг заключается в открытии пустого окна текстового редактора (Notepad, TextEdit, KEdit или любого Вашего любимого) и наборе в нем следующего текста:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4. 01//EN"> <html> <head> <title>My first styled page</title> </head> <body> <!-- Site navigation menu --> <ul> <li><a href="index.html">Home page</a> <li><a href="musings.html">Musings</a> <li><a href="town.html">My town</a> <li><a href="links.html">Links</a> </ul> <!-- Main content --> <h2>My first styled page</h2> <p>Welcome to my styled page! <p>It lacks images, but at least it has style. And it has links, even if they don't go anywhere… <p>There should be more here, but I don't know what yet. <!-- Sign and date the page, it's only polite! --> <address>Made 5 April 2004<br> by myself.</address> </body> </html>
Вам не обязательно это перенабирать — вы можете просто скопировать и вставить текст с этой страницы в редактор.
(Если вы используете TextEdit на Макинтоше, не забудьте указать TextEdit’у, что это действительно простой текстовый файл, открыв меню Format и выбрав опцию “Make plain text”.
Первая строчка нашего HTML файла говорит браузеру о типе документа (DOCTYPE обозначает DOCument TYPE). В нашем случае — это HTML версии 4.01.
Слова между < и > называются тэгами и как вы можете видеть, документ содержится между <html> и </html> тэгами. Между <head> and </head> находится различная информация, которая не отображается в самом документе. Например там содержится заголовок документа. Позже мы добавим туда и связь с CSS файлом.
Тэг <body> это место содержимого документа. В принципе, все что находится внутри этого тэга за исключением текста между <!— и —>, являющегося комментариями, будлет выведено на экран. Комментарий браузером игнорируется.
Тэг <ul> в нашем примере задает отображение “неупорядоченного списка” (Unordered List), т.е. списка, элементы которого непронумерованы. Тэги <li> начинают “элементы списка” (List Item). Тэг <p> является “параграфом”.
А тэг <a> — “якорь” (Anchor), с помощью которого создаются гиперссылки.Код HTML в редактор KEdit.
Если вы хотите узнать какие бывают тэги в скобках <…>, то вы можете изучить Начало работы с HTML. Но сначала пару слов о структуре нашей HTML страницы.
- Тэг “ul” — список состоящий из одной ссылки на каждый элемент списка. Эта структура послужит нам “навигацией” по нашему сайту связывая с нами другие страницы нашего гипотетического сайта . Предполагается, что все страницы нашего сайта будут иметь схожее или идентичное меню.
- Элементы “h2” и “p” задают содержимое уникальное каждой страницы, в то время как подпись (“address”) снизу снова будет повторяться на всех страницах.
Отметьте, что я не закрыл “li” и “p” элементы. В HTML (но не в XHTML), можно опускать закрывающие тэги </li> и </p>, что я и сделал в данном случае, для того чтобы было проще текст. Но вы можете добавить их, если считаете необходимым.
Давайте предположим, что данная страница будет одной из страниц Веб сайта, состоящего из нескольких похожих страниц. Как мы и договорились, эта страница будет содержать ссылки на другие страницы нашего гипотетического сайта, уникальное содержимое и подпись.
Выберите “Сохранить как…” или “Save As…” из выпадающего меню Файл или File, укажите каталог для сохранения файла (например Рабочий Стол) и сохраните данный файл как “mypage.html”. Не закрывайте редактор, он нам еще потребуется.
(Если вы используете TextEdit для Mac OS X версии меньше чем 10.4, вы увидите опцию «Don’t append the .txt extension» в диалоговом окне «Save as». Выберите эту опцию, потому что имя файла “mypage.html” уже включает в себя расширение. Более новые версии TextEdit заметят .html расширение автоматически.)
Далее, откройте файл в браузере. Вы можете сделать это следующим образом: найдите файл вашим файловым менеджером (Проводник, Windows Explorer, Finder or Konqueror) и щелкните (единожды или дважды) на нем. Если вы делали все как описано то имя файла будет “mypage.html”. У вас должен открыться файл в браузере, установленном по умолчанию. (Если нет, то откройте браузер и перетащите файл в его окно.)
Как Вы видите, страница выглядит достаточно скучно…
ШАГ 2: изменяем цвета
Возможно, вы видите некоторый черный текст на белом фоне, но это зависит от конфигурации браузера. Для того чтобы страница выглядела более стильно, мы можем сделать очень легко одну простую вещь — добавить цвета. (Оставьте окно браузера открытым — мы к нему еще вернемся)
Мы начнем со стилей, встроенных в HTML файл. Позже, мы положим CSS стили и HTML разметку в разные файлы. Раздельное хранение хорошо тем, что легче использовать те же самые стили для множества HTML файлов: Вам нужно написать CSS стили только один раз. Но на этом шаге мы оставим все в одном файле.
Нам нужно добавить элемент <style> к HTML файлу. Определения стилей будут внутри этого тэга. Возвращаемся к редактору и добавляем следующие пять строчек в заголовок HTML кода между тэгами <head> и </head>. Строки, которые надо добавить выделены красным (с 5-й по 9-ю).
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>My first styled page</title> <style type="text/css"> body { color: purple; background-color: #d8da3d } </style> </head> <body> [и т.д.]
Первая строка говорит браузеру о том, что это таблица стилей и что она написана на CSS (“text/css”). Вторая строка говорит, что мы применяем стиль к элементу “body”. Третья устанавливает цвет текста в пурпурный, а следующая устанавливает цвет фона в желто-зеленый оттенок.
Таблицы стилей CSS создаются согласно правилам. Каждое правило состоит из трех частей:
- селектор (в нашем примере: “body”), которые говорит о том, к какой части документа применить правило;
- свойство (в нашем примере свойствами являются ‘color’ и ‘background-color’), которое указывает что именно мы устанавливаем у данного элемента, выбранного селектором;
- и значение (‘purple’ и ‘#d8da3d’), которое устанавливает значение атрибута.
Наш пример показывает что правила могут быть скомбинированы. Мы установили два свойства, так же мы могли задать их раздельно:
body { color: purple } body { background-color: #d8da3d }
но поскольку оба правила относятся к body мы записали “body” один раз и поместили свойства и значения вместе. Для получения большей информации о селекторах смотрите главу 2 из Lie & Bos.
Фон элемента body так же является фоном целого документа. Мы явно не назначили другим элементам (p, li, address…) фона, так что по умолчанию у них его нет (или он прозрачный). Свойство ‘color’ устанавливает цвет текста элемента body, но все остальные элементы внутри body наследуют этот цвет, пока для них не задан другой в виде другого правила. (Мы добавим другие цвета позже.)
Теперь сохраните этот файл (используйте команду “Сохранить” или “Save” из файлового меню) и переключитесь обратно в браузер. Если вы нажмете кнопку “обновить” , то изображение сменится со “скучной” страницы на разукрашенную (но все еще однообразную) страницу. Кроме ссылок сверху, весь текст должен быть пурпурный на желто-зеленом фоне.
Теперь браузер показывает страницу к которой мы добавили цвет.
В CSS можно задавать цвета несколькими способами. Наш пример показывает два из них: по имени (“purple”) и по шестнадцатиричному коду (“#d8da3d”). Существует порядка 140 имен цветов и 16 шестнадцатиричных значений. Добавляя прикосновение стиля объясняет детали относительно этих кодов.
ШАГ 3: изменяем шрифты
Еще одна вещь которую можно сделать — шрифтовое разнообразие разных элементов на странице. Давайте напишем шрифтом “Georgia” весь текст, исключая заголовки, которые мы напишем “Helvetica.”
Поскольку в Web никогда нельзя быть целиком уверенным в том, какие шрифты установлены на компьютерах посетителей, мы добавим альтернативные способы отображения: если Georgia не найдена, то мы будем использовать Times New Roman или Times, а если и он не найден, то браузер может взять любой шрифт с засечками. Если отсутствует Helvetica, то мы можем попробовать использовать Geneva, Arial или SunSans-Regular поскольку они очень похожи по начертанию, ну а если у пользователя нет таких шрифтов, то браузер может выбрать любой другой шрифт без засечек.
В текстовом редакторе добавьте следующие строки (строки 7-8 и 11-13):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>My first styled page</title> <style type="text/css"> body { font-family: Georgia, "Times New Roman", Times, serif; color: purple; background-color: #d8da3d } h2 { font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif } </style> </head> <body> [и т.д.]
Если вы сохраните файл снова и нажмете “обновить” в браузере, то у вас должны быть разные шрифты в заголовках и в тексте.
Сейчас шрифт заголовков и основного текста различается.
ШАГ 4: добавляем навигацию
Список наверху HTML страницы представляет из себя навигацию по сайту. Множество сайтов имеют навигационное меню вверху страницы или по сторонам от содержимого. Наша страница тоже не будет исключением. Мы поместим меню слева, потому что это несколько привлекательнее, чем наверху.
Навигация уже на странице. Это список <ul> вверху. Ссылки в нем не работают, потому что наш “сайт” пока что состоит только из одной страницы, но это неважно в данный момент. Конечно же, на настоящем сайте не должно быть неработающих ссылок.
Нам нужно переместить список налево и сдвинуть остальное содержимое немного вправо, чтобы создать пространство для него. Свойства CSS которые мы будем использовать для этого — ‘padding-left’ (для сдвига текста) и ‘position’, ‘left’ и ‘top’ (для сдвига меню).
Есть и другие пути. Если вы поищете термины “столбец” или “верстка” на странице изучая CSS, вы найдете несколько готовых к использованию шаблонов. Но для наших целей сгодится и такой.
В окне редактора добавьте следующие строки к HTML файлу (строки 7 и 12-16):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>My first styled page</title> <style type="text/css"> body { padding-left: 11em; font-family: Georgia, "Times New Roman", Times, serif; color: purple; background-color: #d8da3d } ul.navbar { position: absolute; top: 2em; left: 1em; width: 9em } h2 { font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif } </style> </head> <body> [и т.д.]
Если вы снова сохраните файл и обновите его в браузере то список ссылок получится у вас слева от основного текста. Это уже смотрится интереснее, не так ли?
В отличии от предыдущего файла, в этом главный текст переместился направо а навигация налево
Свойство ‘position: absolute’ говорит что элемент ul расположен независимо от любого текста который предшествовал или будет следующим за этим элементом, а свойства ‘left’ и ‘top’ обозначают это расположение. В нашем случае это 2em сверху и 1em от левого края окна.
‘2em’ обозначает 2 раза по растоянию, равному размеру текущего шрифта. Т.е., если меню отображается шрифтом в 12 пунктов, то 2em будет равняться 24 пунктам. `em` очень полезная единица измерения в CSS, поскольку может адаптироваться автоматически к шрифту, используемому браузером. Большинство браузеров имеют возможность изменять размеры шрифта: вы можете попробовать увеличить или уменьшить размер и увидеть, что меню будет изменяться в зависимости от размера шрифта, чего бы не случилось, если бы мы указали отступ в пикселях
ШАГ 6: добавляем горизонтальные линии
Последним добавлением к нашей таблице стилей станет горизонтальная полоса для разделения текста и подписи снизу. Мы используем свойство ‘border-top’ для того чтобы добавить прерывистую линию над элементом <address> (строки 34-37):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>My first styled page</title> <style type="text/css"> body { padding-left: 11em; font-family: Georgia, "Times New Roman", Times, serif; color: purple; background-color: #d8da3d } ul. navbar { list-style-type: none; padding: 0; margin: 0; position: absolute; top: 2em; left: 1em; width: 9em } h2 { font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif } ul.navbar li { background: white; margin: 0.5em 0; padding: 0.3em; border-right: 1em solid black } ul.navbar a { text-decoration: none } a:link { color: blue } a:visited { color: purple } address { margin-top: 1em; padding-top: 1em; border-top: thin dotted } </style> </head> <body> [и т.д.]
Теперь наше оформление закончено. Давайте вынесем таблицу стилей в отдельный файл, чтобы остальные файлы могли использовать ту же самую таблицу стилей, что и первый файл.
ШАГ 7: внешний CSS
Сейчас у нас есть HTML файл со встроенной таблицей стилей. Но если наш сайт будет разрастаться, возможно, нам потребуется множество страниц, использующих один и тот же стиль оформления. Есть метод получше, чем вставка таблицы в каждую страницу — мы можем вынести стили в отдельный файл, на который будут указывать все страницы.
Для создания отдельного файла таблицы стилей нам нужен другой пустой текстовый документ. Вы можете выбрать пункт “Новый” из меню «Файл» в редакторе , для создания пустого файла. (Если вы используете TextEdit, не забудьте сделать его текстовым снова, используя меню Format.)
Затем вырежьте и вставьте все содержимое внутри <style> из HTML в это новое окно. Не копируйте элементы разметки <style> и </style>. Они принадлежат HTML коду, а не CSS. В новом окне у вас теперь должен быть полная таблица стилей:
body { padding-left: 11em; font-family: Georgia, "Times New Roman", Times, serif; color: purple; background-color: #d8da3d } ul.navbar { list-style-type: none; padding: 0; margin: 0; position: absolute; top: 2em; left: 1em; width: 9em } h2 { font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif } ul. navbar li { background: white; margin: 0.5em 0; padding: 0.3em; border-right: 1em solid black } ul.navbar a { text-decoration: none } a:link { color: blue } a:visited { color: purple } address { margin-top: 1em; padding-top: 1em; border-top: thin dotted }
Выберите “Сохранить как…” из меню «Файл», убедитесь что вы в той же директории/папке что и файл mypage.html, и сохраните таблицу стилей под именем “mystyle.css”.
Теперь вернитесь к HTML коду. Уберите все содержимое от <style> до </style> включительно и замените убранное элементом <link> как показано (строка 5):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <title>My first styled page</title> <link rel="stylesheet" href="mystyle.css"> </head> <body> [etc.]
Такая конструкция скажет браузеру о том, что таблица стиле располагается в файле под названием “mystyle.css”, и поскольку директория не упомянута, браузер будет искать этот файл там же, где лижит HTML файл.
Если вы сохраните файл и обновите его в браузере, то не должно произойти никаких изменений: страница по прежнему использует то же оформление что и в прошлый раз, но на этот раз оформление хранится во внешнем файле.
Конечный резульат
Следующий шаг — положить оба файла mypage.html и mystyle.css на ваш сайт. (Конечно, вы можете захотеть слегка изменить их сперва…) Как положить файлы на сайт зависит от вашего интернет провайдера.
Дальнейшее изучение
Для введения в CSS, смотрите главу 2 Lie & Bos или введение в CSS Дейва Рэггета.
Другая информация, включая большее количество уроков может быть найдена в разделе изучения CSS.
Last updated
Title CSS: простой подход к именованию классов CSS
Если вы похожи на меня, то вы тратите слишком много времени на придумывание идеального имени класса для элемента. Вы можете поискать синонимы в Google или представить, каким был бы этот элемент, если бы он был реальным объектом. Вы знаете, что подойдет любое семантическое имя, но попытка придумать идеальное имя того стоит.
Честно говоря, идеальное имя не сильно поможет вашей таблице стилей, но использование методологии CSS может иметь большое значение.
Примеры методологий CSS
OOCSS — это экологически безопасный совет, который поможет вам создавать устойчивые классы с помощью стилей вторичной переработки.
SMACSS — это всеобъемлющий план игры CSS, который научит вас всем необходимым приемам.
Idiomatic CSS — это аналитическая уборщица, организующая все в едином стиле для легкого распознавания и душевного спокойствия.
А БЭМ? Что ж, БЭМ — это золотой стандарт именования классов CSS, по которому сравниваются все схемы именования классов CSS.
Так зачем еще говорить об именах классов?
Подход БЭМ заключается в написании масштабируемого CSS с упором на удобочитаемость и предотвращение коллизий. Короче говоря, БЭМ означает Block__Element–Modifier. Блок — это элемент, который включает в себя небольшой фрагмент связанных элементов (в SMACSS он называется модулем). Элемент является потомком блока и обычно не существует без наличия блока. Модификатор управляет состоянием блока.
В БЭМ вы пишете обычное имя класса для блока, а для любого элемента копируете имя блока и добавляете имя элемента.
Обычный БЭМ выглядит так:
Это хорошо, потому что любой поймет, что «block__element» относится к «блоку», и маловероятно, что класс «block__element» использовался где-либо еще в проекте.
Но с этим подходом есть проблема. Вы пишете CSS весь день, и вы не хотите писать длинные имена классов, которые загрязняют вашу чистую разметку.
Title CSS дает вам преимущества БЭМ без добавления каких-либо префиксов или специальных символов к вашим именам классов.
Простой трюк с заголовком CSS
Используя заголовок CSS, вы должны сделать следующее: Для любого глобального класса CSS используйте имя с заглавной буквы (заголовок). Для любого модификатора или класса-потомка используйте строчную букву в начале имени.
Это означает, что с помощью Title CSS вы пишете с большой буквы любое имя класса, на которое будут ссылаться в таблице стилей без родительского класса. Это означает, что даже объекты в OOCSS начинаются с заглавных букв. Различие простое; все, что написано в таблице стилей с заглавной буквы, не должно использоваться снова.
Вот пример того, как будет выглядеть разметка при использовании Title CSS:
А вот как будет выглядеть соответствующий CSS:
.Title {} .Title.isModified {} .Title .descendant {}
Почему Title CSS работает
Идентификаторы блоков или классы «Title» создают область действия для всех классов-потомков внутри блока. Классы-потомки могут повторяться в других основных заголовках без коллизии стилей.
Это не обязательно для работы методологии, но, поскольку имя класса HTML чувствительно к регистру, классы «Title» также могут свободно повторяться как классы-потомки.
Как помогает заголовок CSS?
Используя методологию Title CSS, вы увидите следующие преимущества:
- Написание классов CSS более естественным образом. Селекторы CSS
- напоминают письменный язык, например английские предложения, начинающиеся с заглавной буквы.
- Более короткие имена классов быстрее набираются и легче сканируются.
- Классы регистра заголовков легко заметить в разметке; чтобы увидеть, к какому классу-потомку принадлежит нижний регистр, просто пройдите вверх по узлам для класса Title.
Ловушка и обходной путь
Заголовок CSS может иметь проблемы при использовании блока заголовка для включения других блоков. Если содержащая основную надпись имеет тот же класс селектора потомков, что и та, которую она охватывает, возникнет конфликт, и в этом случае вы должны использовать дочерний комбинатор в основных заголовках, которые действуют как контейнеры.
Чтобы продемонстрировать проблему, ниже приведен пример разметки с присутствующей проблемой:
<заголовок>заголовок> <основной> <раздел> <дел>дел> <дел>дел> раздел> <раздел> <дел>дел> <дел>дел> раздел> главная>
И соответствующий CSS:
. Container {} .Контейнер .header {} .Контейнер .тело {} .Заголовок {} .Заголовок .header {} .Title .body {}
Обратите внимание, что стили, примененные к элементам .header
и .body
внутри .Container
, также будут применяться к другим элементам .header
и .body
, вложенным дальше. Чтобы этого избежать, вот решение:
.Container {} .Контейнер > .header {} .Container > .body {}
С селектором, использующим дочерний комбинатор ( >
), стили будут применяться только к непосредственным дочерним элементам, а не к дополнительным вложенным элементам с теми же именами классов.
Несколько слов о Sass
Препроцессоры обеспечивают отличный способ написания CSS для заголовков. Возможность вложения позволяет легко идентифицировать блоки заголовков в таблице стилей.
Вот пример CSS-заголовка в SCSS:
.Title { &.модификатор {} . потомок {} > .tightlyBound {} }
Обратная связь?
Как предполагают BEM, SMACSS и OOCSS, важно, чтобы блоки или модули были небольшими. Включение только тех элементов, которые тесно связаны с классом Title, повышает производительность и удобство сопровождения.
Если у вас есть какие-либо замечания или отзывы о CSS для заголовков, буду рад услышать их в комментариях. И если вы хотите получить больше информации или хотите сотрудничать, обязательно ознакомьтесь с репозиторием GitHub для Title CSS.
9 причудливых дизайнов заголовков в CSS, которые нужно изучить прямо сейчас | автор JW | Frontend Weekly
Узнайте, как ЛЕГКО создать красивый заголовок, используя только CSS
- Введение
- Демонстрация результатов
- Предварительные требования
- Пошаговое руководство
- Заключение
Типографика — важная часть веб-дизайна. Использование подходящего стиля текста может очень помочь передать сообщение вашему зрителю. Эта статья научит вас, как легко создавать различные стили текста на вашем веб-сайте, используя только CSS и ровно ОДИН html-элемент div!
Весь дизайн взят из изображения Google, я реализовал его в коде с помощью CSSЦитата, подобная этой, является чем-то дополнительным, например объяснением кода и предложением по улучшению
Всего я создал 9 разных стилей текста (идея дизайна из Google), вот конечный результат:
Для поиска статей: 1. Линейный текст 2. Неоновый текст 3. S рубец
текст Для поиска статей: 4. Вырезанный текст 5. Cyber text 6. Wood textFor search article: 7. C omic
text 8. H orizontal-cut-
text 9. D ouble-border-
textCodepen demo:
https://codepen. io/josephwong2004/pen/pogbrOv
HTML, CSS и SCSS/SASS (любой препроцессор CSS)
JS не требуется, поэтому выберите любой фреймворк, который вам нравится. Чтобы создать «контур» для текста, нам нужно будет использовать свойство CSS: -webkit-text-stroke-width
и -webkit-text-stroke-color
. Эти два свойства позволяют нам создать контур и придать ему нужный цвет.
Для трехмерной формы текста мы могли бы использовать несколько слоев из text-shadow
свойство. Поскольку text-shadow можно накладывать друг на друга, в этом примере мы могли бы добавить много слоев розовой тени, где каждый слой смещает предыдущий на 1 пиксель в направлении x и y. Придание всей текстовой тени «3D» формы.
Давайте перейдем к коду.
HTML (как обещание, один div):
чужая терраса
SCSS:
Я создаю глобальную переменную для хранения цвета и размера, $extra-large — 110px. Для цвета проверьте мой codepen
Это довольно простой стиль, нам даже не нужно использовать псевдоэлементы до или после. Это хорошее место для начала, поскольку оно учит нас двум очень важным свойствам в стилизации текста: text-stroke-width
и text-shadow
. Допустим, вы хотите, чтобы текст выглядел более «трехмерным», вы можете легко добавить к нему дополнительный слой тени, например:
Стиль 2: Неоновый текст
Следующий стиль, который мы создадим, — неоновый. . Текст имитирует неоновую вывеску, создавая световой эффект, а также используя более «письменный» стиль шрифта.
Первое, что нужно сделать, это выбрать подходящий шрифт для неонового текста. Я выбрал «Pacifico» (бесплатный шрифт в Google Font), так как он имеет красивую закругленную рамку и непрерывный стиль штриха. Очень похоже на вывеску из неоновой трубки.
Я думаю, вы уже догадались, мы будем использовать -webkit-text-stroke-width
и -webkit-text-stroke-color
снова в качестве нашей основы для «неона», text-shadow
будет использоваться снова для «светящегося» света вокруг неона. Если присмотреться, за неоном есть еще один набор «контурного текста» черного цвета. Это тень от неоновой лампы. И мы использовали бы псевдоэлемент :after для его создания.
HTML:
основной провод
SCSS:
Одна вещь, которая раздражает, это то, что нам нужно вручную установить содержимое псевдоэлемента. Я пытался использовать содержимое
: наследовать
, но это кажется возможным только тогда, когда вы устанавливаете содержимое в своем родителе. Поскольку я хочу, чтобы в HTML был текст (для демонстрационных целей), это не очень полезно для меня.
В этот раз я не занимаюсь анимацией, но если вы хотите, вы могли бы сделать какой-нибудь классный трюк, например включить и выключить свет, градиентно изменить его цвет и так далее.
Стиль 3: Полосатый текст
Этот стиль имеет много общего с первым стилем. Во-первых, он также имеет белую окантовку. А во-вторых, у него есть трехмерная текстовая тень. Мы уже знаем, как использовать -webkit-text-stroke-width
, -webkit-text-stroke-color
и text-shadow
для создания такого шаблона. Одно отличие — это красочный полосатый рисунок текста.
Для текста нет «линейного градиента» (по состоянию на июнь 2020 года, дайте мне знать, если это актуально сейчас!), поэтому нам нужен обходной путь. Вместо того, чтобы сделать сам текст цветным, мы сначала создадим фон, а затем воспользуемся background-clip: свойство text
. Это свойство «обрезает» div по форме вашего текста, в сочетании с прозрачным цветом текста вы получите текст, окрашенный любым фоном, который вы используете.
Мы также использовали бы другое семейство шрифтов, чтобы дополнить общий стиль. Я выбрал «Катамаран» (также бесплатный для шрифта Google).
HTML:
быстрый оборот
SCSS:
Вы могли заметить, что я поместил фон и
background-clip: text
в элемент :after вместо родителя. Причина этого в том, что «background-clip» обрезает ВСЕ внутри элемента , включая элементы :before и :after. Таким образом, применение его там приведет к обрезанию 3D-тени . На самом деле в HTML вообще не обязательно должен быть текст. Я просто добавляю его туда для лучшего размера (поскольку и после, и до элемента абсолютно позиционированы относительно родителя) и для демонстрационных целей.
Стиль 4: Вырезать текст
Из всех стилей этот мой любимый. Он сильно отличается от других стилей, и наш старый друг -webkit-text-stroke-width
, -webkit-text-stroke-color
и text-shadow
на этот раз нам не поможет (извините за что).
В этом стиле у нас есть «разрез» в тексте, в результате чего верхняя часть текста скользит вниз под углом среза. Весь дизайн также очень чистый и резкий.
Концепция создания этого стиля очень проста: мы создаем два псевдоэлемента (до и после) и даем им два пути клипа
, где два пути клипа вместе образуют полный прямоугольник:
А затем мы просто добавьте немного смещения для элемента верхней части вправо и вниз, чтобы текст скользил вниз в направлении «вырезания».
HTML:
украденный час
SCSS:
По той же причине, упомянутой в последнем стиле, мы не можем напрямую обрезать путь к родителю. и вы также можете заметить, что в clip-path я использовал 110% вместо 100%. Причина в том, что текст обрезается в самом конце из-за использования «курсивного» стиля. это решается изменением границы клипа со 100% на большее число.
Стиль 5: Кибертекст
Несмотря на причудливое название, этот стиль самый простой. Мы будем использовать псевдоэлементы :before и :after, а также наложение прозрачного цвета текста друг на друга, чтобы создать этот «причудливый» эффект. Текст выглядит немного размытым, но на самом деле он совершенно прямой, если присмотреться, это смесь цвета и небольшого смещения, придающая ему такое поведение.
HTML:
цифровое шоссе
SCSS:
Функция SCSS rgba() позволяет нам быстро получить менее непрозрачную версию вашего основного цвета и упрощает эксперименты с различными сочетаниями цветов. (Есть также darken()/lighten()/adjust-hue() и многое другое)
Стиль 6: Wood-text
Этот стиль в основном такой же, как стиль «полосатый текст», поскольку мы снова используем свойство background-clip: text
. Как уже упоминалось, с помощью свойства background-clip вы можете легко создать любой шаблон и текстуру текста, если у вас есть фоновое изображение.
Маленькая особенность этого стиля — внутренняя «тень» текста. На самом деле он создается с помощью элемента after со свойством (снова) -webkit-text-stroke-width
, -webkit-text-stroke-color
.
HTML:
подходящая вилла
SCSS:
Оглядываясь назад, я понимаю, что это мой наименее любимый вариант. В основном из-за того, что фоновое изображение, которое я выбрал, не очень похоже на дерево. (на самом деле подсветка и затенение делают его более похожим на металлический). Для этого типа стиля текста фоновое изображение является его душой и может довольно легко испортить его. Не совершайте ту же ошибку, что и я, и не торопитесь, чтобы выбрать идеальную картинку.
Стиль 7: комический текст
Этот комический текст напоминает старомодный комический текст. Все сильно обведено, а штрихи чрезмерно украшены. Для начала нам понадобится шрифт для этого стиля. Я выбрал «Molle», снова (думаю, вы уже поняли шаблон) бесплатный шрифт Google.
Для самого стиля мы будем использовать наше старое знакомое свойство -webkit-text-stroke-width
, -webkit-text-stroke-color
(с возвращением!). Мы будем использовать все наши доступные элементы HTML для стиля родительский элемент div, до и после псевдоэлемента.
HTML:
квадратная трубка!
SCSS:
Я ограничиваю себя тем, что делаю это только в одном div, но вы определенно можете добавить больше слоев, если хотите, просто сложите элементы друг над другом
Стиль 8: horizontal-cut-text
В этом стиле также есть слово cut, но мы не будем его вырезать. Вместо этого мы снова будем использовать фоновый градиент и свойство background-clip: text
. Мы сложим два фона, один с цветом вверху 50%, прозрачный внизу 50%, а другой фон с белой и прозрачной полосой.
Поверх текста мы также добавили бы текстовую тень, чтобы придать ему больше формы. Использование тени поверх текста с темным фоном, в результате чего получается фальшивая «изюминка», которая является исходным цветом текста.
HTML:
неопределенное меньшинство
SCSS:
Опять же, еще один без каких-либо элементов после и до. Если вы еще не знаете, вы можете складывать цвет фона столько, сколько хотите. Использование одного только свойства background уже может дать нам много потрясающих узоров. Если вам интересно и вы хотите узнать больше, вы можете просмотреть эту галерею шаблонов CSS3: https://leaverou.github.io/css3patterns/
Стиль 9: Double-border-text
Последний стиль, как вы уже догадались, представляет собой комбинацию -webkit-text-stroke-width
и псевдоэлемента. Это в основном то же самое, что и стиль комиксов, только с другим шрифтом, более последовательным и выровненным текстом и цветовой темой.
Так как это очень похоже, я перейду к коду прямо сейчас.
HTML:
весь объем
SCSS:
край идет от средней черты буквы «Е»Одно примечание относительно
text-stroke-width
, он кажется мощным, но имеет свои ограничения. Если шрифт, который вы используете, не имеет красивого и непрерывного штриха, вы получите «сломанный» штрих от свойства. Кроме того, имейте в виду, что если вы установите слишком большую ширину обводки, может появиться неожиданный «край» от обводки текста, как показано ниже:
очень весело создавать этот стиль текста. Вы можете видеть, сколько стилей мы могли бы создать, просто используя какое-то базовое свойство CSS и только с одним div. Лучше всего использовать HTML и CSS для стилизации текста, а не просто создавать изображение, — это то, что вы можете легко изменить текстовое содержимое позже или сделать его интерактивным для пользователя, придав ему анимацию или эффект наведения.