Как сделать финский флаг с помощью HTML?
Википедия показывает такую схему:
Поэтому, если я нигде не просчитался, получается так:
html, body {
height: 100%;
margin: 0;
}
html {
background: linear-gradient(135deg, antiquewhite, silver);
padding: 1em 32%;
box-sizing: border-box;
}
div:before {
content: "";
display: block;
padding-top: 61.111%;
}
div {
background:
linear-gradient(to right, transparent 27.778%, #005498 27.778%, #005498 44.444%, transparent 44.444%),
linear-gradient(to bottom, transparent 36.364%, #005498 36.364%, #005498 63.636%, transparent 63.636%)
white
}
<div></div>
Есть множество вариантов. Можно и SVG сделать, можно картинку PNG.. Но можно и табличкой:
table {
border-spacing: 0px;
height: 110px;
width: 180px;
}
td.lt {
height: 40px;
width: 50px;
}
td.ct {
background-color: #003580;
width: 30px;
}
td.rt {
width: 100px;
}
td.cc {
background-color: #003580;
}
<table>
<tr>
<td class="lt">
</td>
<td class="ct">
</td>
<td class="rt">
</td>
</tr>
<tr>
<td colspan="3" class="cc">
</td>
</tr>
<tr>
<td class="lt">
</td>
<td class="ct">
</td>
<td class="rt">
</td>
</tr>
</table>
Это не очень хороший вариант, конечно. Профессионал бы меня раскритиковал, то бишь это не грамотное решение. Советую покопать в интернете SVG - хорошая вещь для реализации таких задач.
Пример
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
.flag-finland {
width: 300px;
height: 200px;
background: #fff;
position: relative;
border: 1px solid #ccc;
}
.flag-finland:before,
.flag-finland:after {
content: '';
position: absolute;
background: #003584;
}
.flag-finland:before {
top: 0;
left: 100px;
width: 40px;
height: 100%;
}
.flag-finland:after {
top: 50%;
left: 0;
width: 100%;
height: 40px;
margin-top: -20px;
}
<div class="flag-finland"></div>
Сложный вариант)
Суть в том, что тут всё пропорционально, думаю понятно как и что)
/*
Из вики узнал о размерах флага и т.п.
https://ru.wikipedia.org/wiki/Флаг_Финляндии
*/
.flag {
display: block;
width: 180px;
height: 110px;
background: #003580;
position: relative;
}
.flag::before, .flag::after {
content: '';
display: block;
position: absolute;
top: 0;
bottom: 0;
height: 100%;
box-sizing: border-box;
background: transparent;
border: 0 solid #fff;
}
.flag::before {
width: calc((100%/18)*5);
border-top-width: calc((110px/11)*4);
border-bottom-width: calc((110px/11)*4);
left: 0;
}
.flag::after {
width: calc((100%/18)*10);
border-top-width: calc((110px/11)*4);
border-bottom-width: calc((110px/11)*4);
right: 0;
}
<div class="flag"></div>
Добавлю вариант с SVG:
<svg xmlns="http://www.w3.org/2000/svg" width="1800" height="1100">
<rect width="1800" height="1100" fill="#fff"/>
<rect width="1800" height="300" y="400" fill="#003580"/>
<rect width="300" height="1100" x="500" fill="#003580"/>
</svg>
Разверните на всю страницу. Для наглядности размер задал на всю ширину браузера. Если не знакомы с SVG, то по аналогии с HTML, высота\ширина так-же, fill
- цвет. Все просто.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть ли возможность, используя открытый исходный код MicroSip, добавить в него функцию звонка по кнопке из другой программы, написанной на C#? https://wwwmicrosip
Необходимо скачать из базы данных сущности диалогов вместе с последним сообщениемТакой код не работает: