<p>Вибери потрібні значення для <code>flex-flow</code>:</p>
<select id="form-1">
<option value="row" name="value1" selected>row</option>
<option value="row-reverse" name="value1">row-reverse</option>
<option value="column" name="value1">column</option>
<option value="column-reverse" name="value1">column-reverse</option>
</select>
<select id="form-2">
<option value="nowrap" name="value2" selected>nowrap</option>
<option value="wrap" name="value2">wrap</option>
<option value="wrap-reverse" name="value2">wrap-reverse</option>
</select>
<p id="text-1"></p>
<p id="text-2"></p>
<hr>
<div class="layout">
<header>
<h4>Simple website</h4>
</header>
<main>
<nav>
<a href="#">Item 1</a>
<a href="#">Item 2</a>
<a href="#">Item 3</a>
<a href="#">Item 4</a>
</nav>
<section id="wrapper">
<div class="child child-1">1</div>
<div class="child child-2">2</div>
<div class="child child-3">3</div>
</section>
</main>
<footer>
© 2017
</footer>
</div>
* {
box-sizing: border-box;
padding: 0;
}
body {
text-align: center;
font-family: momospace;
font-size: 17px;
line-height: 1.5;
color: #222;
}
p {
text-align: left;
}
#form-1,
#form-2 {
padding: 8px 16px;
font-size: 19px;
}
header {
line-height: 75px;
text-align: center;
text-transform: uppercase;
background-color: #808080;
color: #f9f9f9;
}
main {
display: flex;
}
nav {
width: 30%;
background-color: yellow;
padding: 16px;
}
nav a {
display: block;
margin-bottom: 16px;
text-align: left;
text-decoration: none;
color: #151515;
}
#wrapper {
background-color: #eee;
display: flex;
padding: 16px;
flex: 1;
}
.child {
width: 25%;
color: #f1f1f1;
font-weight: 700;
border-radius: 4px;
background-color: #444;
border: 4px solid #666;
margin: 5px;
}
footer {
line-height: 50px;
background-color: #000;
color: #f1f1f1;
margin-top: 16px;
}
var wrapper = document.getElementById('wrapper');
var form1 = document.getElementById('form-1');
var form2 = document.getElementById('form-2');
var text1 = document.getElementById('text-1');
var text2 = document.getElementById('text-2');
var textArray = {'row': 'Контейнери будуть розташовані зліва направо. Якщо значення dir задано як rtl, то напрямок буде справа наліво. За замовчуванням.',
'row-reverse': 'Теж саме, що і row, але в зворотному порядку.',
'column': 'Флекс елементи відображаються у вигляді стовпчика. Стовпчик формується зверху вниз.',
'column-reverse': 'Теж саме, що і column, але знизу вверх.',
'nowrap': 'Знесення заборонене. Гнучкі елементи шикуються в одну лінію. За замовчуванням.',
'wrap': 'Гнучкі елементи шикуються в кілька рядків, їх напрямок задається властивістю flex-direction.',
'wrap-reverse': 'Гнучкі елементи шикуються в кілька рядків, в напрямку, протилежному flex-direction.'};
form1.onchange = form2.onchange = function change() {
var newVal = getNewValue();
wrapper.style.flexFlow = newVal[0] + ' ' + newVal[1];
text1.innerHTML = 'flex-direction: ' + textArray[newVal[0]];
text2.innerHTML = 'flex-wrap: ' + textArray[newVal[1]];
}
function getNewValue() {
var result = [];
for (var i = 0; i < form1.options.length; i++) {
if (form1.options[i].selected == true) {
result[0] = form1.options[i].value;
}
}
for (var i = 0; i < form2.options.length; i++) {
if (form2.options[i].selected == true) {
result[1] = form2.options[i].value;
}
}
return result;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.