Подскажите пожалуйста, как расположить блок точно в середине экрана,по горизонтали можно через margin : 0 auto, а как сделать по вертикали?
Вариантов масса.
1. С помощью line-height
2. Абсолютным позиционированием
3. С помощью padding
4. С помощью таблиц
5. С помощью flexbox
6. С помощью transform
7. С применением отрицательного margin-top
8. С помощью псевдоэлемента :before
Выбирайте любой, какой вам больше нравится.
Выравнивание с помощью :before :
Данный способ работает только если внутренний блок не имеет абсолютного позиционирования.
.wrapper {
text-align: center;
// другие стили для блока-родителя
display: block;
height: 200px;
}
.wrapper:before {
content: "";
display: inline-block;
height: 100%;
vertical-align: middle;
}
.inner {
display: inline-block;
vertical-align: middle;
// другие стили для внутреннего блока
}
<div class="wrapper">
<div class="inner">Lorem ipsum</div>
</div>
Можно использовать flex свойство, а можно так:
.par {
width: 200px;
height: 200px;
border: 1px solid #000;
display: table-cell;
vertical-align: middle;
text-align: center;
}
.ch {
width: 5px;
height: 5px;
background-color: red;
display: inline-block;
}
<div class="par"><div class="ch"></div></div>
Можно так через flexbox
:
* {
margin: 0;
padding: 0;
}
body,
html {
height: 100%;
}
#cont {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
#cont div {
width: 50px;
height: 50px;
background-color: #f1f1f1;
}
<div id='cont'>
<div></div>
</div>
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Вот есть у меня блок А который имеет position:absolute. Он вложенный в нормальный блок В с position:relative.
Нужно сверстать гистограмму как на картинке. Каждый элемент должен быть анимирован, например первый от 0 до 5%, последний от 0 до 100%.
Как заменить данный CSS циклом, добавляющим +20px padding к каждому следующему элементу в дереве li? необходим именно padding!.