<header>
<h2 class="title">alignSelf</h2>
<p class="description">Вирівнює елемент вздовж перпендикулярної осі контейнера з макетом flexbox або grid.</p>
</header>
<main>
<div class="result">
<div class="container">
<div class="item">Елемент 1</div>
<div class="item">Елемент 2</div>
<div class="item">Елемент 3</div>
</div>
<div class="controls">
<label>
<input type="radio" name="alignment" value="auto" checked> auto
</label>
<label>
<input type="radio" name="alignment" value="flex-start"> flex-start
</label>
<label>
<input type="radio" name="alignment" value="flex-end"> flex-end
</label>
<label>
<input type="radio" name="alignment" value="center"> center
</label>
<label>
<input type="radio" name="alignment" value="stretch"> stretch
</label>
<label>
<input type="radio" name="alignment" value="baseline"> baseline
</label>
</div>
</div>
</main>
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
header h2.title {
padding-bottom: 15px;
border-bottom: 1px solid #999;
}
header p.description {
font-style: italic;
color: #222;
}
.result {
background-color: #f8f8f8;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
.container {
display: flex;
height: 200px;
align-items: flex-start;
}
.item {
background-color: lightgray;
padding: 10px;
margin: 5px;
}
const container = document.querySelector('.container');
const items = document.querySelectorAll('.item');
const alignmentRadios = document.querySelectorAll('input[name="alignment"]');
alignmentRadios.forEach(radio => {
radio.addEventListener('change', () => {
const alignment = radio.value;
items.forEach(item => {
item.style.alignSelf = alignment;
});
});
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.