По-русски, если погуглить «полпикселя», везде какая-то истерика: пиксель не делится, и все тут. На английском все в порядке :) Например .
Полупиксели существуют, но браузеры по-прежнему плохо их отображают. Кое-где реагируют на доли пикселя (например, в параметрах шрифта), но чаще любят округлять до целого.
Почему это? Раньше было понятно, что «железо» не позволяет рисовать «половинки».
Теперь они ленивы.
Но определенного прогресса ожидать можно: технология Flash уже поддерживает точность до 1/20 пикселя.
Что такое пиксель? К Терминология Google , слово «пиксель» имеет 3 значения: 1. Элемент матрицы экрана .
Например, в ЖК-экранах один пиксель означает 3 светящихся элемента (RGB).
2. Аппаратно-независимый пиксель (провал) — масштабированный, «кажущийся» размер пикселя, который выглядит одинаково на любом экране.
При этом учитывается типичное расстояние от глаз до устройства.
3. CSS-пиксель .
Например,
width:
20px;
Узнайте больше о различных определениях Google и W3C. Итак, по данным Google: 1. Аппаратный пиксель — физический пиксель матрицы дисплея (или, скажем, камеры).
Например, экран iPhone 5 имеет ширину 640 физических пикселей.
2. Аппаратно-независимый пиксель (провал) — пиксели дисплея приведены к одному масштабу, чтобы соответствовать примерно одному и тому же углу обзора на всех устройствах (с учетом расстояния, на котором мы их держим).
Определения нет, давайте поработаем пальцами.
Берем монитор (самый обычный, не высокого разрешения): — полоска в 320 пикселей имеет длину 8 см; — мы обычно смотрим на монитор с расстояния, скажем, 50 см.
Возьмем iPhone 5: - всегда держите ближе, даже на 30 см; — полоса из 320 аппаратно-независимых пикселей должна соответствовать тот же угол зрения .
Это значит, что длина дип-полоски 320 уже не 8, а 5 см.
Ну это понятно, простая пропорция: 8:50 ≈ 5:30. Чем больше расстояние, тем больше должны быть эти «независимые» пиксели, чтобы их можно было видеть одинаково.
Например, у iPhone 5 считается, что ширина экрана (около 5 см) составляет ровно 320 дип.
Если это 40-дюймовое информационное табло на вокзале, которое просматривается с расстояния 7 метров, то.
посчитайте сами, сколько здесь провалов.
:) 3. CSS-пиксель — единица измерения макета.
Если там написано " width:
20px
" имеет ширину 20 CSS-пикселей.
К W3C , 1 пиксель = 1/96 дюйма или примерно 0,26 мм.
Но в W3C это никого не волнует (и им плевать началось даже до появления W3C), поэтому браузеры всегда по глупости предполагали, что пиксель CSS равен пикселю экрана в масштабе 100%.
Но когда появились экраны высокой четкости, они поняли, насколько ошибочным был такой подход. И теперь верстальщику невозможно объяснить, откуда это полпикселя! УПД: они меня поправляют в комментариях .
В мире существует уже две версии определения понятия «1px».
стандартный из W3C. Поэтому я рад, что сразу взял за основу терминологию Google. :)
В целом Google предлагает формулу: Масштаб=CSS_pixels/dip
Масштаб — масштаб страницы
CSS_pixels — количество CSS пикселей в определенном сегменте (например, ширина блока)
дип — количество условно аппаратно-независимых пикселей в одном сегменте
Нужно ли мне объяснять это дальше?
Дело в том:
1) пиксели экрана и пиксели CSS могут не совпадать;
2) связь между ними зависит от многих вещей.
Существует ли такая вещь, как полпикселя? Из сказанного ясно:
- полпикселя CSS — иногда;
- полпикселя экрана не бывает.
<!DOCTYPE html>
<html>
<style type="text/css">
div {
height: 7px;
font-size: 7px;
margin: 1px 0;
text-align: center;
}
</style>
<body>
<div style="background-color: lightgreen; width: 20px;">20</div>
<div style="background-color: deepskyblue; width: 20.5px;">?</div>
<div style="background-color: lightgreen; width: 21px;">21</div>
</body>
</html>
выводы На некоторые практические выводы из этой статьи объявляется конкурс.
Подведение итогов – 1 апреля.
Теги: #полупикселя #внезапно #CSS
-
Пуассон, Симеон Дени
19 Oct, 24 -
Новый Виток Суборбитального Туризма
19 Oct, 24 -
Гигантский Таракан Под Управлением Linux
19 Oct, 24