Web-дизайн. Лабораторное занятие №6. Tiles дизайн на CSS GL
Вам нужно создать страницу в tiles-формате, выполненную по правилам CSS GL
Для этого потребуется конфигурация стилей в файле .css и подключение этого файла к коду страницы в HTML
I) Параметры стиля:
1) Сначала задаем параметры контейнера:
* {
box-sizing: border-box;
}
body {
background: #1c1e22;
color: #fff;
}
2) Затем, как и в прошлом задании указываем параметры для браузера, если он не поддерживает GL:
.support-warning {
background: #ccb11c;
color: #000;
display: block;
font-family: 'Raleway', sans-serif;
font-weight: 700;
opacity: 0.95;
padding: 3rem;
position: fixed;
text-align: center;
top: 0;
left: 0;
width: 100%;
z-index: 5;
}
.support-warning a {
color: inherit;
}
3) Теперь упаковка грида:
/* Flexbox fallback */
.l-grid {
display: flex;
flex-wrap: wrap;
}
.l-grid > .l-grid__item {
flex: 1 0 auto;
}
.l-grid--4x4 > .l-grid__item {
width: 25%;
}
@supports(display: grid) {
.support-warning {
display: none;
}
4) Ширина и отображение:
/* resets pre grid */
.l-grid--4x4 > .l-grid__item {
width: auto;
}
.l-grid {
display: grid;
}
}
5) Выравнивание контента по колонкам:
.l-grid--4x4 {
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(3, minmax(13rem, 1fr));
}
.l-span-column-2 {
grid-column-start: span 2;
}
.l-span-row-2 {
grid-row-start: span 2;
}
.l-full-height {
min-height: 100vh;
}
.align-center {
align-items: center;
justify-content: center;
}
.content {
padding: 3.5rem;
max-width: 400px;
}
6) Заголовочные шрифты (используйте свои)
.heading {
font-family: 'Libre Baskerville', serif;
font-size: 1.5rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1rem;
}
.description {
font-family: 'Raleway', sans-serif;
font-size: 1rem;
line-height: 1.5;
}
7) Темы цветных блоков - указаны три раза - латиницей, кодом фона и кодом цвета шрифта.
Везде меняете на свои:
.theme-blue {
background: #0000ff;
color: #ffffff;
}
.theme-navy {
background: #000080;
color: #ffffff;
}
.theme-teal {
background: #008080;
color: #ffffff;
}
8) Положение иллюстраций:
.img-background {
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
color: #fff;
}
9) Сами иллюстрации внутри грида. В них вы используете свои картинки (можно загрузить на google sites):
.img-background--sea {
background-image: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('https://sites.google.com/site/konoplevmedia/sea.png');
}
.img-background--wave {
background-image: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('https://sites.google.com/site/konoplevmedia/wave.png');
}
.img-background--horizon {
background: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('https://sites.google.com/site/konoplevmedia/horizon.png');
background-size: cover;
background-repeat: no-repeat;
color: #fff;
}
10) Все вышеуказанные параметры вы сохраняете как .css
11) Встраиваете .css в начало кода в новом посте в blogger
II) После этого переходите непосредственно к HTML:
12) Предупреждение для браузера:
<div class="support-warning">
This demo requires CSS Grid. The current browser you're using doesn't support it and is using a Flexbox fallback. Find a <a href="https://igalia.github.io/css-grid-layout/enable.html">grid-enabled browser</a>.
</div>
13) Класс блока без картинки с заполнением цвета (первый грид слева):
<div class="l-grid l-grid--4x4 l-full-height">
<div class="theme-blue l-grid__item l-grid align-center l-span-column-2 l-span-row-2">
<div class="content">
<h2 class="heading">
Заголовок
</h2>
<p class="description">текст</p>
</div>
</div>
14) Класс блока с картинкой:
<div class="img-background img-background--sea align-center l-grid__item l-grid l-span-column-2">
<div class="content">
<h2 class="heading">
Sea
</h2>
<p class="description">your description here</p>
</div>
</div>
Обратите внимание, что в названии фона есть имя класса картинки (в данном случае - sea) - его необходимо соблюдать в том же
порядке, который у вас в .css - иначе фон не подключится!
15) Второй блок с картинкой:
<div class="img-background img-background--wave align-center l-grid l-grid__item l-span-column-2">
<div class="content">
<h2 class="heading">
Wave
</h2>
<p class="description">your description here</p>
</div>
</div>
16) Третий блок:
<div class="img-background img-background--horizon align-center l-grid l-grid__item l-span-column-2">
<div class="content">
<h2 class="heading">
Horizon
</h2>
<p class="description">your description here</p>
</div>
</div>
17) Далее также как в первом случае - цветной фон без фото:
<div class="theme-navy l-grid l-grid__item align-center">
<div class="content">
<h2 class="heading">
Заголовок
</h2>
<p class="description">текст</p>
</div>
</div>
18) И еще раз с другим цветом:
<div class="theme-teal l-grid l-grid__item align-center">
<div class="content">
<h2 class="heading">
Заголовок 2
</h2>
<p class="description">текст 2</p>
</div>
</div>
19) Закрываете все параметры:
</div>
20) В любой из гридов с фото встройте в текст описания ссылку произвольного цвета на произвольный сайт.
21) Оставляете ссылку на выполненное задание в комментарии к данному посту до 18:00 четверга, 1 ноября.
Для этого потребуется конфигурация стилей в файле .css и подключение этого файла к коду страницы в HTML
I) Параметры стиля:
1) Сначала задаем параметры контейнера:
* {
box-sizing: border-box;
}
body {
background: #1c1e22;
color: #fff;
}
2) Затем, как и в прошлом задании указываем параметры для браузера, если он не поддерживает GL:
.support-warning {
background: #ccb11c;
color: #000;
display: block;
font-family: 'Raleway', sans-serif;
font-weight: 700;
opacity: 0.95;
padding: 3rem;
position: fixed;
text-align: center;
top: 0;
left: 0;
width: 100%;
z-index: 5;
}
.support-warning a {
color: inherit;
}
3) Теперь упаковка грида:
/* Flexbox fallback */
.l-grid {
display: flex;
flex-wrap: wrap;
}
.l-grid > .l-grid__item {
flex: 1 0 auto;
}
.l-grid--4x4 > .l-grid__item {
width: 25%;
}
@supports(display: grid) {
.support-warning {
display: none;
}
4) Ширина и отображение:
/* resets pre grid */
.l-grid--4x4 > .l-grid__item {
width: auto;
}
.l-grid {
display: grid;
}
}
5) Выравнивание контента по колонкам:
.l-grid--4x4 {
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(3, minmax(13rem, 1fr));
}
.l-span-column-2 {
grid-column-start: span 2;
}
.l-span-row-2 {
grid-row-start: span 2;
}
.l-full-height {
min-height: 100vh;
}
.align-center {
align-items: center;
justify-content: center;
}
.content {
padding: 3.5rem;
max-width: 400px;
}
6) Заголовочные шрифты (используйте свои)
.heading {
font-family: 'Libre Baskerville', serif;
font-size: 1.5rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 1rem;
}
.description {
font-family: 'Raleway', sans-serif;
font-size: 1rem;
line-height: 1.5;
}
7) Темы цветных блоков - указаны три раза - латиницей, кодом фона и кодом цвета шрифта.
Везде меняете на свои:
.theme-blue {
background: #0000ff;
color: #ffffff;
}
.theme-navy {
background: #000080;
color: #ffffff;
}
.theme-teal {
background: #008080;
color: #ffffff;
}
8) Положение иллюстраций:
.img-background {
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
color: #fff;
}
9) Сами иллюстрации внутри грида. В них вы используете свои картинки (можно загрузить на google sites):
.img-background--sea {
background-image: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('https://sites.google.com/site/konoplevmedia/sea.png');
}
.img-background--wave {
background-image: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('https://sites.google.com/site/konoplevmedia/wave.png');
}
.img-background--horizon {
background: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url('https://sites.google.com/site/konoplevmedia/horizon.png');
background-size: cover;
background-repeat: no-repeat;
color: #fff;
}
10) Все вышеуказанные параметры вы сохраняете как .css
11) Встраиваете .css в начало кода в новом посте в blogger
II) После этого переходите непосредственно к HTML:
12) Предупреждение для браузера:
<div class="support-warning">
This demo requires CSS Grid. The current browser you're using doesn't support it and is using a Flexbox fallback. Find a <a href="https://igalia.github.io/css-grid-layout/enable.html">grid-enabled browser</a>.
</div>
13) Класс блока без картинки с заполнением цвета (первый грид слева):
<div class="l-grid l-grid--4x4 l-full-height">
<div class="theme-blue l-grid__item l-grid align-center l-span-column-2 l-span-row-2">
<div class="content">
<h2 class="heading">
Заголовок
</h2>
<p class="description">текст</p>
</div>
</div>
14) Класс блока с картинкой:
<div class="img-background img-background--sea align-center l-grid__item l-grid l-span-column-2">
<div class="content">
<h2 class="heading">
Sea
</h2>
<p class="description">your description here</p>
</div>
</div>
Обратите внимание, что в названии фона есть имя класса картинки (в данном случае - sea) - его необходимо соблюдать в том же
порядке, который у вас в .css - иначе фон не подключится!
15) Второй блок с картинкой:
<div class="img-background img-background--wave align-center l-grid l-grid__item l-span-column-2">
<div class="content">
<h2 class="heading">
Wave
</h2>
<p class="description">your description here</p>
</div>
</div>
16) Третий блок:
<div class="img-background img-background--horizon align-center l-grid l-grid__item l-span-column-2">
<div class="content">
<h2 class="heading">
Horizon
</h2>
<p class="description">your description here</p>
</div>
</div>
17) Далее также как в первом случае - цветной фон без фото:
<div class="theme-navy l-grid l-grid__item align-center">
<div class="content">
<h2 class="heading">
Заголовок
</h2>
<p class="description">текст</p>
</div>
</div>
18) И еще раз с другим цветом:
<div class="theme-teal l-grid l-grid__item align-center">
<div class="content">
<h2 class="heading">
Заголовок 2
</h2>
<p class="description">текст 2</p>
</div>
</div>
19) Закрываете все параметры:
</div>
20) В любой из гридов с фото встройте в текст описания ссылку произвольного цвета на произвольный сайт.
21) Оставляете ссылку на выполненное задание в комментарии к данному посту до 18:00 четверга, 1 ноября.
This demo requires CSS Grid. The current browser you're using doesn't support it and is using a Flexbox fallback. Find a grid-enabled browser.
Marine
your description here
Sea
your description here
Wave
your description here
Horizon
Blank
your text
2nd blank
your text
Ксения Можаева
ОтветитьУдалитьhttps://strokach.blogspot.com/2018/10/this-demo-requires-css-grid.html?m=1
https://babazoya.blogspot.com/2018/10/this-demo-requires-css-grid_31.html
ОтветитьУдалитьhttps://year3term2.blogspot.com/2018/10/oct-31.html
ОтветитьУдалитьОценка "отлично"
УдалитьP.S. И убейте этот слайдер вверху страницы - он мешает просматривать ее содержимое.
Бычков Михаил, ФЖ-402
ОтветитьУдалитьhttps://michail-bychkov97.blogspot.com/2018/10/this-demo-requires-css-grid.html
Оценка "отлично"
Удалить