Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.
Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.
На мобильных устройствах свойство text-size-adjust
позволяет верстальщикам контролировать, как применять алгоритм наполнения текста к текстовому содержимому элемента, к которому он и применяется.
Так как это свойство нестандартное, нужно использовать префиксы: -moz-text-size-adjust
, -webkit-text-size-adjust
, и -ms-text-size-adjust
.
Браузеры на смартфонах не отображают странички используя одни и те же алгоритмы, что и настольные компьютеры. Вместо того чтобы отобразить страничку по ширине экрана устройства, они используют viewport, который значительно шире экрана устройства, обычно 800 или 1000 пикселей в ширину. Один из двух возможных методов это отобразить к оригинальным координатам устройства и отображать используя меньшее окно для отображения на экране только части того что на самом деле визуализировано, или же viewport сжимается к размерам устройства.
В сущности, это также означает, что только маленькая, прямоугольная часть оригинальной веб страницы обычно видна на экране мобильного устройства или что на мобильном устройстве страничка выглядит "в уменьшенном масштабе" и меньше чем предполагалось.
This approach has been used as numerous web sites are not able to cope with small screens and are not usable when using the classical layout algorithm. This technique has drawbacks: the text is so tiny that it is unreadable without zooming. Even so, the user experience is better with the classical approach, which often leads to put secondary content at the top of the smartphone display, effectively pushing the main content of the page outside the viewport.
But when the user zoomed in until the text becomes readable, an horizontal scrollbar is often needed as the line becomes larger than the width of the screen. This horizontal scrollbar has to be used to read each line of the text, which is a user experience nightmare. To prevent this, several mobile browsers implement a text inflation algorithm. When a focused element containing text use 100 % of the width of the screen, its text size is increased until it reached a readable size, without modifying the layout and removing the need of an horizontal scrollbar.
The text-size-adjust
property allows Web authors to opt out from this behavior, as Web pages designed to handle small screen widths do not need it.
- Это свойство является нестандартным. In order to use it, Web authors have to duplicate, or even triplicate it, prefixed for each engine supporting it.
- Its behavior, and even the syntax, is slightly different from one browser engine to the other. Web developers should read the browser compatibility section with the required attention.
- This property only has an effect on smartphones. As there is no inflation algorithm on desktop browsers, and on some tablet browsers like the iPad, the property is not supported there (and ignored). This property is only designed to opt out, or to cancel this opt-out, of the inflating behavior, not to opt in.
- If
-webkit-text-size-adjust
is explicitly set tonone
, old versions of Webkit-based desktop and tablet browsers, like Chrome≤26 or Safari≤5, instead of ignoring the property, will prevent the user to zoom in or out the Web page.# - Not all engines do allow to control the final size of the text using a percentage value (E.g. Webkit and Trident do allow it, Gecko doesn't). Again Web developers should read the browser compatibility section with the required attention.
Начальное значение | auto для браузеров в смартфонах поддерживается увеличение, none в других случаях (и позже не изменяется). |
---|---|
Применяется к | все элементы |
Наследуется | да |
Проценты | да, относятся к соответствующему размеру шрифта текста |
Отображение | визуальный |
Обработка значения | как указано |
Анимируемость | нет |
Канонический порядок | уникальный неоднозначный порядок, определённый формальной грамматикой |
Синтаксис
/* Text is never inflated */ text-size-adjust: none; /* Text may be inflated */ text-size-adjust: auto; /* Text may be inflated in this exact proportion */ text-size-adjust: 80%; /* Глобальные значения */ text-size-adjust: inherit; text-size-adjust: initial; text-size-adjust: unset;
Значения
none
- Is a keyword preventing the usage of the inflation algorithm on the element. Basically, this means that the element will be displayed without its font inflated. On old WebKit-based desktop browsers (Chrome≤26, Safari≤5), this will instead prevent the user from zooming the webpage in or out.
auto
- Is a keyword allowing the usage of the inflation algorithm on the element. Browsers are not forced to use it and they won't do it on desktops and on some tablets. Its main use is to cancel a
none
value previously set. <percentage>
- A percentage value is a synonym of the
auto
keyword, with the additional information that the percentage value is the increase rate to be applied to the font size when the inflation algorithm is applied.
Формальный синтаксис
none | auto | <percentage>
Спецификации
Спецификация | Статус | Комментарий |
---|---|---|
CSS Mobile Text Size Adjustment Module Level 1 Определение 'text-size-adjust' в этой спецификации. |
Редакторский черновик | Первоначальное определение |
Совместимость с браузерами
Особенности | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Базовая поддержка | Нет[1] | Нет | Нет | Нет | Нет[1] |
Проценты | Нет | Нет | Нет | Нет | Нет |
Особенности | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Базовая поддержка | ? | 11.0 (11.0) -moz | (Да) -ms[2] 11-webkit |
Нет | (Да)-webkit |
Процент | ? | Нет | (Да)[2] | Нет | (Да) |
[1] There is a bug in old Webkit-based desktop browsers. If -webkit-text-size-adjust
is explicitly set to none
, Webkit-based desktop browsers, like Chrome or Safari, instead of ignoring the property, will prevent the user to zoom in or out the Web page. See Bug 56543 (affected Safari≤5 & Chrome≤26), Bug 163359, and Bug 84186.
[2] If the viewport is set using <meta>
element, the value of the CSS text-size-adjust
property is ignored. See detailed implementation hints on MSDN.
Смотрите также
- Документация от Apple.
- Описание поведения Gecko от L. David Baron.
- Документация от Microsoft.