Вот несколько простых методов для вертикального выравнивания:
Это легко: установите высоту строки текстового элемента в равный таковому для контейнера
Doesn't work.
Абсолютно поместите внутренний div относительно его контейнера
This is positioned on the bottom
This is positioned in the middle
Чтобы заставить это работать правильно по всем направлениям, придется немного взломать CSS. К счастью, есть ошибка IE, которая работает в нашу пользу. Устанавливая top:50%
на контейнере и top:-50%
на внутреннем div, вы можете добиться того же результата. Мы можем комбинировать эти два варианта с помощью другой функции, IE не поддерживает: расширенные селектора CSS.
Works in everything!
Это решение требует немного более современного браузер, чем другие решения, поскольку он использует свойство transform: translateY
. ( http://caniuse.com/#feat=transforms2d )
Применение следующих трех строк CSS к элементу будет вертикально центрировать его внутри родителя независимо от высоты родительский элемент:
position: relative;
top: 50%;
transform: translateY(-50%);
Переключите ваше условие на «Редактировать в расширенном режиме», затем вы можете попробовать что-то вроде:
@or(equals(...)
и передать свои условия в него. Самый простой способ узнать, как будет выглядеть ваше условие - сначала выбрать условия, а затем переключиться на «Редактировать в расширенном режиме».