Рис. 4.12.
Не так красиво, как League Gothic? С ним вообще сложно что-то сравнить. Однако этот новый шрифт читается куда лучше, да и вполне соответствует дизайнуВы, наверное, заметили, что мы не переписывали другие свойства в первом правиле .main-title
Вуаля! При помощи медиазапроса мы исправили заголовок, и теперь на маленьких экранах он смотрится прекрасно (рис. 4.13
).Но это только начало. Мы можем не только подправить шрифтовое оформление, но и решить более сложные проблемы, связанные с дизайном.
Рис. 4.13.
Сравните изначальный вариант заголовка (вверху) с вариантом, получившимся вследствие применения запросаВсе дело в деталях
Давайте сделаем новый медиазапрос и немного подправим макет нашей страницы. Помните наш гибкий контейнер #page
#page {
margin: 36px auto;
width: 90 %;
}
Мы видим, что контейнер занимает 90 %
margin: 36px auto
). Прекрасно, но давайте добавим правило в уже существующий медиазапрос, чтобы подрегулировать его характеристики при отображении на устройстве с разрешением меньше оригинального:@media screen and (max-width: 768px) {
#page {
position: relative;
margin: 20px;
width: auto;
}
}
Теперь в случае, если разрешение будет меньше 768 пикселей, элемент #page
20px
. Это небольшое изменение обеспечивает нам больше пространства на экранах с меньшим разрешением.С контейнером разобрались, теперь обратимся к области контента:
@media screen and (max-width: 768px) {
#page {
margin: 20px;
width: auto;
.welcome,
.blog,
.gallery {
margin: 0 0 30px;
width: auto;
}
}
Новое правило выбирает три блока контента верхнего уровня – введение (.welcome
.blog
) и фотогалерею (.gallery
) – и убирает их горизонтальные отступы, позволяя им занять всю ширину #page
.Таким образом, мы привели макет нашей страницы к более линейному виду, сделав его более читабельным на устройствах с маленькими экранами (рис. 4.14
). Я заслужил похвалу?Нет? Что вы сказали? В верхней части страницы все еще висит пугающе огромная картинка (рис. 4.15
)?Рис. 4.14.
Наш контент кажется более выровненным благодаря применению двух дополнительных правил. Однако чего-то еще не хватает…Рис. 4.15.
Однозначно над этим рисунком еще надо поработатьНу что ж,
>
You can never be too sure.
Изрядный кусок HTML, да? Но по существу мы сделали модуль .welcome
.main
). Изображение, в свою очередь, входит в блок .figure
, а сам img
заключен в элемент b
, который действует как хук для CSS.Звучит слишком заумно? И я знаю почему. Но элемент b
.slides.figure b {
display: block;
overflow: hidden;
margin-bottom: 0;
width: 112.272727 %; /* 741px / 660px */
}
.slides.figure b img {
display: block;
max-width: inherit;
}
Сначала мы задали свойству hidden
b
значение overflow
, то есть контейнер обрезал любой лишний контент. Теперь же гибкие изображения меняют свои размеры при изменении элемента b
. Поэтому мы отменяем масштабирование max-width: 100 %
по отношению к изображениям слайд-шоу (max-width: inherit
). В результате картинка робота будет попросту обрезана, если ее ширина превысит содержащий ее элемент b
.