1 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Первое, с чем необходимо познакомиться при создании адаптивной вёрстки, - мета-тег<em>viewport</em>. Созданный в компании Apple, он стал стандартом при создании вёрстки.</p>
1
<p>Первое, с чем необходимо познакомиться при создании адаптивной вёрстки, - мета-тег<em>viewport</em>. Созданный в компании Apple, он стал стандартом при создании вёрстки.</p>
2
<p>До перехода к мета-тегу необходимо разобраться, чем является<em>viewport</em>в браузере.<em>Вьюпорт (viewport)</em>- видимая пользователю область страницы, которая доступна без прокрутки.</p>
2
<p>До перехода к мета-тегу необходимо разобраться, чем является<em>viewport</em>в браузере.<em>Вьюпорт (viewport)</em>- видимая пользователю область страницы, которая доступна без прокрутки.</p>
3
<p>На картинке ниже<em>viewport</em>обозначен красной границей.</p>
3
<p>На картинке ниже<em>viewport</em>обозначен красной границей.</p>
4
<p>До появления смартфонов<em>viewport</em>был примерно одинаковым от монитора к монитору, поэтому создатели веб-страниц не сильно беспокоились о том, как их страница будет выглядеть на другом мониторе. С приходом мобильных устройств всё стало сложнее - появилось множество устройств с самыми разнообразными областями просмотра. Из-за этого почти все сайты, которые были созданы ранее, плохо отображались на мобильных устройствах. Зачастую появлялась горизонтальная прокрутка, которая мешала просмотру сайта. Думаю, вы тоже сталкивались с такими сайтами.</p>
4
<p>До появления смартфонов<em>viewport</em>был примерно одинаковым от монитора к монитору, поэтому создатели веб-страниц не сильно беспокоились о том, как их страница будет выглядеть на другом мониторе. С приходом мобильных устройств всё стало сложнее - появилось множество устройств с самыми разнообразными областями просмотра. Из-за этого почти все сайты, которые были созданы ранее, плохо отображались на мобильных устройствах. Зачастую появлялась горизонтальная прокрутка, которая мешала просмотру сайта. Думаю, вы тоже сталкивались с такими сайтами.</p>
5
<p>Мета-тег<em>viewport</em>позволяет нам указать, какая область просмотра необходима для страницы. Чаще всего его используют для указания ширины области просмотра, так как вертикальный скролл является естественным при работе с веб-страницами. Ширина устанавливается через атрибут width:</p>
5
<p>Мета-тег<em>viewport</em>позволяет нам указать, какая область просмотра необходима для страницы. Чаще всего его используют для указания ширины области просмотра, так как вертикальный скролл является естественным при работе с веб-страницами. Ширина устанавливается через атрибут width:</p>
6
<p>После установки такого мета-тега, ширина области просмотра нашего сайта станет 700 пикселей.</p>
6
<p>После установки такого мета-тега, ширина области просмотра нашего сайта станет 700 пикселей.</p>
7
<p>Чтобы увидеть, как это работает, возьмём эмуляцию экрана<em>iPhone 5</em>. Стандартный браузер<em>Safari</em>по умолчанию имеет<em>viewport</em>равный 980 пикселей. Добавим блок шириной 700 пикселей. Обратите внимание, что сейчас в<em>HTML</em>не указан мета-тег<em>viewport</em>.</p>
7
<p>Чтобы увидеть, как это работает, возьмём эмуляцию экрана<em>iPhone 5</em>. Стандартный браузер<em>Safari</em>по умолчанию имеет<em>viewport</em>равный 980 пикселей. Добавим блок шириной 700 пикселей. Обратите внимание, что сейчас в<em>HTML</em>не указан мета-тег<em>viewport</em>.</p>
8
<p>Если вся ширина нашего сайта равна 700 пикселей, то такой зазор между блоком и краем экрана нас не будет устраивать. Теперь добавим мета-тег<em>viewport</em>, указав ширину 700 пикселей.</p>
8
<p>Если вся ширина нашего сайта равна 700 пикселей, то такой зазор между блоком и краем экрана нас не будет устраивать. Теперь добавим мета-тег<em>viewport</em>, указав ширину 700 пикселей.</p>
9
<p>После установки ширины области просмотра в 700 пикселей, наш блок полностью охватывает экран устройства.</p>
9
<p>После установки ширины области просмотра в 700 пикселей, наш блок полностью охватывает экран устройства.</p>
10
<p>Помимо указания ширины в пикселях, есть специальное значение device-width, которое установит ширину области равной разрешению экрана устройства, с которого открыта страница.</p>
10
<p>Помимо указания ширины в пикселях, есть специальное значение device-width, которое установит ширину области равной разрешению экрана устройства, с которого открыта страница.</p>
11
<p>Другим примером может служить текст. Возьмём эмуляцию iPhone5, который имеет разрешение 320 пикселей в ширину при стандартном<em>viewport</em>в браузере равным 980 пикселей. Напишем любой текст с размером шрифта 20 пикселей. Это достаточно большое значение, чтобы такой текст было комфортно прочитать с экрана мобильного устройства. Но что же мы получим?</p>
11
<p>Другим примером может служить текст. Возьмём эмуляцию iPhone5, который имеет разрешение 320 пикселей в ширину при стандартном<em>viewport</em>в браузере равным 980 пикселей. Напишем любой текст с размером шрифта 20 пикселей. Это достаточно большое значение, чтобы такой текст было комфортно прочитать с экрана мобильного устройства. Но что же мы получим?</p>
12
<p>Если вы смогли разобрать текст, то у вас очень хорошее зрение :) Но на самом деле это не тот результат, который мы ожидали. Связано это с тем, что наш<em>viewport</em>сильно больше, чем реальное разрешение.</p>
12
<p>Если вы смогли разобрать текст, то у вас очень хорошее зрение :) Но на самом деле это не тот результат, который мы ожидали. Связано это с тем, что наш<em>viewport</em>сильно больше, чем реальное разрешение.</p>
13
<p>Скорректируем<em>viewport</em>, использовав значение device-width:</p>
13
<p>Скорректируем<em>viewport</em>, использовав значение device-width:</p>
14
<p>Таким образом мы можем сами управлять шириной области просмотра, не отталкиваясь от стандартных значений мобильных браузеров. Помимо свойства width, у мета-тега<em>viewport</em>существует ещё несколько атрибутов.</p>
14
<p>Таким образом мы можем сами управлять шириной области просмотра, не отталкиваясь от стандартных значений мобильных браузеров. Помимо свойства width, у мета-тега<em>viewport</em>существует ещё несколько атрибутов.</p>
15
<h2>Масштабирование</h2>
15
<h2>Масштабирование</h2>
16
<p>initial-scale - указывает коэффициент масштабирования страницы. В качестве значения используется число от<em>0.1</em>до<em>10</em></p>
16
<p>initial-scale - указывает коэффициент масштабирования страницы. В качестве значения используется число от<em>0.1</em>до<em>10</em></p>
17
<p><em>initial-scale=1.0</em></p>
17
<p><em>initial-scale=1.0</em></p>
18
<p><em>initial-scale=2.0</em></p>
18
<p><em>initial-scale=2.0</em></p>
19
<p>Зачастую используется значение<em>1.0</em>, чтобы браузер по умолчанию выводил наш макет в оригинальном масштабе, а не пытался его подстроить под область просмотра. Хоть это и кажется хорошей идеей, но любые изменения макета должны контролироваться разработчиком.</p>
19
<p>Зачастую используется значение<em>1.0</em>, чтобы браузер по умолчанию выводил наш макет в оригинальном масштабе, а не пытался его подстроить под область просмотра. Хоть это и кажется хорошей идеей, но любые изменения макета должны контролироваться разработчиком.</p>
20
<p>minimum-scale и maximum-scale устанавливают минимальный и максимальный коэффициент масштабирования страницы.</p>
20
<p>minimum-scale и maximum-scale устанавливают минимальный и максимальный коэффициент масштабирования страницы.</p>
21
<p>user-scalable даёт возможность пользователю масштабировать страницу. В смартфонах чаще всего это делается жестом двумя пальцами. Атрибут имеет всего два возможных значения: yes и no.</p>
21
<p>user-scalable даёт возможность пользователю масштабировать страницу. В смартфонах чаще всего это делается жестом двумя пальцами. Атрибут имеет всего два возможных значения: yes и no.</p>
22
+
<h2>Распространённое значение мета-тега viewport</h2>
22
23