Webkit font smoothing css

Font Smoothing

The font-smoothing CSS property controls the application of anti-aliasing when fonts are rendered.

div class=". "> div class="font:normal . "> Aa div> div>
div class="font:$(smooth-value)">. div>

Master supports native CSS variables and functions, just add var(—key) or use shorthand $(key) for variables.

You can also use calc(expression) , env(expression) and other CSS functions if the property supports it.

To learn more, see the Functions documentation.

div class="font:antialiased:hover">. div>

Master supports all native CSS selectors, just add :hover , :disabled , chaining, combinators and other CSS selectors as usual.

To learn more, see the Selectors documentation.

div class="font:antialiased@sm">. div>

Responsive breakpoints can be applied to all styles. Some available breakpoints are 3xs , 2xs , xs , sm , md , lg , xl , 2xl , 3xl , 4xl . Arbitrary breakpoints can be specified through comparison operators > , >= , < ,

To learn more, see the Breakpoints documentation.

div class="font:antialiased@print">. div>

Master supports media types like print , screen , speech , all , and other media queries.

To learn more, see the Media Queries documentation.

div class="font:antialiased@dark">. div>

Master uses the selector html.dark to support color schemes. Now, you can easily fine-tune your style for the color schemes.

To learn more, see the Color Schemes documentation.

.font\:heavy  font-weight: 900 > @media print  .hide\@print  display: none > > @media (min-width:1024px)  .font\:24\@md  font-size: 1.5rem > >

Источник

Сглаживание шрифтов с помощью CSS3-свойства -webkit-font-smoothing

В очередной раз возвращаюсь к видеокурсу от TutsPlus под названием “TutsPlus — PSD To WordPress Minimal Portfolio”, для себя нашел там много нового и интересного.

Естественно, там нашлась подробная информация по поводу сглаживания шрифтов и управлению данным процессом через CSS. Статья называется “Сглаживание шрифтов в Safari” и она послужила основой для моей собственной статейки.

Первое — что такое сглаживание шрифтов и зачем оно нужно. Для чего нужно, можно догадаться и так, без всяких ресурсов и статей, ибо само название говорит за себя. Сглаживание шрифтов — это чтобы сделать их начертание на устройстве вывода (монитор и любой другой экран) более плавным. То есть, границы шрифтов становятся гладкими и четкими. Конечно, текст созданный таким шрифтом, читать приятнее и глаза не так устают от подобного процесса.

А вот способ (и это второй момент), с помощью которого достигается такое улучшение начертания шрифтов, не так очевиден. Можно даже сказать больше — он совсем неожиданный. Раньше я случайно пару раз наблюдал такую картину, но мне тогда казалось, что это “глюк” монитора, его неспособность правильно “отрисовать” буквы шрифта.

Теперь-то я знаю, что такое отображение шрифта сделано намеренно, с помощью окрашивания пикселей, расположенных на краях букв, в разные цвета. То есть, получается, что цвет пикселей для всей буквы шрифта неоднородный (допустим — черный), а составлен из нескольких цветов.

Но вот парадокс — человеческий глаз не замечает данного факта, а как раз наоборот — такое отображение букв шрифта ему кажется более четким и плавным. Чтобы дальше не расписывать, что к чему и почем, приведу картинку, которую я нагло “свистнул” с сайта htmlbook.ru, ибо самому не получилось создать подобную:

Увеличенная буква шрифта с эффектом сглаживания

Поэтому, в браузере Firefox такую настройку можно не искать — ее там просто нет. А вот в Safari такая настроечка есть (в Chrome мои попытки также оказались безуспешными):

Настройка Safari для управления сглаживанием шрифта

Источник

font — smooth

Осторожно! Это свойство нестандартное. Используйте его, только если вам очень нужно добиться изменения сглаживания, и внимательно проверяйте работу в разных браузерах и на разных платформах. В данный момент свойство работает только на macOS. Поддержку можно проверить на Can I use.

Кратко

Скопировать ссылку «Кратко» Скопировано

В разных операционных системах и разных браузерах используются разные механизмы сглаживания шрифта. Браузерные варианты свойства font — smooth позволяют управлять сглаживанием шрифта, пока только в macOS.

Пример

Скопировать ссылку «Пример» Скопировано

В этом примере мы меняем сглаживание текста на всей странице. Поскольку свойство font — smooth нестандартное, каждый браузер реализовал его по-своему: название свойства примерно одинаковое (за исключением префиксов), но значения разные. Несмотря на это, иногда можно получить одинаковые результаты.

 body  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;> body  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; >      

Сглаживание на экране с низкой плотностью пикселей (1x), без сглаживания и со сглаживанием:

Слова Font Smoothing, менее чёткие: сверху без сглаживания, внизу со сглаживанием.

Сглаживание на экране с высокой плотностью пикселей (2x), без сглаживания и со сглаживанием:

Слова Font Smoothing, более чёткие: сверху без сглаживания, внизу со сглаживанием.

Как понять

Скопировать ссылку «Как понять» Скопировано

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

Макроснимок буквы B, видно отдельные лампочки каждого пикселя.

Символы шрифта — это векторные фигуры (глифы), которые при отрисовке нужно так расположить на пикселях экрана, чтобы было максимально похоже на оригинал. Чем сложнее шрифт и тоньше у него линии, тем сложнее их передать «грубыми» пикселями.

Посмотрите, как хвостик у буквы К отрисовывается лесенкой:

Буква К без изменённого сглаживания.

Браузеры сглаживают фигуры по-разному, в зависимости от движка, свойств экрана и операционной системы. Например, вот так выглядит текст Font Smoothing шрифтом Italianno в браузере Chrome на Windows (сверху) и на macOS (снизу).

Обратите внимание! Это рендеринг по умолчанию, без применения font — smooth .

Слова Font Smoothing: сверху тонкие, снизу потолще.

Если вы привыкли к Windows, вам покажется знакомым и приятным первое сглаживание, если к macOS — второе. А может быть и наоборот — всё зависит не только от привычки, но и от размера шрифта, цвета текста и фона. То есть нет «правильного» сглаживания, есть сглаживание по умолчанию.

Свойство font — smooth управляет сглаживанием шрифта. Например, значения antialiased (в браузерах идущих от движка WebKit) или grayscale (в Firefox) включает сглаживание оттенками серого. Только в браузерах, идущих от WebKit, можно включить субпиксельное сглаживание.

Буква К со сглаживанием оттенками серого.

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

Как пишется

Скопировать ссылку «Как пишется» Скопировано

Из-за того, что свойство font — smooth не является частью стандарта CSS, каждый браузер реализует его на своё усмотрение.

Поэтому нельзя просто написать font — smooth : antialiased , например. Нужно писать свойство с префиксами:

  • -webkit — font — smoothing для браузеров, идущих от движка WebKit (Safari, Chrome, Opera, Edge);
  • -moz — osx — font — smoothing для Firefox.

Но на этом сложности не заканчиваются. В каждом из браузеров реализован разный набор значений.

Значения для WebKit

Скопировать ссылку «Значения для WebKit» Скопировано

  • auto (по умолчанию) — позволяет браузеру решить, какое сглаживание применять.
  • none — отключает сглаживание.
  • antialiased — включает сглаживания оттенками серого, когда в сглаживании участвуют целые пиксели, то есть горят все три лампочки.
  • subpixel — antialiased — включает субпиксельное сглаживания, когда в сглаживании участвуют части пикселей, то есть некоторые лампочки могут не гореть.

Значения для Firefox

Скопировать ссылку «Значения для Firefox» Скопировано

  • auto (по умолчанию) — позволяет браузеру решить, какое сглаживание применять.
  • grayscale — сглаживает по аналогии со значением antialiased для WebKit.

Firefox не поддерживает отключение сглаживания или субпиксельное сглаживание.

Примеры значений

Скопировать ссылку «Примеры значений» Скопировано

Чтобы проверить как работают все комбинаций свойств и значений, мы собрали даже те, которые не работают вместе:

 .none  -webkit-font-smoothing: none; -moz-osx-font-smoothing: none;> .grayscale  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;> .subpixel  -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: subpixel-antialiased;> .none  -webkit-font-smoothing: none; -moz-osx-font-smoothing: none; > .grayscale  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; > .subpixel  -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: subpixel-antialiased; >      

Демо в Chrome: значение none отключает сглаживание совсем.

Слова Font Smoothing в Chrome: сверху грубый пиксельный рисунок, посередине более тонкий, внизу более жирный.

Демо в Firefox: значение none просто не работает.

Слова Font Smoothing в Firefox: посередине более тонкий, сверху и снизу более жирный.

Особенности применения

Скопировать ссылку «Особенности применения» Скопировано

Идея включить одинаковое сглаживание шрифтов в вашем дизайне на всех устройствах, на первый взгляд, кажется отличной. Однако стоит учитывать важные особенности: привычки пользователей, браузерную поддержку и контраст с фоном.

Привычки пользователей

Скопировать ссылку «Привычки пользователей» Скопировано

Если вы попытаетесь привести сглаживание шрифта привычному на Windows или принятому в графическом редакторе, вы можете не учесть, что все остальные тексты в браузере и за его пределами будут по-прежнему сглаживаться так, как принято по умолчанию в операционной системе. Это может вызвать дискомфорт и сложности с чтением.

Браузерная поддержка

Скопировать ссылку «Браузерная поддержка» Скопировано

Свойство font — smooth совсем не работает на Windows, Android и даже iOS.

Слова Font Smoothing в Chrome на Windows: сверху и снизу одинаковое сглаживание.

Слова Font Smoothing в Firefox на Windows: сверху и снизу одинаковое сглаживание.

Контраст с фоном

Скопировать ссылку «Контраст с фоном» Скопировано

При включении сглаживания оттенками серого (самое частое применение), рисунок шрифта становится заметно тоньше, что уменьшает его контрастность, особенно на тёмном фоне. Об этом стоит помнить, создавая тёмные темы. Но аналогично может просесть и контрастность на белом фоне при небольших размерах шрифта или изначально неконтрастном цвете текста.

Слова Font Smoothing в Firefox на Windows: сверху и снизу одинаковое сглаживание.

Подсказки

Скопировать ссылку «Подсказки» Скопировано

💡 Важно ещё раз акцентировать внимание, что это свойство — не часть стандарта. Оно реализуется и поддерживается по инициативе браузеров и может измениться или пропасть в любой момент.

💡 Свойство совсем не работает ни в одном из браузеров на Windows, Android и iOS.

Источник

font-smooth

Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The font-smooth CSS property controls the application of anti-aliasing when fonts are rendered.

Syntax

/* Keyword values */ font-smooth: auto; font-smooth: never; font-smooth: always; /* value */ font-smooth: 2em; /* Global values */ font-smooth: inherit; font-smooth: initial; font-smooth: revert; font-smooth: revert-layer; font-smooth: unset; 

Note: WebKit implements a similar property, but with different values: -webkit-font-smoothing . It only works on macOS.

  • auto — Let the browser decide (Uses subpixel anti-aliasing when available; this is the default)
  • none — Turn font smoothing off; display text with jagged sharp edges.
  • antialiased — Smooth the font on the level of the pixel, as opposed to the subpixel. Switching from subpixel rendering to anti-aliasing for light text on dark backgrounds makes it look lighter.
  • subpixel-antialiased — On most non-retina displays, this will give the sharpest text.

Note: Firefox implements a similar property, but with different values: -moz-osx-font-smoothing . It only works on macOS.

  • auto — Allow the browser to select an optimization for font smoothing, typically grayscale .
  • grayscale — Render text with grayscale anti-aliasing, as opposed to the subpixel. Switching from subpixel rendering to anti-aliasing for light text on dark backgrounds makes it look lighter.

Formal definition

Formal syntax

font-smooth = auto | never | always | |

Examples

Basic usage example

The following example shows the Safari/Chromium and Firefox equivalents that turn on font-smoothing on macOS. In both cases the smoothed font should look slightly lighter in weight.

For those of you not on a macOS system, here is a screenshot (the live version appears later on):

Two texts examples one with the font-smooth property and another one without

HTML

p>Without font smoothingp> p class="smoothed">With font smoothingp> 

CSS

html  background-color: black; color: white; font-size: 3rem; > p  text-align: center; > .smoothed  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; > 

Result

Specifications

Browser compatibility

BCD tables only load in the browser

See also

Found a content problem with this page?

This page was last modified on Feb 21, 2023 by MDN contributors.

Your blueprint for a better internet.

MDN

Support

Our communities

Developers

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.

Источник

Читайте также:  Example Domain
Оцените статью