Css first letter – ::first-letter (:first-letter) — Tecnologia para desenvolvedores web

CSS ::first-letter | TuHub

Общие сведения

Псевдоэлемент ::first-letter не выберет первую букву у строчных элементов: то есть у тех элементов, у которых свойство display установлено в значение inline. Он работает только с элементами у которых свойство display установлено в значения block, inline-block, table-cell, table-caption, или list-item.

Если в элементе есть некоторое текстовое содержимое, добавленное в начало элемента с помощью псевдоэлемента :before и свойства content, то первая буква этого содержимого станет целевой буквой для псевдоэлемента ::first-letter.

Например, если в цитате есть содержимое добавленное с помощью следующего правила:

blockquote:before {
  content: "Цитата: ";
}

из селектора blockquote:before выберется буква «Ц» от слова «Цитата:», даже если внутри самой цитаты есть другой текст.

Знаки пунктуации, которые предшествуют или следуют за первой буквой, будут включены в 

::first-letter.

Синтаксис псевдоэлемента

/* Старый синтаксис CSS2 */

p:first-letter {
  /* Здесь содержимое и стили */
}

/* Новый синтаксис CSS3 */

p::first-letter {
  /* Здесь содержимое и стили */
}

Свойства используемые :first-letter для стилизации

Псевдоэлемент :first-letter может использовать для стилизации только определённые свойства:

  • Свойства шрифтов: font, font-style, font-variant, font-weight, font-size, line-height, и font-family.
  • text-decoration, text-transform, letter-spacing, word-spacing (при необходимости), float, vertical-align (только если у float значение none), и color.
  • Свойства внешних отступов: margin, margin-top, margin-right, margin-bottom, и margin-left.
  • Свойства внутренних отступов: padding, padding-top, padding-right, padding-bottom, и padding-left.
  • Свойства границ: border, border-width, border-style, border-color, и соответствующие им свойства.
  • Свойства фона: background, background-color, background-image, background-position, background-repeat, background-size, и background-attachment.

Поддержка браузерами

::first-letter CSS pseudo-element selector

Примечание

Наследование и специфика

Если элемент к которому применяется псевдоэлемент :first-letter является элементом списка (display: list-item), то оно применяется к первой букве после маркера. Браузеры могут игнорировать :first-letter применяемое на элементах списка со свойством list-style-position: inside.

В некоторых языках могут присутствовать определённые правила касающиеся обработки определённых комбинаций букв. В голландском, например, если комбинация букв «ij» находится в начале слова, то псевдоэлемент :first-letter будет рассматривать их как одну букву.

Псевдоэлемент ::first-line можно использовать для стилизации первой строки элемента. ::first-letter будет наследовать стили применяемые с помощью

::first-line. Если используются оба псевдоэлемента ::first-line и ::first-letter, то стили указанные в ::first-letter будут переопределять стили из ::first-line.

Разница между нотациями: (:) и (::)

Скорее всего вы встретите (или уже встречали) нотацию :first-letter, которая использует одно двоеточие вместо двух.

В CSS1 и CSS2 псевдоэлементы определялись с помощью одного двоеточия (:), также как и псевдоклассы (например :hover). В CSS3 для псевдоэлементов была добавлена нотация с двумя двоеточиями чтобы отличать их от псевдоклассов.

Все браузеры, которые поддерживают нотацию с двумя двоеточиями также поддерживают и нотацию с одним двоеточием. Однако, Internet Explorer 8 не поддерживает нотацию с двойным двоеточием. Поэтому если вам не нужна поддержка Internet Explorer 8, то можете использовать вариант с двумя двоеточиями и не беспокоится за поддержку браузерами.

Пример

Псевдоэлемент ::first-letter | CSS | WebReference

Псевдоэлемент ::first-letter определяет стиль первого символа в тексте элемента, к которому добавляется. К этому псевдоэлементу могут применяться только стилевые свойства, связанные со свойствами шрифта, полями, отступами, границами, цветом и фоном.

Синтаксис ?

Селектор::first-letter { ... }

Обозначения

ОписаниеПример
<тип>Указывает тип значения.<размер>
A && BЗначения должны выводиться в указанном порядке.<размер> && <цвет>
A | BУказывает, что надо выбрать только одно значение из предложенных (A или B).normal | small-caps
A || BКаждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке.width || count
[ ]Группирует значения.[ crop || cross ]
*Повторять ноль или больше раз.[,<время>]*
+Повторять один или больше раз.<число>+
?Указанный тип, слово или группа не является обязательным.inset?
{A, B}Повторять не менее A, но не более B раз.<радиус>{1,4}
#Повторять один или больше раз через запятую.<время>#
×

Пример

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>first-letter</title>
  <style>
   p {
    font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта основного текста */
    font-size: 0.9em; /* Размер шрифта */
   }
   p::first-letter {
    font-family: "Times New Roman", Times, serif; /* Гарнитура шрифта первой буквы */
    font-size: 2em; /* Размер шрифта первого символа */
    color: red; /* Красный цвет текста */
   }
  </style>
 </head>
 <body>
   <p>Луч фонарика высветил старые скрипучие ступени, по которым не далее 
   как пять минут назад в дом поднялся Паша. Оля осторожно приоткрыла дверь и 
   посветила внутрь дома. Луч света, словно нехотя, пробивался сквозь тугую 
   завесу из мрака и пыли. </p>
   <p>Взгляд Оли опустился на пол, и она вскрикнула. В пустом помещении никого
   не было, и лишь на полу валялась порванная туфля Паши.</p>
 </body>
</html>

Результат примера показан на рис. 1. В данном примере изменяется шрифт, размер и цвет первой буквы каждого абзаца текста.

Результат использования псевдоэлемента ::first-letter

Рис. 1. Результат использования псевдоэлемента ::first-letter

Примечание

В CSS3 псевдоэлементы стали обозначаться двумя двоеточиями, чтобы синтаксис отличался от псевдоклассов. В CSS2 они обозначаются одним двоеточием. Браузеры, как правило, понимают оба синтаксиса.

Спецификация ?

Спецификация

Каждая спецификация проходит несколько стадий одобрения.

  • Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
  • Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
  • Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
  • Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
  • Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
  • Draft (Черновик спецификации) — первая черновая версия стандарта.
×

Браузеры ?

 
:first-letter5.51213.511
::first-letter 9121711
 
:first-letter1141
::first-letter1171

Браузеры

В таблице браузеров применяются следующие обозначения.

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

Число указывает версию браузера, начиная с которой свойство поддерживается.

×

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 30.08.2017

Редакторы: Влад Мержевич

Курс по вёрстке сайта на CSS Grid

Псевдоэлемент ::first-letter | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
9.0+1.0+7.0+1.0+1.5+1.0+1.0+

Краткая информация

Версии CSS

CSS 1CSS 2CSS 2.1CSS 3

Описание

Псевдоэлемент ::first-letter определяет стиль первого символа в тексте элемента, к которому добавляется. К этому псевдоэлементу могут применяться только стилевые свойства, связанные со свойствами шрифта, полями, отступами, границами, цветом и фоном.

Синтаксис

элемент::first-letter { … }

Значения

Нет.

Пример

HTML5CSS2.1CSS3IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>first-letter</title>
  <style>
   p {
    font-family: Arial, Helvetica, sans-serif; /* Гарнитура шрифта основного текста */
    font-size: 0.9em; /* Размер шрифта */
   }
   p::first-letter {
    font-family: "Times New Roman", Times, serif; /* Гарнитура шрифта первой буквы */
    font-size: 2em; /* Размер шрифта первого символа */
    color: red; /* Красный цвет текста */
   }
  </style>
 </head>
 <body>
   <p>Луч фонарика высветил старые скрипучие ступени, по которым не далее 
   как пять минут назад в дом поднялся Паша. Оля осторожно приоткрыла дверь и 
   посветила внутрь дома. Луч света, словно нехотя, пробивался сквозь тугую 
   завесу из мрака и пыли. </p>
   <p>Взгляд Оли опустился на пол, и она вскрикнула. В пустом помещении никого
   не было, и лишь на полу валялась порванная туфля Паши.</p>
 </body>
</html>

Результат примера показан на рис. 1. В данном примере изменяется шрифт, размер и цвет первой буквы каждого абзаца текста.

Рис. 1. Результат использования псевдоэлемента ::first-letter

Браузеры

Браузер Internet Explorer до версии 9.0 работает только с нотацией :first-letter, описанной в спецификации CSS 2.1.

seodon.ru | CSS справочник — :first-letter

Опубликовано: 18.08.2010 Последняя правка: 10.12.2015

Псевдоэлемент CSS :first-letter используется для применения стилей (CSS) к первому текстовому символу первой строки блочного элемента. Причем этот символ или вся строка вовсе не обязательно должны находиться на первом уровне вложенности элемента, они вполне могут быть заключены в дополнительные HTML-элементы. Но если перед символом имеется другой элемент (изображение, объект и т.д.) или первая строка пустая (например, в самом начале стоит тег <BR>), то :first-letter не сработает.

Кроме этого, в CSS первая буква ячеек таблиц или встроенного блока (display со значением inline-block) не может быть первой буквой элемента-предка. Поэтому следующий пример не будет работать, так как тег <DIV> здесь вообще не имеет первого символа.

<head>
 <style type="text/css">
  div:first-letter { color: red }
  p { display: inline-block }
 </style>
</head>
<body>
 <div><p>Параграф.</p></div>
</body>

К псевдоэлементу :first-letter можно применять следующие свойства:

  1. Свойства шрифта, рамок, отступов и полей, фона, цвета текста.
  2. Свойства line-height, text-decoration, text-transform, letter-spacing, float, vertical-align (если float: none), word-spacing.

Если :first-letter используется вместе с псевдоэлементами :after или :before, то стили будут применены к первому символу с учетом автоматически добавленного содержимого.

Тип псевдоэлемента

Назначение: псевдоэлементы.

Применяется: к блочным элементам, которые сами или их элементы-потомки могут содержать текст.

Значения

Нет.

Синтаксис

селектор:first-letter {  }

Пример CSS: использование :first-letter

<!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>seodon.ru - CSS псевдоэлемент first-letter</title>
  <style type="text/css">
   p:first-letter {
    font: bold italic 200% monospace; /* стили шрифта первого символа параграфа */
    letter-spacing: 3px; /* межбуквенное расстояние */
   }
  </style>
 </head>
 <body>
  <p>В этом примере мы изменили стили первой буквы параграфа.</p>
 </body>
</html>

Результат примера

Результат. Использование псевдоэлемента CSS :first-letter.

Версии CSS

Версия:CSS 1CSS 2CSS 2.1CSS 3
Поддержка:ДаДаДаДа

Браузеры

Браузер:Internet ExplorerGoogle ChromeMozilla FirefoxOperaSafari
Версия:6.0 и 7.08.0 и выше2.0 и выше2.03.0 и выше9.2 и выше3.1 и выше
Поддержка:ЧастичноДаДаЧастичноДаДаДа

IE 6.0 и 7.0, а также FF 2.0 не применяют к :first-letter свойство letter-spacing.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *