Как использовать CSS3 text-decoration-skip? — CodeRoad
В модуле оформления текста CSS уровня 3 есть text-decoration-skip
. Он делает магию вот так:
это представление, как утверждается, производится с помощью text-decoration-skip: ink;
. Для веб-типографики было бы здорово, если бы нисходящие больше не были поражены нативным подчеркиванием.
Там есть запись на CSS-Tricks и совсем недавно еще одна на MDN . Там написано, что это “not on a standards track”. Это правда? Это свойство указано в рекомендации кандидата W3C .
Как я могу использовать text-decoration-skip
? Или когда ? Есть ли флаги, чтобы включить его?
Поделиться Источник dakab 08 июля 2016 в 07:43
2 ответа
- MongoDB 2.6 Production Ready Text Search — Как Использовать Skip Для Разбиения На Страницы
- Переопределение a:hover text-decoration в другом классе
У меня все ссылки на моем сайте подчеркнуты при наведении курсора с помощью следующего css: a:hover { text-decoration: underline; } Как я могу создать класс, который будет переопределять это? .footer { text-decoration: none; }
0
Как кто-то сказал в комментариях к этому вопросу, никто не говорит, когда и как это будет реализовано.
Для справки anmd уточнение, исходная статья изображения, которое вы опубликовали , — это не то, как обязательно будет выглядеть фактическая спецификация, а черновик того, что имел в виду Марцин Уичари, когда возился с ней. Поэтому не совершайте ошибку и не считайте это изображение ссылкой на вывод CSS3, так как оно может выглядеть совершенно по-другому, когда будет окончательно реализовано.
Я также не могу сказать вам, почему MDN не перечисляет его как функцию, обязательно подлежащую реализации, будь то решение команды разработчиков не внедрять его, или они просто пропустили его. Я могу, однако, сказать вам, что они правы, говоря
Что касается поддержки браузера, обратите внимание на этот комментарий в статье CSS-Tricks, ссылающейся на следующее изображение:
Это интересно не только потому, что это довольно устаревший браузер (который, конечно, не сделал этого из-за какой-то спецификации CSS3, но, вероятно, потому, что у них была одна и та же основная идея), но и потому, что, скорее всего, именно так будет выглядеть это свойство, когда оно будет окончательно реализовано.
Поделиться TheThirdMan
0
В то время как text-decoration-skip
, по-видимому, был “ отложен до уровня 4 , чтобы обеспечить серьезные изменения”, Chrome 64 (2018-01) и Firefox 70 (2019-10) реализовали близкий родственник (применяется по умолчанию), потому что “большинство других браузеров сходятся на поддержке более простого свойства text-decoration-skip-ink
”, и это, безусловно, работает:
u{font-size:444%;}
u:first-of-type{ text-decoration-skip-ink: none; }
u:last-of-type{ text-decoration-skip-ink: auto; }
<u>parapsychologists</u>
<br>
<u>parapsychologists</u>
Обратите внимание, что есть еще более передовые текстовые украшения, такие как text-underline-offset
или text-decoration-thickness
.
Поделиться dakab 29 октября 2019 в 08:16
Похожие вопросы:
«text-decoration: blink» & IE
Почему text-decoration: blink не работает в IE ? Что такое обходной путь ? Есть ли обходной путь, не связанный с JS? Есть ли у Microsoft план поддержки этого стиля?
” text-decoration “и”: after » псевдо-элемент, revisited
getComputedStyle text-decoration inherit
getComputedStyle не может получить наследуемое свойство text-decoration , но может получить font-size . Не в Firefox 25 и 30 GoogleChrome . Примечание: в Интернете Explorer 10 работают! <!DOCTYPE…
MongoDB 2.6 Production Ready Text Search — Как Использовать Skip Для Разбиения На Страницы
В MongoDB 2.6 текстовый поиск предположительно готов к производству, и теперь мы можем использовать skip . Я хотел бы использовать текстовый поиск и пропуск для разбиения на страницы в моем, но я…
Переопределение a:hover text-decoration в другом классе
У меня все ссылки на моем сайте подчеркнуты при наведении курсора с помощью следующего css: a:hover { text-decoration: underline; } Как я могу создать класс, который будет переопределять это?…
Text-decoration-color не применяется
Действительно простая проблема, но она меня расстраивает. В навигационной панели для страницы я хочу, чтобы она была обычным цветом, а затем имела другой цветовой эффект наведения. При осмотре…
Использование «text-decoration-color» не работает
Я хочу раскрасить текстовое оформление. Я получил учебник от w3schools И попробовал это сделать text-decoration: underline; text-decoration-color: #dddddd; Но это не работает. Разве это не…
QML Text: Как использовать свойства CSS, например text-decoration: overline
Можно ли использовать свойства CSS в элементе QML Text или QML Label? Меня интересует text-decoration: overline , и я хочу смешать наложенные символы с простыми символами. Я знаю , что могу…
text-decoration-thickness в Хроме / Opera
Я стилизую подчеркивание следующим кодом: text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-skip-ink: none; К сожалению, на данный момент это…
Как я могу использовать «text-decoration» в <span> в CSS?
Я хотел бы использовать text-decoration , чтобы подчеркнуть слово в заголовке, но я не могу понять, как это сделать в CSS. Возможно ли это вообще? Я думал об использовании <span> , но есть ли…
Свойство text-decoration-style | CSS справочник
CSS свойстваОпределение и применение
CSS свойство text-decoration-style устанавливает стиль декоративной линии, которая добавляется через свойство text-decoration.
Поддержка браузерами
CSS синтаксис:
text-decoration-style:"solid | double | dotted | dashed | wavy | initial | inherit";
JavaScript синтаксис:
object.style.textDecorationStyle = "double"
Значения свойства
Значение | Описание |
---|---|
solid | Сплошная декоративная линия. Это значение по умолчанию. |
double | Двойная декоративная линия. |
dotted | Точечная декоративная линия. |
dashed | Пунктирная декоративная линия. |
wavy | Волнистая декоративная линия. |
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Указывает, что значение наследуется от родительского элемента. |
Версия CSS
CSS3Наследуется
Нет.Анимируемое
Нет.Пример использования
Обращаю Ваше внимание, что свойство имеет ограниченную поддержку браузерами.
<!DOCTYPE html> <html> <head> <title>Пример использования свойства text-decoration-style</title> <style> p { text-decoration : underline; /* добавляем декорирование текста для абзацев (линия снизу) */ font-size : 24px; /* устанавливаем размер шрифта для абзацев */ } .test { -webkit-text-decoration-style : solid; /* добавляем стиль декоративной линии (с префиксом производителя)*/ -moz-text-decoration-style : solid; /* добавляем стиль декоративной линии (с префиксом производителя) */ text-decoration-style : solid; /* добавляем стиль декоративной линии - сплошная */ } .test2 { -webkit-text-decoration-style : double; /* добавляем стиль декоративной линии (с префиксом производителя)*/ -moz-text-decoration-style : double; /* добавляем стиль декоративной линии (с префиксом производителя) */ text-decoration-style : double; /* добавляем стиль декоративной линии - двойная */ }.test3 { -webkit-text-decoration-style : dotted; /* добавляем стиль декоративной линии (с префиксом производителя)*/ -moz-text-decoration-style : dotted; /* добавляем стиль декоративной линии (с префиксом производителя) */ text-decoration-style : dotted; /* добавляем стиль декоративной линии - точечная */ } .test4 { -webkit-text-decoration-style : dashed; /* добавляем стиль декоративной линии (с префиксом производителя)*/ -moz-text-decoration-style : dashed; /* добавляем стиль декоративной линии (с префиксом производителя) */ text-decoration-style : dashed; /* добавляем стиль декоративной линии - пунктирная */ }.test5 { -webkit-text-decoration-style : wavy; /* добавляем стиль декоративной линии (с префиксом производителя)*/ -moz-text-decoration-style : wavy; /* добавляем стиль декоративной линии (с префиксом производителя) */ text-decoration-style : wavy; /* добавляем стиль декоративной линии - волнистая */ } </style> </head> <body> <p class = "test">text-decoration-style: solid ;</p> <p class = "test2">text-decoration-style: double ;</p> <p class = "test3">text-decoration-style: dotted ;</p> <p class = "test4">text-decoration-style: dashed ;</p> <p class = "test5">text-decoration-style: wavy ;</p> </body> </html>
Результат нашего примера:
Пример использования свойства text-decoration-style(устанавливает стиль декоративной линии).CSS свойстваUnderline HTML string. Underline in HTML: Methods. Text-Decoration-Skip
Consider all the ways to make an underlined text via HTML and CSS. In total, there are three options:
- Through HTML tag and
- Through cSS property Text-Decoration.
- Through the CSS Border-Bottom property
Underlined text via html tag
andAll text prisoners in tags and becomes emphasized.
Name It came from the English word «Underline». HTML Tag It is considered newer.
for example
Normal text.
Normal text. Underlined text through tag ins
Converted to the page in
Normal text. Underlined text through the tag u
Normal text.
Stressed text through the CSS Text-Decoration property
CSS has a Text-Decoration property that is responsible for the formatting of the HTML text to create an underscore.
CSS Text Decoration Syntax
text-Decoration: none | Underline | Overline | Line-Through | Inherit;
- none — text without registration
- underline — Lower underscore
- overline — upper underscore
- line-Through — Thring text
- blink — shimmering text (it is recommended not to apply this value)
We are interested in the value of Underline
For example:
Текст со свойством text-decoration: underline
Преобразуется на странице в
Текст со свойством text-decoration: underline
Подчеркнутый текст через свойство CSS border-bottom
Свойство CSS border-bottom создано для создании рамок (границ) объекта снизу. Естественно таким образом можно задавать и подчеркивание тексту.
Рассмотрим пример
Преобразуется на странице в
Текст со свойством border-bottom (красное подчеркивание)Текст со свойством border-bottom (пунктирное подчеркивание)
Задача
Решение
Пунктирное подчеркивание у ссылок в последнее время стало стандартом оформления ссылок, щелчок по которым не открывает ссылку, а выполняет некоторое действие в текущем документе. Активное использование технологии AJAX, когда страница обновляется без её перезагрузки, привело к новому виду ссылок, которые отличаются от обычных ссылок пунктирной линией.
Для создания линии следует использовать свойство border-bottom со значением dashed , добавляя его к селектору A . Чтобы подчеркивание применялось не ко всем ссылкам, следует указать уникальный класс, назовем его, например dot . Также необходимо убрать исходное подчёркивание у ссылок с помощью свойства text-decoration со значением none (пример 1).
Пример 1. Пунктирное подчеркивание
HTML5 CSS 2.1 IE Cr Op Sa Fx
Пунктирное подчеркиваниеThe result of the example is shown in Fig. one.
The thickness of the line and the color of the underscore is also set through the Border-Bottom property.
Surely you noticed on many resources an animated underscore and wanted to find out how to make it possible on your website. To make beautiful cSS underscore Elements we will not need large knowledge, or connecting additional scripts, all that we need is standard HTML and CSS.
Variations underline
Underline links or any other elements, you can come up with any. Underlining can emerge from below, leave to the left or right, etc. We will look more over interesting example, in which the underscore will be touched from the center to the edges, as on the demonstration below.
demonstration of underscore
HTML.
To begin with, creating any element, for example, take tag a. The attribute is not important to us, because most of the work will be set up with styles.
CSS.
Implementation will be in two lines that will be touched from the middle of the bottom of the element to its edges.
For the underscore, we are responsible for the Text-Decoration property, but it does not make sense here, because it is not entirely relevant to embody our animation plans in this case. We will not forget that each element can be assigned a pseudo-element :: Before or :: Afterter. Therefore, all properties will be asked to them, and our reference immediately set the following parameters:
A (display: inline-block; position: relative; text-decoration: none;)
Thus, we set block streaming and positioning relative to the source location. All this is done so that the underscore does not get out of the element when we pseudo-element :: Before appoint absolute positioning. After that, we need to set its clear location and size. And here we immediately create the first half of the underscore.
A :: Before: Absolute; CONTENT: «»; Height: 2px; width: 0; background-color: red; transition: width .5s Ease-in-Out, Left .5s Ease-In- Out; Left: 50%; Bottom: 0;)
Those. The height of the underscore line will be 2px, length 0, red, and the TRANSITION property is responsible for the animation. And of course, the indent to the left is 50%, i.e. Central point. Almost the same actions and pseudo-element :: After:
A :: After (Display: Block; Position: absolute; content: «»; Height: 2px; width: 0; background-color: red; transition: width .5s Ease-in-Out; Left: 50%; bottom: 0;)
A: Hover :: Before (Width: 50%; Left: 0;) A: Hover :: Afterter (Width: 50%;)
It is worth noting that this is just one of the ways to implement this idea. You can do the same with only one pseudo-element :: Before. Subscribe to materials and suggest the topics for articles.
Underscore for block elements like tag
To create a line under the text, add the Border-Bottom style property to the element, its value is simultaneously the thickness of the line, its style and color (Example 1).
Example 1. Line on the whole width
HTML5 CSS 2.1 IE CR OP SA FX
Line under the headingThe distance from the line to the text can be adjusted by the Padding-Bottom property by adding it to the h2 selector. Result this example shown in fig. one.
Text underscore
To emphasize only the text, you must use the Text-Decoration property with the Underline value, again adding it to the h2 selector (Example 2).
Example 2. Line on the width of the text
HTML5 CSS 2.1 IE CR OP SA FX
Underlining headerThe black header attracts attention, despite the fact that it is black, not white.
The result of this example is shown in Fig. 2.
In the case of using the Text-Decoration property, the line is rigidly tied to the text, so it will not be possible to determine its position and style.
or learn tags formatting HTML text
One of the key and easiest tutorial lessons is presented to your attention.
- HTML text It is the main component of most Internet pages.
- By key phrases in the text of the HTML pages Users can find your site.
- HTML text May be any size and color, at your discretion. You can also determine the type of font and its volume.
- HTML Size Font It is commonly installed in pixels.
- HTML formatting Text Widespread, formatting tags are applied.
See below tags formatting HTML text:
- Tags → fat HTML text (bold font).
- Tags → Fat HTML text (bold font).
- Tags → Monoshyry HTML text (monosular font).
- Tags
- Tags → Monoshyry HTML text (monosular font).
- Tags → HTML text, size is more than usual (large font).
- Tags → HTML textThe size is less than the usual (small font).
- Tags → inclined HTML text (inclined font).
- Tags → inclined HTML text (inclined font).
- Tags → inclined HTML text (inclined font).
- Tags → Stressed HTML text (underlined font).
- Tags
- Tags → HTML text (font) in the lower index.
- Tags → HTML text (Font) in the upper index.
HTML text formatting: crushed, underlined text
Result: … Monoshyry font
Result: … font size is more than usual
Result: … inclined font
Result: Stressed text (stressed font)
Result: Upper index
C formatting, presented above, should be applied only for small sections of text. Use CSS. If you want to set a specific font for the whole page, or for several lines, for example.
Тонкое управление свойством text-decoration
От автора: Скорее всего, вы уже знакомы с данным свойством. Например, большинство браузеров, по умолчанию, задают с помощью данного свойства подчеркивание у ссылок (text-decoration: underline;), которое мы можем отменить вот так: text-decoration: none;.
Но возможно вы не знаете о том, что вы можете делать не только это с помощью данного свойства, а также существуют различные дополнительные свойства, которые предоставляют вам больше возможностей для управления оформлением текста.
Для данного свойства можно задать несколько значений
Например:
a { text-decoration: underline overline; }
a { text-decoration: underline overline; } |
Практический курс по верстке адаптивного сайта с нуля!
Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3
Узнать подробнееПосмотрите описание данной возможности в Альманахе. Если быть точнее, то в данном случае происходит добавление нескольких значений для дополнительного свойства text-decoration-line.
Вы можете управлять цветом данного свойства
По умолчанию для данного свойства задается цвет, указанный для текста (в свойстве color). Но вы можете изменить это:
a { text-decoration-color: #f06d06; }
a { text-decoration-color: #f06d06; } |
Посмотрите описание данной возможности в Альманахе.
Примечание: Браузерный «движок» Gecko отображает подчеркивание под нижним выносным элементом букв (подстрочным элементом литеры), а WebKit/Blink – над:
Слева показан пример в браузере Chrome, справа – в Firefox.
Обычно цветные подчеркивания реализуются с помощью свойства border, а не text-decoration. Для каждой из границ элемента может быть указан индивидуальный цвет, толщина, и позиционируются границы значительно лучше.
Но есть вещи, которые нельзя сделать с помощью границ, например…
Вы можете менять стиль данного свойства
Вы просто не сможете сделать также с помощью границ!
Практический курс по верстке адаптивного сайта с нуля!
Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3
Узнать подробнееa { text-decoration-style: wavy; }
a { text-decoration-style: wavy; } |
Посмотрите описание данной возможности в Альманахе.
А можно сделать и еще лучше
Есть определенное желание сделать подчеркивание текста лучше. Например, пропускать подчеркивание нижних выносных элементов у букв для улучшения читабельности подчеркнутого текста:
Такая возможность будет доступна благодаря свойству text-decoration-skip, хотя она пока не реализована ни в одном из браузеров. А пока мы можем указать для подчеркивания более мягкий и менее контрастный цвет. Здесь можно применить rgba():
И, кстати, пропуск нижних выносных элементов у букв – это всего лишь одна из возможностей. Вы также сможете пропускать некоторые строчные элементы, пробелы и управлять подчеркиванием по краям текста.
Примечание: Похоже, что в Safari/iOS пропуск нижних выносных элементов у букв задан по умолчанию.
Если вы хотите отменить данное поведение, воспользуйтесь следующей записью: -webkit-text-decoration-skip: none;.
Тестирование
Из-за разной степени браузерной поддержки, некоторые (или все) демо-примеры могут не сработать в вашем браузере.
Так что да! Даже такие простые вещи, которые мы воспринимаем, как должное, могут со временем меняться в CSS царстве.
Автор: Chris Coyier
Источник: //css-tricks.com/
Редакция: Команда webformyself.
Практический курс по верстке адаптивного сайта с нуля!
Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3
Узнать подробнееPSD to HTML
Верстка сайта на HTML5 и CSS3 с нуля
СмотретьFirefox 86
- Опубликовано:
Ко дню защитника Отечества — новая версия любимого браузера.
CSS, HTML
Экспериментальная поддержка CSS-функции
image-set()
в Nightly-сборках Firefox. Функция позволяет использовать в CSS адаптивный подход к загрузке изображений. Например, в качестве фонового изображения элемента (background-image
) можно использовать разные версии изображений в зависимости от плотности точек устройства вывода и — косвенно — скорости интернет-соединения.Плотность точек можно задавать с помощью относительных единиц
x
/dppx
, соответствующих масштабу страницы (соотношению размеров логического и физического пикселов), или удельного разрешенияdpi
(количество точек на дюйм) илиdpcm
(количество точек на сантиметр), подходящего для стилей, предназначенных для печати.Изображения с пониженным разрешением могут использоваться браузером не только на экранах с низкой плотностью точек, но и на HiDPI-экранах для ускорения загрузки при низкой скорости интернет-соединения.
За включение поддержки
image-set()
в Firefox отвечает параметрlayout.css.image-set.enabled
на странице скрытых настроек, доступной по псевдо-URL-адресуabout:config
.- Включена по умолчанию поддержка псевдокласса
:autofill
и его псевдонима:-webkit-autofill
. Псевдокласс соответствует элементам форм, содержащим значения, автоматически вставленные браузером в рамках функции автозаполнения. Ранее функциональность была доступна только для внутренних нужд браузера через нестандартный псевдокласс-moz-autofill
. - В CSS-свойстве
list-style-image
теперь можно использовать любые значения типа «изображение» (<image>
). Свойство позволяет переопределить внешний вид маркеров элементов списков. - Поддержка оператора
lighter
элементаfeComposite
, реализующего функциональность фильтров SVG. Оператор указывается в атрибутеoperator
и служит для наложения двух изображений друг на друга в режиме суммирования. - Удалена поддержка скрытого параметра
layout.css.text-decoration-skip-ink.enabled
, позволявшего включать/выключать поддержку CSS-свойства text-decoration-skip-ink
. Свойство было добавлено в Firefox 70 и по умолчанию прерывает линию подчёркивания/надчёркивания/ перечёркивания при пересечении штрихов символов для облегчения восприятия текста, но приводит к спорным результатам в сочетании с некоторыми кириллическими буквами, в частности «д», особенно в начале/ конце слов.
JavaScript
- Включена по умолчанию поддержка объектов
Intl.DisplayNames
, экспериментально доступная начиная с Firefox 78. Функциональность позволяет единообразно генерировать, например, названия валют в соответствии с заданными языковыми и региональными параметрами. - Включён по умолчанию сброс значения свойства
window.name
в пустую строку при загрузке страниц других доменов и возвращение прежнего значения при возвращении на страницу прежнего домена, на котором исходное значение было установлено. Функциональность номинально была реализована в Firefox 82, но, как теперь понятно, по умолчанию была отключена, за что отвечал параметрprivacy.
.window. name. update. enabled - Разрешения на уровне доменов (host permissions) теперь дают расширениям доступ к привилегированным частям программного интерфейса управления вкладками tabs API без необходимости отдельно запрашивать разрешение
tabs
, дающее доступ к более широким возможностям, чем может требоваться при использовании разрешений на уровне доменов.
Доступность
- Использование функции быстрой навигации в программах чтения с экрана (скринридерах, screen reader) для перехода к редактируемым текстовым полям больше не приводит к ошибочному переходу на не подлежащие редактированию элементы, например, на сайте messenger.com.
- Функция «mouse review» программы чтения с экрана Orca теперь работает правильно после переключения между вкладками браузера. Функция отображает информацию об элементе, находящемся под указателем мыши.
- Устранена проблема, из-за которой программы чтения с экрана ошибочно сообщали о заголовочных ячейках в таблицах, содержащих ячейки, объединяющие несколько столбцов.
Прочее
См. также
CSS — text-decoration-styleCSSсвойство задает стиль линий , указанныхtext-decoration-l
text-decoration-style
CSS свойство задает стиль линий , указанных text-decoration-line
. Стиль применяется ко всем строкам, которые установлены с помощью text-decoration-line
.
Если указанное оформление имеет конкретное семантическое значение, такое как прямая линия, означающая, что некоторый текст был удален, авторам рекомендуется обозначать это значение с помощью HTML-тега, например <del>
или <s>
. Так как в некоторых случаях браузеры могут отключить стилизацию, семантическое значение не исчезнет в такой ситуации.
При одновременной установке нескольких свойств декорирования линий может быть удобнее использовать вместо этого свойство сокращения text-decoration
.
Syntax
text-decoration-style: solid; text-decoration-style: double; text-decoration-style: dotted; text-decoration-style: dashed; text-decoration-style: wavy; text-decoration-style: inherit; text-decoration-style: initial; text-decoration-style: unset;
Values
- solid
- Рисует одну линию.
- double
- Рисует двойную линию.
- dotted
- Рисует пунктирную линию.
- dashed
- Рисует пунктирную линию.
- wavy
- Рисует волнистую линию.
- -moz-none
- Не рисует линии. Используйте
text-decoration-line
: none
.
Formal definition
Формальный синтаксис
solid | double | dotted | dashed | wavy
Examples
Setting a wavy underline
.example { -moz-text-decoration-line: underline; -moz-text-decoration-style: wavy; -moz-text-decoration-color: red; -webkit-text-decoration-line: underline; -webkit-text-decoration-style: wavy; -webkit-text-decoration-color: red; }
CSS
.wavy { text-decoration-line: underline; text-decoration-style: wavy; text-decoration-color: red; }
HTML
<p>This text has a wavy red line beneath it.</p>
Results
Specifications
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
text-decoration-style | 57 | 79 | 36
| No | 44 | 12.1
|
wavy | 57 | 79 | 6 | No | 44 | 8 |
Mobile | ||||||
---|---|---|---|---|---|---|
Android веб-просмотр | Хром для Android | Firefox для Android | Опера для Android | Safari on iOS | Samsung Интернет | |
text-decoration-style | 57 | 57 | 36
| 43 | 12.2
| 7.0 |
wavy | 57 | 57 | 6 | 43 | 8 | 7.0 |
См.также
- При одновременной установке нескольких свойств декорирования линий может быть удобнее использовать вместо этого свойство сокращения
text-decoration
.
Фоновое подчеркивание для ссылок / текста (мини дизайн тренд)
После рассмотрения мини-тренда с летающими логотипами хотим познакомить вас с еще одной актуальной темой, о которой недавно написали в Medium. Речь пойдет про весьма оригинальный способ выделения текста с помощью фоновой «подложки» в виде цветной жирной линии. Ниже в статье найдете парочку примеров данной техники.
Само по себе решение вызывает достаточно неоднозначную реакцию у сообщества. Еще со времен зарождения классического «однопиксельного» подчеркивания некоторых дизайнеров смущает пересечение нижних полосок с буквами. В последствии были придуманы разные хаки и даже специальное CSS свойство (text-decoration-skip). С другой стороны такой прием позволяет выделить нужный участок текста, ссылку либо конкретные слова в предложении, сделав типографику страницы чуть более интересной.
Как правило, для реализации используются яркие цвета, возможно, контрастные. Чаще всего они светлее текста, располагаются за ним. Степень пересечения элементов встречается разная — где-то они лишь соприкасаются, в других примерах «фон» занимает более трети текста.
Сложно сказать сколько проживет данный тренд веб-дизайна, главное при его реализации не забывать о юзабилити — тексты должны хорошо читаться, а обилие полосок не отвлекать пользователя от основного контента. С яркими акцентами нужно быть внимательным.
Свойство text-decoration-skip
Напоследок пару слов хотелось бы сказать про, упомянутое выше, CSS свойство, которое определяет как именно фоновая полоска будет вести себя с контентом на странице. Если интересно, в блоге есть детальная заметка про подчеркивание ссылок и текста.
У text-decoration-skip есть несколько значений:
- objects (по умолчанию) — пропускаются инлайновые элементы (в т.ч. картинки).
- none — создаются пересечения со всеми объектами.
- spaces — пропускаются пробелы, символы разделения текста и свойства letter-spacing / word-spacing.
- ink (как в примере выше) — линии не пересекает символы и буквы.
- edges — подчеркивание начинается строго от начала контента и заканчивается на последней букве.
- box-decoration — не учитываются отступы margin, border и padding.
Чтобы проще это понять вот картинка (из этой статьи).
Если вы видели на каких-то сайтах примеры нового мини-тренда с перекрывающими текст линиями, делитесь линками в комментариях. Будет интересно глянуть.
text-decoration-skip — CSS: Каскадные таблицы стилей
Свойство text-decoration-skip
CSS устанавливает, какие части содержимого элемента должно пропускаться любое текстовое оформление, влияющее на элемент. Он контролирует все линии оформления текста, нарисованные элементом, а также любые линии оформления текста, нарисованные его предками.
пропустить украшение текста: нет;
текст-украшение-пропуск: объекты;
текст-украшение-пропустить: пробелы;
текст-украшение-пропуск: края;
текст-украшение-пропуск: украшение коробки;
text-decoration-skip: пробелы между объектами;
пропустить украшение-текста: начальные-пробелы конечные-пробелы;
text-decoration-skip: украшение бокса краев объектов;
текст-украшение-пропустить: наследовать;
текст-украшение-пропуск: начальный;
текст-украшение-пропустить: отключено;
Значения
-
нет
- Ничего не пропущено.Таким образом, оформление текста выполняется для всего текстового содержимого и между атомарными блоками встроенного уровня.
-
объекта
- Полное поле поля элемента пропускается, если это атомарный встроенный элемент, такой как изображение или встроенный блок.
-
места
- Пропускаются все интервалы: все пробелы Unicode и все разделители слов, а также любые смежные
межбуквенного интервала
илимежсловного интервала
. -
ведущие пробелы
- То же, что
пробелов
, за исключением того, что пропускаются только ведущие пробелы. -
конечные пробелы
- То же, что
пробелов
, за исключением того, что пропускаются только конечные пробелы. -
края
- Начало и конец оформления текста немного смещены (например, на половину толщины линии) от края содержимого блока оформления. Таким образом, смежные элементы получают отдельные подчеркивания. (Это важно для китайского языка, где подчеркивание является одной из форм пунктуации.)
-
Коробка декоративная
- Оформление текста пропускается через поля поля, границы и отступы поля.Это влияет только на украшения, наложенные предком; Коробка для декорирования никогда не перекрывает собственное украшение коробки.
нет | [объекты || [пробелы | [ведущие пробелы || конечные пробелы]] || края || коробка-украшение]
Пропуск края
HTML
Эй, возьми чашку кофе !
CSS
п {
маржа: 0;
размер шрифта: 3em;
оформление текста: подчеркивание;
текст-украшение-пропуск: края;
}
Результат
Таблицы BCD загружаются только в браузере
text-decoration-skip | CSS-уловки
Свойство text-decoration-skip
указывает, где следует разрыв подчеркивания, надчеркивания или зачеркивания текста.Это улучшает читаемость оформленного текста и исправляет грамматику пунктуации для некоторых языков.
Вот один пример:
a {
текст-украшение-пропуск: чернила;
}
Внимание! Значение ink
было изменено на совершенно новое свойство, text-decoration-skip-ink: auto;
.
Если ваш браузер поддерживает это свойство, вы заметите здесь, что в нижних элементах каждого символа (например, «y» и «p») есть небольшие пробелы по краям:
См. Pen text-decoration-skip от CSS-Tricks (@ css-tricks) на CodePen.
Если ваш браузер не поддерживает эту функцию, то это то, что вы должны ожидать от свойства в поддерживающем браузере:
Это может быть не то, что пропустить текст-украшение-пропустить: чернила; на самом деле выглядит так, как только он будет реализован, но этот стиль очистки спуска является частью видения Марсина Вихари идеального подчеркивания, которое он здесь излагает.Значения
-
объекта
: по умолчанию. Строка оформления пропускает встроенные объекты, такие как изображения или элементы встроенного блока. -
нет
: декоративная линия пересекает все, включая встроенные объекты, которые обычно пропускаются. -
пробелов
: декоративная строка пропускает пробелы, символы-разделители слов и любые пробелы, заданные с интерваломмежду буквами
илиинтервалом между словами
. -
чернила
: декоративные линии пропускают глифы или нисходящие элементы. -
края
: декоративная линия начинается немного позже начального края контента и заканчивается немного раньше конечного края контента.Это свойство было разработано для того, чтобы два расположенных рядом подчеркнутых элемента не выглядели так, как будто они разделяют одно подчеркивание. Это полезно для текста на китайском языке, в котором для знаков препинания используется подчеркивание. -
box-decoration
: декоративная линия пропускает унаследованные поля, границу и отступы.
Обновление: похоже, что значение конечных пробелов
устарело, так как его больше нельзя найти в спецификации.
Поскольку это свойство не поддерживается ни одним браузером, демонстрации еще нет, но вот пример того, как каждое из значений может выглядеть после реализации text-decoration-skip
.
text-decoration-skip
в OSX и iOS В конце 2014 года Apple внесла изменение в text-decoration
в браузерах Safari и iOS, которое имитирует text-decoration-skip: ink;
должно работать. Хотя ни одно из значений text-decoration-skip
еще официально не реализовано, вы можете отключить это поведение по умолчанию с помощью -webkit-text-decoration-skip: none;
.
См. Pen -webkit-text-decoration-skip: none; от CSS-Tricks (@ css-tricks) на CodePen.
Связанные
Дополнительная информация
Поддержка браузера
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
93 | 90 | Нет | 90 |
текст-украшение-пропустить-чернила | CSS-уловки
text-decoration-skip-ink
— это свойство, которое управляет поведением подчеркивания
и overline
(но не сквозной строки
), когда строка проходит через часть символа / глифа. Это дает вам точный контроль над тем, как подчеркивание или надчеркивание взаимодействуют с символами, выступающими над верхним или нижним краем строки.
Ранее это обрабатывалось с помощью text-decoration-skip: ink;
свойство / значение, но после обсуждения того, как решить проблему с каскадными стилями, непреднамеренно перезаписывающими стили с более низким приоритетом (из-за количества опций, доступных для text-decoration-skip
), отдельные свойства будут разбиты на новые свойства, аналогичные text-decoration-skip-ink
.Дополнительные сведения и примеры того, почему это было изменено, см. В этом обсуждении на GitHub и в протоколах рабочей группы CSS, в которых обсуждаются свойства.
По умолчанию браузеры «пропускают» области, где «чернила» символа пересекают подчеркивание, например:
Вы можете изменить это поведение, чтобы заставить подчеркивание / надчеркнуть переход с по символа, установив text-decoration-skip-ink
на none
.
.line-of-text-thats-Уже-подчеркнутый {
текст-украшение-пропустить-чернила: нет;
}
В результате линия проходит сквозь символы:
Синтаксис
текст-украшение-пропустить-чернила: авто | никто;
Значения
text-decoration-skip-ink
принимает следующие значения:
-
auto
— это значение по умолчанию, которое будет «пропускать» подчеркивание / наложение при прохождении через символ. -
нет
обрежет это подчеркивание / подчеркивание прямо через ваши свисающие y и высокие t.
Пример
См. Пример Pen text-decoration-skip-ink
от CSS-Tricks (@ css-tricks) на CodePen.
Поддержка браузера
Desktop
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
93 | 90 | Нет | 90 |
Связанные
Ресурсы
CSS-текст-украшение-пропустить
Пример с пробелами
Обратите внимание, если это не сработает для вас, возможно, это проблема совместимости с браузером.На момент написания статьи поддержка этого свойства браузером была ограничена.
Свойство CSS text-decoration-skip
указывает, какие части содержимого элемента должны пропускаться любые текстовые декорации, влияющие на элемент.
Свойство text-decoration-skip
используется вместе со свойством text-decoration-line
(или сокращенным свойством text-decoration
), чтобы определить, пропускать ли определенные части строки или нет.
Синтаксис
пропустить украшение-текста: нет | [объекты || пробелы || чернила || края || шкатулка-украшение]
Возможные значения
-
нет
- Ничего не пропустить: текстовое оформление отображается для всего текстового содержимого и между атомарными полями на строчном уровне.
-
объекта
- Пропустите этот элемент (весь его поле поля), если он является атомарным встроенным (например, изображением или встроенным блоком).
-
места
- Пропустить все интервалы, т. Е. Все символы со свойством Unicode White_Space и все символы разделителей слов, а также любые смежные межбуквенные интервалы или межсловные интервалы.
-
чернила
- Пропустить то место, где нарисованы глифы: прервать линию оформления, чтобы форма текста просвечивала там, где в противном случае оформление текста могло бы пересекать глиф.
-
края
- Начало и конец строки помещаются немного внутрь от края содержимого блока украшения, так что, например, два подчеркнутых элемента рядом друг с другом не имеют единой подчеркивания. (Это важно для китайского языка, где подчеркивание является одной из форм пунктуации.)
-
Коробка декоративная
- Пропустить поля поля, границы и отступы поля. Обратите внимание, что это влияет только на украшения, наложенные предком; коробка для украшения никогда не перекрывает собственное украшение коробки.
Кроме того, все свойства CSS также принимают следующие значения ключевых слов всего CSS в качестве единственного компонента значения своего свойства:
-
начальная
- Представляет значение, указанное в качестве начального значения свойства.
-
наследовать
- Представляет вычисленное значение свойства родительского элемента.
-
снято
- Это значение действует как
наследовать
илиначальное
, в зависимости от того, унаследовано свойство или нет.Другими словами, он устанавливает для всех свойств их родительское значение, если они наследуются, или их начальное значение, если они не наследуются.
Основная информация об имуществе
- Начальное значение
- Объектов
- Относится к
- Все элементы
- Унаследовано?
- Есть
- Медиа
- Визуальный
- Анимационный
- Нет
Пример кода
Базовый CSS
Вот пример базовой декларации.Объявление состоит из свойства и его значения.
текст-украшение-пропуск: чернила;
Значит, его можно использовать так:
h2 { текст-украшение-строка: подчеркивание; стиль оформления текста: пунктирная; цвет оформления текста: желто-зеленый; текст-украшение-пропуск: чернила; }
Рабочий пример в HTML-документе
Пример с пробелами
Обратите внимание, если это не сработает для вас, возможно, это проблема совместимости с браузером.На момент написания статьи поддержка этого свойства браузером была ограничена.
Попробуй
Спецификации CSS
Поддержка браузера
В следующей таблице, предоставленной Caniuse.com, показан уровень поддержки этой функции браузером.
Префиксы поставщиков
Для максимальной совместимости с браузером многие веб-разработчики добавляют свойства браузера, используя такие расширения, как -webkit-
для Safari, Google Chrome и Opera (более новые версии), -ms-
для Internet Explorer, -moz-
для Firefox, -o-
для более старых версий Opera и т. д.Как и в случае с любым свойством CSS, если браузер не поддерживает проприетарное расширение, он просто проигнорирует его.
W3C не рекомендует эту практику, однако во многих случаях единственный способ проверить свойство — это включить расширение CSS, совместимое с вашим браузером.
Основные производители браузеров обычно стремятся придерживаться спецификаций W3C, и когда они поддерживают свойство без префикса, они обычно удаляют версию с префиксом. Кроме того, W3C советует поставщикам удалить свои префиксы для свойств, которые достигают статуса кандидата в рекомендации.
Многие разработчики используют Autoprefixer, постпроцессор для CSS. Autoprefixer автоматически добавляет префиксы поставщиков в ваш CSS, поэтому вам это не нужно. Он также удаляет старые ненужные префиксы из вашего CSS.
Вы также можете использовать Autoprefixer с такими препроцессорами, как Less и Sass.
text-decoration-skip · Документы WebPlatform
Сводка
Указывает, какие части содержимого элемента пропускаются при применении любого оформления текста.
Обзорная таблица
- Начальное значение
-
объекта
- Относится к
- Все элементы
- Унаследовано
- Да
- Медиа
- визуальный
- Расчетное значение
- как указано
- Анимационный
- Нет
- Свойство объектной модели CSS
-
текст
Синтаксис
-
text-decoration-skip: box-decoration
-
текст-украшение-пропустить: края
-
текст-украшение-пропуск: чернила
-
текст-украшение-пропустить: нет
-
текст-украшение-пропустить: объект
-
text-decoration-skip: пробелы
Значения
- нет
- Ничего не пропустит; оформление текста будет нарисовано для всего текстового содержимого
- объект
- Пропустит элемент (включая его поле), если он является атомарным встроенным
- мест
- Пропускает пробелы, в том числе:
- обычных мест - U + 0020
- вкладок - U + 0009
- nbsp - U + 00A0
- идеографическое пространство - U + 3000
- все пробелы фиксированной ширины - примеры: от U + 2000 до U + 200A, U + 202F и U + 205F
- любой соседний интервал между буквами или словами
- чернила
- Пропустить, где нарисованы какие-либо глифы.Это прервет линию оформления, так что текст будет виден там, где в противном случае украшение могло бы пересекать текст. Обычно это включает восходящие и нисходящие символы глифов.
Примечание: UA также может пропускать небольшие расстояния справа или слева от контура глифа.
- Коробка-украшение
- Пропускает поля поля, границы и отступы поля.
Примечание: пока не известно, является ли это необходимым значением
- края
- Оформление текста будет немного вставлено, так что два расположенных рядом элемента не будут выглядеть как единое непрерывное украшение.Это важно для контента на китайском языке, где подчеркивание является формой пунктуации.
Примеры
Пропускает верхние и нижние элементы, позволяя отображать текст через любое украшение.
п {
текст-украшение-пропуск: чернила;
}
Банкноты
Это свойство наследуется, поэтому дочерние элементы могут иметь разные настройки.
Связанные спецификации
- Модуль оформления текста CSS, уровень 3
- Кандидат в рекомендации
Атрибуции
Свойство CSS text-decoration-skip - CSS Portal
Описание
Свойство text-decoration-skip
указывает, какие части содержимого элемента должны пропустить любое текстовое оформление, влияющее на элемент.Он контролирует все линии оформления текста, нарисованные элементом, а также любые линии оформления текста, нарисованные его предками.
Свойство text-decoration-skip устарело или больше не входит ни в одну из рабочих групп CSS.
- Начальное значение
- объектов
- Относится к
- Все элементы
- Унаследовано
- Есть
- Медиа
- Визуальный
- Расчетное значение
- Как указано
- Анимационный
- Нет
- Версия CSS
- CSS3
- Синтаксис JavaScript
- объект .style.textDecorationSkip
Синтаксис
пропустить-декорировать текст: нет | [объекты || пробелы || чернила || края || коробка-украшение]
Значения
- noneНичего не пропускать: текстовое оформление рисуется для всего текстового содержимого и между атомарными полями встроенного уровня.
- объектов Пропустите этот элемент (весь его поле поля), если он является атомарным встроенным (например, изображением или встроенным блоком).
- пробелов Пропустить все интервалы, т.е.е. все символы со свойством Unicode White_Space [UAX44] и все символы-разделители слов, а также любые смежные межбуквенные или межсловные интервалы.
- ink Пропустить то место, где нарисованы глифы: прервать декоративную линию, чтобы форма текста была видна там, где в противном случае оформление текста могло бы пересекать глиф.
- краев Браузер должен расположить начало и конец строки немного внутрь (например, на половину толщины линии) от края содержимого рамки для украшения так, чтобы, e.грамм. два подчеркнутых элемента рядом друг с другом не имеют единого подчеркивания.
- box-decoration Пропустить поля, границу и отступы поля. Обратите внимание, что это влияет только на украшения, наложенные предком; коробка для украшения никогда не перекрывает собственное украшение коробки.
Пример
Поддержка браузера
CSS - пропустить украшение текста
CSS - пропустить украшение текстатекст-украшение-пропустить
Не понимаю значение коробка-украшение
.
нет
текст-украшение-пропустить: нет
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-webkit-text-decoration-skip: нет
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-moz-text-decoration-skip: нет
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-ms-text-decoration-skip: нет
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-o-text-decoration-skip: нет
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
объектов
текст-украшение-пропуск: объекты
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-webkit-text-decoration-skip: объекты
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-moz-text-decoration-skip: объекты
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-ms-text-decoration-skip: объекты
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-o-text-decoration-skip: объекты
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
мест
text-decoration-skip: пробелы
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-webkit-text-decoration-skip: пробелы
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-moz-text-decoration-skip: пробелы
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-ms-text-decoration-skip: пробелы
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-o-text-decoration-skip: пробелы
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
чернила
текст-украшение-пропуск: чернила
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-webkit-text-decoration-skip: ink
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-moz-text-decoration-skip: ink
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-ms-text-decoration-skip: ink
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-o-text-decoration-skip: ink
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
egdes
текст-украшение-пропустить: края
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
webkit-text-decoration-skip: края
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-moz-text-decoration-skip: края
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-ms-text-decoration-skip: края
Быстрая, коричневая лиса, перепрыгнула через ленивого пса. О, как этот лис прыгнул, быстрый и коричневый, а пес никак не отреагировал, потому что он был очень ленив.
-o-text-decoration-skip: края
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.