Содержание

CSS уроки — основы обучения для начинающих

Приветствую вас на курсе по изучению языка стилей CSS (CSS3). За курс мы с вами познакомимся с основами css, изучим понятие селекторов и разработаем небольшой веб сайт на основе HTML и CSS. В первом уроке мы поговорим про CSS, узнаем что он делает и на что он способен.

Полезные ссылки:

  • Практикум по CSS;
  • Редактор Atom;
  • Редактор Visual Studio;
  • Редактор Sublime Text.
Информация про CSS

CSS является языком, что отвечает за оформление вида страницы. Он позволяет указать стилевое оформление каждого из HTML элементов. Также за счёт CSS можно указывать стили для файлов с XML-разметок: XUL, SVG и прочие.

Чистый HTML-документ выглядит ужасно без использования стилей. Каскадные таблицы стилей или же CSS помогает указать всё оформление для веб сайта. Используя лишь HTML и CSS можно создать любой дизайн сайта, какой вам только будет нужен.

Написание CSS

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

Чтобы создать рабочий CSS-стиль, нужно правильно указать 2 основные части:

  • Селектор – указывает целевой элемент, которому назначается стиль;
  • Блок стилей – подсказывает браузеру нужные правила форматирования.

Пример:

div {
	background-color:red;
	width: 100px;
	height: 60px;
}

В примере селектором выступает тег div. Это означает, что все стили в блоке будут применены к каждому div-элементу на странице.

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

 

Все команды имеют свойство, а за ним идёт значение. Иллюстрация на основании того же примера:

background-color:red; /* , где
background-color – это свойство;
red – значение. */

Свойство задаёт определённый стиль. Подобных свойств очень много, в нашем случае – это цвет фона. Значение всегда указывается после двоеточия. По примеру, свойству background-color установлено значение red. Таким образом перекрашивается цвет фона в красный.

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

Список различных стилей принято называть таблицей стилей или CSS. Есть несколько разных методов указания стилей. 

Атрибуты html и стили css

Большинство HTML-элементов поддерживают установку стилей посредством атрибутов. Пример, отдельным элементам есть возможность указать атрибуты width и height (ширина с высотой). Атрибуты указываются прямо в HTML-файле. С ними нужно быть осторожными. 

С одной стороны – это удобный способ указать стили для конкретного блока (значения в атрибутах имеют высший приоритет), все прочие теги, подпадающие под общие селекторы, будут иметь стили с CSS-файла. 

С другой стороны – это портит HTML-код, он перестаёт быть чистым. В случае редактирования неудобно находить и менять стили по разным файлам, появляется излишняя путаница.

Проверка валидности

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

План курса

В курсе по изучению языка стилей CSS для начинающих мы научимся прописывать CSS3 стили, изучим основы CSS, научимся работать с селекторами и по итогу разработаем множество мини проектов на HTML и CSS.

К концу видеокурса CSS у вас будут стойкие знания в самом языке и понимание как можно сделать красивый веб сайт.

Программа обучения

Также на нашем сайте есть более углубленная программа по изучению разработки веб сайтов. Ознакомится с программой обучения по Front-end можно по этой ссылке и с программой обучения Full Stack по этой ссылке.

Как работает flex-shrink в CSS. Подробное руководство | by Stas Bagretsov

Flex-shrink это подсвойство, которое помогает в создании шаблона страницы с помощью Flex-box.

Оно определяет фактор “нарезки” элемента, который указывает на сколько “flex частей” будет уменьшаться элемент относительно других элементов в flex-контейнере, в тех случаях, когда для него недостаточно места в этом самом контейнере.

Когда этот параметр не указан в CSS файле, то он по-дефолту выставлен на 1 и фактор “нарезки” умножается на показатель flex-basis, когда распределяется отрицательное пространство.

👉Мой Твиттер — там много из мира фронтенда, да и вообще поговорим🖖. Подписывайтесь, будет интересно: ) ✈️

flex-shrink: <число>.flex-item { flex-shrink: 2;}

#Демо

Чтобы увидеть, как это всё происходит на наглядном, живом примере, вам нужно самим изменять размер ширины контейнеры. Поэтому зайдите свои параметры на CodePen и поиграйтесь с шириной окна.

Что мы видим в этой демке?

Первый элемент имеет значение flex: 1 1 20em, что в обычном виде означает flex-grow:1, flex-shrink:1, flex-basis: 20em.

Второй элемент имеется значения flex: 2 2 20em, что в обычном виде означает flex-grow:2, flex-shrink: 2, flex-basis: 20em.

Оба flex элемента хотят быть по 20em в ширину. Из-за flex-grow(первое значение), если сам flex контейнер больше 40em, второй дочерний элемент получит вдвое больше оставшегося места, чем первый дочерний элемент. Но если родительский элемент меньше, чем 40em, тогда второй дочерний элемент будет в два раза урезан в отношении первого дочернего элемента, на фоне которого он будет смотреться меньше. Это произойдет из-за второго значения во flex, flex-shrink. В общем-то все и так понятно, но как и в случае с flex-grow, не все так просто. Давайте посмотрим как высчитывается flex-shrink.

Повторим. Если оставшееся место имеет отрицательное значение, то это означает то, что flex контейнер меньше, чем предопределенная ширина всех flex элементов. Им в этом случае придется подтянуть пояса. Назначая значения flex-shrink мы можем контролировать то, насколько места каждый flex элемент будет ужат в этом случае.

По некоторым причинам, метод работы с flex-shrink отличается от flex-grow и немного сложнее.

Как вы уже наверное догадались, flex решает буквально все проблемы раскладки во фронт-энде.

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

В общем, в этом и суть flex-shrink.

Ещё раз упомянем, что возможно вы думали о том, что flex-shrink высчитывается также, как и flex-grow, но тут всё не так то просто.

Свойство flex-shrink указывает на то, насколько каждый элемент урежется при нехватке свободного места. Его стандартное значение равно 1. Множество статей просто описывают это свойство как «коэффициент сокращения элемента» и всё. Нет ни слова о том, как он высчитывается.

flex-shrink определяет только важность компонента при его сжатии, если ширина меньше.

Для примера:

Родительский элемент имеет ширину в 500px. Другие три дочерних элемента выставлены на 150px, 200px и 300px.

У flex элементов стоят flex-shrink значения 1, 2 и 3, соответственно.

Давайте сначала посчитаем переполнение элементов в контейнере: 150 + 200 + 300–500 = -150px.

Далее, эти -150px будут компенсированы сокращением на определенное количество для каждого из трех элементов.

Вычисления тут такие: каждый элемент сокращается в соответствии со своим flex-shrink, умноженным на его ширину.

В общем, общий «вес» получается таким: 1 * 150 + 2 * 200 + 3 * 300 = 1450

Значит, каждый элемент сократится так:

150 * 1(flex-shrink) * 150(width) / 1450 = -15.5

150 * 2(flex-shrink) * 200(width) / 1450 = -41.4

150 * 3(flex-shrink) * 300(width) / 1450 = -93.1

И финальные размеры будут такими:

150–15.5 = 134.5

200–41.4 = 158.6

300–93.1 = 206.9

. flex-container{display: flex; width: 500px;} .flex-item-1{ flex-basis: 150px; flex-shrink: 1;}  .flex-item-2{ flex-basis: 200px; flex-shrink: 2;}  .flex-item-3{ flex-basis: 300px; flex-shrink: 3;}
Не обращайте внимания на мелкие неточности, в виде одних сотых пикселя -это из-за размеров браузера

Примерно также, когда сумма всех flex-shrink всех элементов меньше 1, вычисления будут другими:

Тут он не будет сокращать всё место, а только обрежет место в соотношении flex-shrink к значению 1.

Тот же самый пример, но flex-shrink значения у каждого элемента будут изменены на 0.1, 0.2 и 0.3, соответственно.

Тогда общий «вес» будет 145 (просто в 10 раз меньше, формулу пропускаем).

Все три элемента сокращаются не на 150px, а только на 150px (0.1 + 0.2 + 0.3) / 1 или на 60% всего места: 90px.

Место на которое нарезается каждый элемент:

90 * 0. 1(flex-shrink) * 150(width) / 145 = 9.31

90 * 0.2(flex-shrink) * 200(width) / 145 = 24.83

90 * 0.3(flex-shrink) * 300(width) / 145 = 55.86

И конечная ширина элементов:

150–9.31 = 140.69

200–24.83 = 175.17

300–55.86 = 244.14

Конечно же, как и на flex-grow, min-width влияет на flex-shrink.

.flex-container{display: flex; width: 500px;}.flex-item-1{ flex-basis: 150px; flex-shrink: 0.1;}.flex-item-2{ flex-basis: 200px; flex-shrink: 0.2;}.flex-item-3{ flex-basis: 300px; flex-shrink: 0.3;}
Не обращайте внимания на мелкие неточности, в виде одних сотых пикселя -это из-за размеров браузера

битумная эмульсия CSS-1- Эмульсия Битумная эмульсия CSS-1- битумная эмульсия

Битумная эмульсия CSS-1

Общее описание катионной битумной эмульсии CSS-1 эмульгатор.

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

Эмульсия битумная УС-1 представляет собой катионную эмульсию. Битумные эмульсии УС-1 обычно изготавливают путем пропускания смеси горячего битума и водной фазы между вращающимся диском, конусом или колесом и статором. В процессе эмульгирования горячее связующее механически разделяется на мельчайшие шарики и диспергируется в воде, обработанной небольшим количеством эмульгатора. Вода называется непрерывной фазой, а глобулы связующего называются прерывистой фазой при правильном выборе эмульгатора и других производственных средств контроля.

Катионные битумные эмульсии CSS-1 имеют положительный заряд, поэтому возможна прямая и очень быстрая реакция между эмульсией и заполнителем или дорожным покрытием. Размер заряда или дзета-потенциал влияет на стабильность, чем больше заряд, тем больше отталкивание, но поскольку агрегат заряжен отрицательно, чем выше дзета-потенциал, тем быстрее реакция.
Таким образом, катионную эмульсию можно стабилизировать таким же образом, чтобы сделать ее более быстрой. Возможен и другой механизм испарения, но по мере стабилизации эмульсии этот вид разрушения становится медленнее. Таким образом, необходимо соблюдать баланс. После завершения электростатической части реакции эмульсия будет полагаться на флокуляцию и коалесценцию для полного разрушения.
После завершения разрушения вода должна еще полностью испариться, чтобы остаточный асфальт достиг полной прочности.

Нанесение битумной эмульсии CSS-1

Катионоактивные эмульсии можно использовать при температуре окружающей среды с заполнителями, которые не обязательно должны быть полностью сухими. Эмульсии менее опасны в использовании по сравнению с разбавленными и могут применяться в более широком диапазоне условий. Большинство приложений CSS-1 перечислены ниже:

  • Biturubber (резина)
  • Битумалч (Мальчинг)
  • Готовая холодная асфальтобетонная смесь
  • Битупрайм (грунтовка)
  • Bitucoat (противотуманное уплотнение — уплотнительное покрытие)

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

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

• Климатические условия, ожидаемые при строительстве. Выбор марки эмульсии, состав смеси или обработки, а также выбор строительного оборудования должны определяться условиями во время строительства.
• Тип заполнителя, градация и доступность.
• Наличие подрядчика или строительной техники.
• Географическое положение. Расстояние перевозки и, в некоторых случаях, доступность воды являются важными факторами.

расстояние транспортировки и, в некоторых случаях, доступность воды являются важными факторами.
• Управление движением. Можно ли объезжать или контролировать движение только через рабочую зону?

• Экологические соображения.
• Надлежащее применение для консервации дорожного покрытия или повреждения дорожного покрытия.
• Тип и объем трафика.

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

Пылеулавливание (SS-1, CS-1, CRS-1)
Липкое покрытие (SS-1, SS-1h, CSS-1, CSS-1h, CRS-1)
Грунтовочный слой (SS-1, SS-1h, CSS-1, CSS-1h)
Противотуманный герметик (SS-1, CSS-1, MS-1-CMS-2, CRS-1)
Проникающий грунт (SS- 1)
Холодный асфальтобетон, мульчирование, асфальтоукладчики (CSS-1) и CRS-2P)
Песчаное уплотнение (SS-1, SS-1h, CSS-1, CSS-1h, CMS-2s, CRS-1, CRS-2)

Шламовое уплотнение (SS-1h, CSS-1h, CSS -1Hp)
Сэндвич-уплотнение, накидное уплотнение, чип-уплотнение (CR-2)
Микропокрытие (CQS-1h)
Структурно-поверхностная растительная смесь (SS-1, SS-1h, HFMS-2s, CSS-1, CSS- 1ч,)
Складируемая ямочная смесь (ВСМ-2с, ЦМС-2с)
Смеси дорожно-строительные (СС-1, СС-1ч, ВСМ-2с, ВСМ-2, ВСМ-2ч, ЦМС-2, ЦМС-2ч, УС-1) , CSS-1h)
Заполнитель трещин, покрытие швов (RS-2, HFMS-2h, MS-2, CMS-2h, CRS-2P)
Асфальтовые герметики, немедленное техническое обслуживание, складские ремонтные смеси (CMS-2)
немедленное техническое обслуживание (CM2, CM2h)

Преимущество использования битумной эмульсии CSS-1

• Не требуется нефтяной растворитель для разжижения
• Незначительные выбросы углеводородов или их отсутствие
•Из-за низкой вязкости Эмульсии по сравнению с Битумом, наносимым горячим способом, Эмульсия имеет хорошая проникающая способность и растекаемость.
• В большинстве случаев используется без дополнительного нагрева. Он не нуждается в предварительном нагреве. Таким образом, в случае обработки для пользователя, помимо экономии затрат.
• Возможность покрытия влажного заполнителя.
• Возможность использования холодных материалов на удаленных участках. Холодное нанесение Битумной Эмульсии обеспечивает безопасность рабочей силы; это удобный продукт. При холодном нанесении работа продвигается намного быстрее.
• Широкий выбор типов эмульсий, доступных сегодня
• Экономичный
• Безопасный (для пожара)
• Окружающая среда
• Безвреден для здоровья работников.
• Может использоваться с заполнителями влаги. Его можно использовать даже с влажными заполнителями, что позволяет пользователям выполнять работы и в сезон дождей.
• Низкая температура нанесения и не требует подогрева при хранении и транспортировке. По этой причине он обеспечивает энергосбережение.
• Эмульгаторы повышают адгезию, действуют как средство против сдирания.
• Может использоваться в течение четырех сезонов. Особенно это дает возможность применения в дождливом регионе и продлевает период применения.
• Имеет много областей применения и методов строительства.
Битумная эмульсия не требует нефтяного растворителя, чтобы сделать их жидкими, как в разбавленном виде, а также не требует нагревания, как обычный битум. Тем самым экономя импортные нефтепродукты или дрова.
• Токсичные пары (выбросы углеводородов), обычно выделяемые нагретым битумом, и разбавители, отсутствующие при использовании катионной битумной эмульсии, поскольку для ее применения не требуется нагревание.
• Энергосбережение, контроль загрязнения и безопасность:
В течение последних 10-12 лет страна находилась в поиске альтернатив технологии горячего смешивания, особенно для спасения нашей осажденной окружающей среды, помимо ограничения использования импортного нефтяного масла и наших драгоценных лесов, поставляющих дрова. Оптимальное использование битумных эмульсий может сохранить нефтяную нефть и, в свою очередь, сохранить наше приложение для окружающей среды и иностранной валюты.

Упаковка битумной эмульсии УСБ-1

Упаковка битумной эмульсии УСБ-1 находится в новой толстостенной стальной бочке на поддоне для предотвращения утечки внутрь тары, а также наливом в битутейнер и автоцистерну.

Спецификация битумной эмульсии CSS-1

Анализ катионной битумной эмульсии

Эмульсионная тип: медленное сетка

Степень: CSS-1
Стандарт: ASTM D 2397M-13

. Мин. Макс. Метод испытаний
Тест на эмульсиях
Вязкость, фурол Сейболта при 25 °C, SFS 20 100 АСТМ Д244
Тест на стабильность при хранении, 24 ч, % 1 ASTM D6930
Испытание заряда частиц положительный ASTM D244
Ситовой тест, %
0,1 ASTM D6933
Тест на смешивание цемента, %   2,0 ASTM D6935
Дистилляция:
Остаток, % 57 ASTM D244
Испытания остатка после перегонки:
Пенетрация, 25°C (77°F), 100 г, 5 с 100 250 ASTM D5
Пластичность, 25°C (77°F), 5 см/мин, см 40 ASTM D113
Растворимость в трихлорэтилене, % 97,5 ASTM D2042

 

ПАСПОРТ БИТУМНОЙ ЭМУЛЬСИИ CSS1

Объяснение длины CSS — приемы Mozilla

При стилизации веб-сайта с помощью CSS вы, возможно, поняли, что дюйм на экране не является фактическим дюймом, а пиксель не обязательно является фактическим пикселем. Вы когда-нибудь задумывались, как представить скорость света в пикселях CSS? В этом посте мы рассмотрим определение единиц длины CSS, начиная с понимания некоторых физических единиц с тем же именем, в стиле C.G.P. Серый [1] .

Промышленный дюйм (дюйм)

Люди, живущие в местах, где дюйм является общепринятой мерой, уже знакомы с физической единицей. Для остальных из нас, живущих в местах, где используется метрическая система, с 1933 года «промышленный дюйм» определяется как математический эквивалент 2,54 сантиметра, или 0,0254 метра.

Пиксель устройства

Компьютерные экраны отображают объекты в пикселях. Единственная физическая «светлая капля» на дисплее, способная отображать полный цвет независимо от своего соседа, называется 9.0101 пиксель (элемент изображения). В этом посте мы называем физический пиксель на экране « устройство пиксель» (не путать с CSS-пикселем , о котором будет рассказано позже).

Отображение плотности пикселей, точек на дюйм (DPI) или пикселей на дюйм (ppi)

Физический размер пикселя устройства на конкретном устройстве может быть получен из плотности пикселей дисплея, указанной производителем устройства, обычно в точках на дюйм (DPI) или пикселях на дюйм (PPI).

Обе единицы, по сути, говорят об одном и том же, когда относятся к экранному дисплею, где DPI — это часто используемая, но неправильная единица измерения, а PPI — более точная, но никому не интересная. Физический размер пикселя устройства — это просто обратное число его DPI.

MacBook Air (2011 г.), который я сейчас использую, имеет дисплей с разрешением 125 точек на дюйм, поэтому

(ширина или высота одного пикселя устройства) = 1/125 дюйма = 0,008 дюйма = 0,02032 см

Очевидно, что это число слишком маленькое, чтобы его можно было указать в спецификации, поэтому значение DPI остается.

Пиксель CSS (px)

Размер пикселя CSS можно грубо рассматривать как размер, который удобно видеть невооруженным человеческим глазом, не слишком маленький, чтобы вам пришлось прищуриться, и недостаточно большой, чтобы вы могли увидеть пикселизацию. Вместо того, чтобы консультироваться с вашим офтальмологом по поводу определения «комфортно смотреть», спецификация W3C CSS дает нам рекомендацию:

Эталонный пиксель — это угол обзора одного пикселя на устройстве с плотностью пикселей 96 точек на дюйм и на расстоянии вытянутой руки от читателя.

Правильный размер пикселя CSS на самом деле зависит от расстояния между вами и дисплеем. За исключением Google Glass (которые крепятся на голове), люди обычно находят свое уникальное комфортное расстояние, зависящее от их зрения, для конкретного устройства. Учитывая тот факт, что у нас нет возможности определить, слабовидящий ли пользователь, нас интересует просто типичное расстояние просмотра для данного форм-фактора устройства — например, мобильный телефон обычно держат ближе, а ноутбук обычно используют на столе. или круг. Таким образом, «дальность просмотра» мобильных телефонов короче, чем у ноутбуков или настольных компьютеров.

Расстояние просмотра

Как упоминалось ранее, расстояние просмотра варьируется от человека к человеку и от устройства к устройству, поэтому мы должны классифицировать устройства по форм-факторам. Рекомендуемое эталонное расстояние просмотра («на расстоянии вытянутой руки») и эталонная плотность пикселей («96 DPI») на самом деле являются историческими; это свидетельство того, как люди в конце 20-го века обычно выходили в Интернет:

Первый компьютер, на котором работает Интернет. Из Википедии: WWW.

Для повседневных устройств 21-го века у нас есть другие справочные рекомендации:

Базовая плотность пикселей

Ширина/высота одного пикселя CSS

Расстояние просмотра

ПК 20-го века с ЭЛТ-дисплеем

96 точек на дюйм

~0,2646 мм (1/96 дюйма)

28 дюймов (71,12 см)

Современный ноутбук с ЖК-дисплеем [2]

125 точек на дюйм

0,2032 мм (1/125 дюйма)

21,5 дюйма (54,61 см)

Смартфоны/планшеты [3]

160 точек на дюйм

~0,159 мм (1/160 дюйма)

16,8 дюйма (42,672 см)

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

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

CSS дюймы (дюймы)

На экране компьютера дюйм CSS не имеет ничего общего с физическим дюймом. Вместо этого он переопределяется, чтобы быть точно равным 96 пикселей CSS. Это привело к неловкой ситуации, когда вы никогда не сможете надежно нарисовать точную линейку на экране с помощью базовых единиц CSS [4] . Тем не менее, это дает нам то, что задумано: элементы, размер которых выражен в единицах CSS, всегда будут отображаться на разных устройствах так, как будет удобно пользователю.

В качестве примечания: если пользователь распечатает страницу на листе бумаги, браузеры сопоставят дюйм CSS с физическим дюймом. Вы можете надежно нарисовать точную линейку с помощью CSS и распечатать ее. (убедитесь, что вы отключили «масштабировать по размеру» в настройках принтера!)

Соотношение пикселей устройства (DPPX)

По мере того, как мы шагаем в будущее (где моя летающая машина?), многие современные смартфоны поставляются с дисплеями высокой плотности. Чтобы убедиться, что пиксели CSS имеют одинаковый размер на каждом устройстве, имеющем доступ к Интернету (т. е. все устройства с экраном и сетевым подключением), производители устройств должны были сопоставить несколько пикселей устройства с одним пикселем CSS, чтобы компенсировать его относительно больший физический размер. . Отношение размера пикселя CSS к пикселям устройства называется соотношением пикселей устройства (DPPX).

Давайте возьмем iPhone 4 в качестве самого известного примера. Он поставляется с дисплеем с разрешением 326 точек на дюйм. Согласно нашей таблице выше, для смартфона типичное расстояние просмотра составляет 16,8 дюйма, а базовая плотность пикселей составляет 160 точек на дюйм. Чтобы создать один пиксель CSS, Apple решила установить соотношение пикселей устройства равным 2, что эффективно позволяет iOS Safari отображать веб-страницы так же, как на телефоне с разрешением 163 DPI.

Прежде чем двигаться дальше, взгляните на приведенные выше цифры. На самом деле мы можем добиться большего успеха, установив соотношение пикселей устройства не на 2, а на 326/160 = 2,0375, и сделать пиксель CSS точно таким же по сравнению с эталонными размерами. К сожалению, такое соотношение приведет к непредвиденным последствиям: поскольку каждый пиксель CSS не отображается целыми пикселями устройства, браузеру придется приложить некоторые усилия для сглаживания всех растровых изображений, границ и т. д., поскольку почти всегда они определяются как целые пиксели CSS. Браузерам сложно использовать 2,0375 пикселя устройства, чтобы нарисовать границу шириной в 1 CSS-пиксель: гораздо проще сделать это, если соотношение равно просто 2,9.0003

Между прочим, 163 DPI — это плотность пикселей предыдущего поколения iPhone, так что Интернет будет работать точно так же, без каких-либо специальных «обновлений» своих веб-сайтов разработчиками.

Производители устройств обычно выбирают 1,5, 2 или другие целые числа в качестве значения DPPX. Время от времени некоторые устройства отказывались от хорошей игры и поставлялись с чем-то вроде 1.325 DPPX; как веб-разработчики, мы, вероятно, должны игнорировать эти устройства.

Firefox OS, изначально являвшаяся операционной системой для мобильных телефонов, реализовала расчет DPPX таким образом. Фактическое значение DPPX будет определяться производителем каждого поставляемого устройства.

Точка CSS (pt)

Point — широко используемая единица, пришедшая из типографской индустрии в качестве единицы для металлического набора. По мере того, как мир постепенно переходил от высокой печати к настольным издательским системам, «точка PostScript» была переопределена как 1/72 дюйма. CSS следует тому же соглашению и сопоставляет 1 точку CSS с 1/72 дюйма CSS и 96/72 пикселей CSS.

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

Пика УСБ (шт), сантиметр УСС (см), миллиметр УСС (мм)

Как и в дюймах CSS, хотя их относительные отношения сохранены, их базовый размер на экране был переопределен пикселями CSS вместо стандартной единицы СИ (метра), которая определяется скоростью света, универсальной константой.

Мы могли бы буквально переопределить скорость света в CSS; это 1 133 073 857 007,87 пикселей CSS в секунду [5]  — относительность в CSS заставляет свет двигаться немного медленнее на устройствах с меньшими форм-факторами, чем у традиционных ПК, с нашей точки зрения, глядя на экран из реального мира.

Метатег области просмотра

Несмотря на то, что смартфон удобно держать на ладони и гарантирует, что пиксели CSS будут отображаться в удобном для пользователей размере, устройство, способное отображать только часть десктопного веб-сайта фиксированной ширины, не будет очень полезным . Было бы так же бесполезно, если бы телефон нарушал правила блока CSS и притворялся чем-то другим.

Внедрение метатега viewport принесло лучшее из обоих миров на мобильные устройства, предоставив контроль над масштабированием страницы как пользователям, так и веб-разработчикам. Вы можете создать макет для мобильных устройств и отказаться от масштабирования области просмотра или оставить свой веб-сайт для настольных браузеров как есть, а мобильный браузер уменьшит масштаб страницы для вас и пользователя. Как всегда, подробные описания и использование можно найти в сети разработчиков Mozilla.

Заключение

Поставщики браузеров, находясь в состоянии конкуренции, признают усилия по поддержанию стабильности веб-платформы и координируют свои наборы функций через стандартную организацию. Предоставленные функции и API будут тщательно протестированы на предмет их полезности во всех сценариях, прежде чем объявить их пригодность в качестве стандарта. Определение пикселя CSS имеет одно из них с самого начала. Введенные новые функции должны поддерживать обратную совместимость, а не изменять старое поведение [6] , поэтому многие из них (пиксели устройства, метатег окна просмотра и т. д.) вводятся как дополнительные уровни сложности. Старые веб-страницы, которые используют стандартные функции, таким образом, имеют встроенную «прямую совместимость».

Помня об этом, Mozilla вместе с нашими партнерами поддерживает и защищает Open Web — уникальную платформу, которой мы все дорожим.


[1] Вообще-то нет, потому что мы не собираемся снимать об этом видео. Я не буду возражать, если C.G.P. Грей даже снял об этом видео!

[2] Обычные значения для ноутбуков [нужна ссылка] .

[3] Типичное значение задокументировано здесь как устройство Android «mdpi».

[4] За одним исключением: нестандартная единица измерения CSS mozmm дает вам возможность сделать это при условии, что Firefox знает плотность пикселей, с которой он работает. Это выходит за рамки нашей темы.