6 CSS трикове за вертикално подреждане на съдържанието
Да поговорим за вертикалното подравняване в CSS, или по-точно как не е възможно. CSS все още не е предоставил официален начин да центрира съдържанието вертикално в контейнера. Това е проблем, който вероятно е разочаровал уеб разработчиците навсякъде. Но за да не се страхуваме, в този пост ще ви подскажем няколко трика, които могат да ви помогнат имитирайте ефекта.
Тези трикове обаче могат да имат ограничения и може да се наложи използвайте повече от един трик за да завърши илюзията. Ако знаете за някакъв друг трик, уведомете ни в коментарите.
1. Използвайте Абсолютно позициониране
Първият трик, който ще видим тук, използва Първо ще зададем позицията на контейнерния елемент на относително, след което ще зададем положението на детския елемент За да я подравните вертикално, преместете позицията на детския елемент отгоре, наполовина на височината на контейнера и го издърпайте нагоре с половината от ширината на детския елемент. Ето изхода: Този трик е перфектен, когато има само един елемент на дете, в противен случай CSS3 Transform улеснява поставянето на съдържание в центъра. CSS3 Transform, за разлика от Ако приемем, че имаме същата HTML структура като предходния метод - един родител, един детски елемент - Имайте предвид обаче, че CSS3 Transforms няма да работи в Internet Explorer 8 и по-долу. Може да искате да използвате някой от другите методи тук като резервен. Можем също да използваме Този трик е подходящ, когато не поставите контейнера във фиксирана ширина, просто задайте ширината на Ако имате само един ред текстово съдържание в контейнер, можете да подравните текста вертикално с помощта на Не забравяйте, че този трик работи само с един ред текст. Ако съдържанието се раздели на две или повече линии, интервалът между всеки ред ще бъде, както сме посочили в Лично, използването на CSS Table е любимият ми трик за прилагане на вертикално подравняване. Работи в стари браузъри като Internet Explorer 8. Този метод се извършва чрез задаване на показване на елемента на контейнера Последният метод за вертикално центриране е чрез използване на Flexbox. Flexbox е нов модул в CSS3. Той предлага по-ясен метод за подравняване на съдържанието. За да центрирате съдържанието вертикално във флекс-кутията, просто добавете Имайте предвид, че Flexbox някои браузъри поддържат само частични функции на модула Flexbox като Internet Explorer 10, Safari, 6 и Chrome 27 и по-долу. Следователно, подобно на трика с CSS3 Transform, уверете се, че ефектът попада добре в тези браузъри.позиция
Имот. Имате две абсолютен
. Това ни позволява свободно да го поставяме през контейнера. абсолютен
позицията ще повлияе на другия елемент в същия контейнер.2. Използвайте CSS3 Transform
позиция
не засяга позицията на други елементи в същия контейнер.50%
отгоре и използвайки CSS преобразуването дава превод на -50%
. И там го имаш.3. Използвайте Padding
подложка
да създаде илюзия за вертикално подравняване. За да направите това, просто поставете горната и долната подложка еднакво, както следва:Автоматичен
.4. Използвайте Line Height
височина на линията
Имот. Нагласи височина на линията
стойност за приблизително същата като височината на контейнера и ще видите следния изход.височина на линията
, давайки ни твърде много празно пространство.5. Използвайте CSS таблицата
маса
, докато детето елемент трябва да се показва като маса клетка
след това използвайте вертикално подравняване
собственост за центриране на текста вертикално.6. Използвайте Flexbox
align-items: център;
както следва, и това е всичко.