Как создавать сложные макеты с помощью CSS

Автор: Lewis Jackson
Дата создания: 6 Май 2021
Дата обновления: 15 Май 2024
Anonim
HTML верстка сложного сайта HTML/SCSS/GULP/GSAP/GREENSOCK CANVAS/JS #верстка
Видео: HTML верстка сложного сайта HTML/SCSS/GULP/GSAP/GREENSOCK CANVAS/JS #верстка

Содержание

Макет для Интернета всегда был ограничен, на самом деле никогда не было ничего, посвященного тому, чтобы сделать контент простым для отображения в формате, который имеет смысл.

Еще в 90-х, когда Интернет только завоевал популярность, дизайнеры, которые привыкли размещать контент в виде сетки, обнаружили, что единственный способ получить такой же результат в браузере - это использовать таблицу. Объединение ячеек привело к созданию сложных макетов веб-сайтов, но это нанесло ущерб доступности и SEO. Перенесемся вперед, и сегодня есть всевозможные способы размещения контента с помощью плавающих элементов, гибких ящиков и т. Д.

CSS3 действительно продвинул возможности Интернета, и с 2014 года появился CSS Grid Layout. В настоящее время он имеет 75-процентную поддержку браузеров, так что наступает момент, когда пора серьезно подумать. Фреймворк Zurb Foundation 6 уже внедрен и использует его для питания своей сети.


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

Загрузите файлы учебных материалов здесь (и сохраните их в безопасном облачном хранилище).

01. Начать

Откройте файл «grid1.html» из начальной папки в файлах проекта. HTML-макет для этого имеет пять тегов div, которые называются просто item1–5 как классы CSS. Это будет контент, помещенный в сетку. Контейнер, оборачивающий это, определит сетку, которая будет иметь четыре столбца.

div> div> элемент 1 / div> div> элемент 2 / div> div> элемент 3 / div> div> элемент 4 / div> div> элемент 5 / div> / div>

02. Проверьте CSS на сетку.

Заглянув в раздел заголовка, вы можете увидеть, что «контейнер» должен быть выложен в виде сетки с автоматической высотой для строк, в то время как столбцы должны быть установлены на четыре, каждый из которых установлен на 25 процентов браузера. . Проверьте это в браузере, и вы увидите, что каждому элементу автоматически назначается следующая доступная позиция в сетке.


.container {дисплей: сетка; сетка-шаблон-строки: авто; сетка-шаблон-столбцы: повтор (4, 25%); }

03. Определите позиции сетки

Теперь взгляните на файл 'grid2.html'. Это то же самое, что и первый файл, за исключением того, что ’item1’ и ’item2’ имеют определенные позиции. Первый расположен в строке 1 и заканчивается перед строкой 2. Столбец начинается с 1 и заканчивается 3, поэтому он охватывает два столбца. Второй начинается в столбце 3 и занимает следующие два столбца. Оставшиеся элементы заполняют следующие доступные ячейки сетки.

.item1 {начало строки сетки: 1; конец ряда сетки: 2; начало столбца сетки: 1; конец столбца сетки: 3; } .item2 {начало строки сетки: 1; конец ряда сетки: 2; начало столбца сетки: 3; конец столбца сетки: 5; }

04. Используйте шаблон сетки.

Откройте 'grid3.html' и посмотрите на текст HTML. Вы увидите, что есть макет с заголовком, боковой панелью, разделом основного содержимого и нижним колонтитулом. Вы можете добавить больше текста в контент, чтобы увидеть, что произойдет, когда он будет помещен внутрь. Сетка будет использовать функцию шаблона, чтобы превратить эти разделы в макет.


div> div> Заголовок / div> div> Боковая панель / div> div> Content / div> div> Нижний колонтитул / div> / div>

05. Определите шаблон

Посмотрите на CSS для контейнера. Он снова определяется как сетка. Верхняя строка будет иметь высоту 200 пикселей, средняя - автоматически, а последняя строка будет иметь высоту 100 пикселей. Ширина столбцов должна составлять 33 процента, а остальные - автоматически. В шаблоне указано, что заголовок заполнит оба столбца. Следующая строка будет боковой панелью в первом столбце и содержимым следующего. Нижний колонтитул проходит через оба.

.container {дисплей: сетка; сетка-шаблон-строки: 200 пикселей автоматически 100 пикселей; сетка-шаблон-столбцы: 33% автоматически; grid-template-sizes: «заголовок заголовка» «содержимое боковой панели» «нижний колонтитул нижнего колонтитула»; }

06. Свяжите шаблон с классом.

Чтобы связать класс с шаблоном, показанный здесь код определяет это. Каждой области сетки присваивается имя, и создается ссылка. Контент здесь не отображается, но находится в документе 'grid3.html'. Посмотрите на это в браузере, чтобы увидеть макет сетки. Поскольку определены два столбца, шаблону необходимо две области в каждой из кавычек.

.header {область сетки: заголовок; } .sidebar {область сетки: боковая панель; }. нижний колонтитул {область сетки: нижний колонтитул; }

07. Сделайте его отзывчивым

Чтобы сделать 'grid3.html' адаптивным, вставляется медиа-запрос, и верхняя строка сохраняется на уровне 200 процентов, а размер остальных строк будет автоматически изменен. Есть только один столбец, полной ширины, поэтому в шаблоне есть одно слово в каждой кавычке для определения макета. Их можно легко изменить, не меняя HTML.

@media screen и (max-width: 699px) {.container {display: grid; сетка-шаблон-строки: 200 пикселей автоматически; сетка-шаблон-столбцы: 100%; сетка-шаблон-области: «заголовок» «боковая панель» «содержимое» «нижний колонтитул»; }}

08. Работа над настоящим макетом.

Теперь откройте ’index.html’ - весь HTML для содержания уже создан, как и некоторые CSS для элементов дизайна. Добавьте эту сетку к тегам стилей в разделе заголовка. При этом создается сетка из трех столбцов с шаблоном для каждого раздела. Обратите внимание на точку для пустых участков сетки.

.container1 {ширина: 80%; маржа: 0 авто; дисплей: сетка; сетка-шаблон-строки: авто; столбцы сетки-шаблона: 33,3% 33,3% авто; grid-template-sizes: "header header header" ". standfirst standfirst" ".. article1" "focus pullquote pullquote" "article2 article2."; }

09. Свяжите шаблон

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

.header {область сетки: заголовок; } .standfirst {grid-area: standfirst; }

10. Добавьте следующие области

Теперь первая статья, цитата и изображение в фокусе помещены в дизайн. Цитата и изображение находятся рядом в одной строке. На этом этапе article2 еще не размещен, поэтому он занимает первое доступное место в сетке, которое находится рядом с подставкой.

.article1 {grid-area: article1; } .pullquote {grid-area: pullquote; } .focus {область сетки: фокус; выравнивание текста: центр; }

11. Закончите первую сетку.

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

.article2 {область сетки: статья2; колонка-пробел: 65 пикселей; количество столбцов: 2; }

12. Добавьте белый фон.

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

.whitebg {padding: 100px 0; цвет фона: #ddd; }

13. Сделайте вторую сетку.

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

.container2 {ширина: 80%; маржа: 0 авто; дисплей: сетка; сетка-шаблон-строки: авто; столбцы сетки-шаблона: 33,3% 33,3% авто; сетка-шаблон-области: "img1 img2 article3"; }

14. Добавьте столбцы.

Каждому из классов CSS во второй сетке предлагается установить связь с соответствующим столбцом, как определено в шаблоне сетки. Цвет текста статьи изменен, чтобы он выделялся на более светлом фоне этого раздела. Осталось закончить только нижний колонтитул, поэтому макет журнала почти готов.

.img1 {область сетки: img1; } .img2 {область сетки: img2; } .article3 {grid-area: article3; цвет: # 333; }

15. Улучшите нижнюю часть страницы.

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

.footer {цвет фона: # 000; цвет: # 999; выравнивание текста: центр; отступ: 50 пикселей, 20 пикселей, 100 пикселей; }

16. Отрегулируйте для среднего размера экрана.

Сюда вставляется медиа-запрос, чтобы следить за дизайном, когда ширина браузера меньше 1200 пикселей. Код для шагов 17 и 18 будет помещен в скобки, где находится комментарий. Это будет случай изменения структуры макета обеих сеток.

@media screen и (max-width: 1200px) {/ * здесь код * /}

17. Оплавление первой сетки.

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

.container1 {ширина: 100%; сетка-шаблон-строки: авто; сетка-шаблон-столбцы: 50% 50%; grid-template-sizes: "header header" "standfirst standfirst" "article1." "pullquote pullquote" "article2 focus"; } .article2 {количество столбцов: 1; }

18. Протестируйте свой макет.

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

.container2 {ширина: 100%; маржа: 0 авто; сетка-шаблон-строки: авто; сетка-шаблон-столбцы: 50% 50%; сетка-шаблон-области: "img1 img2" "article3 article3"; }

19. Настройте дизайн для мобильных устройств.

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

@media screen и (max-width: 768px) {/ * здесь код заключительных шагов * /}

20. Проверьте сетку в один столбец.

Теперь первая сетка настроена на один столбец, занимающий 100% ширины браузера, а порядок разделов добавлен в области шаблона. Проверьте, как работает первая часть страницы на экранах мобильных устройств.

.container1 {ширина: 100%; сетка-шаблон-строки: авто; сетка-шаблон-столбцы: 100%; сетка-шаблон-области: "заголовок" "стоять первым" "статья1" "цитата" "фокус" "статья2"; }

21. Завершите макет.

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

.container2 {ширина: 100%; маржа: 0 авто; сетка-шаблон-строки: авто; сетка-шаблон-столбцы: 100%; сетка-шаблон-области: "img1" "img2" "article3"; }

Эта статья изначально была опубликована в журнале о креативном веб-дизайне Web Designer. КупитьВыпуск 271или жеподписываться.

Популярные посты
Как мгновенно узнать пароль к файлу WinRAR
Далее

Как мгновенно узнать пароль к файлу WinRAR

Если вы хотите сжать файлы, WinRAR - лучший выбор, который у вас есть в Интернете. Это файловый компрессор, и вы получите файл с расширением .rar. Он также предоставляет вам возможность защитить файлы...
Топ-10 лучших онлайн-программ для удаления паролей RAR
Далее

Топ-10 лучших онлайн-программ для удаления паролей RAR

Чтобы сохранить емкость хранилища и ускорить процесс передачи файлов в Интернете, они сжимаются, чтобы уменьшить количество бит. Сжатие также снижает затраты на оборудование. В нашу современную эпоху ...
Как исправить высокую загрузку ЦП у установщика модулей Windows
Далее

Как исправить высокую загрузку ЦП у установщика модулей Windows

Многие люди обнаруживают, что их компьютер работает медленно, и обнаруживают Установщик модулей Window High Dik High CPU в диспетчере задач. Если вы один из них, не волнуйтесь. Эта статья расскажет, в...