Я использую CSS-стиль text-align для выравнивания содержимого внутри контейнера в HTML. Это прекрасно работает, когда содержимое текстовое или браузер IE. Но в остальном это не работает.
Также, как следует из названия, он используется в основном для выравнивания текста. Свойство align давно устарело.
Есть ли другой способ выровнять содержимое в HTML?
html
css
text-align
Хеманшу Бходжак
источник
источник
Ответы:
text-align выравнивает текст и другой встроенный контент. Он не выравнивает дочерние элементы блока.
Чтобы сделать это, вы хотите, чтобы элемент, который вы хотите выровнять, выровнялся по ширине с 'auto' левым и правым полями. Это совместимый со стандартами способ, который работает везде, кроме IE5.x.
Чтобы это работало в IE6, необходимо убедиться, что режим стандартов включен , используя подходящий DOCTYPE.
Если вам действительно нужно поддерживать режим IE5 / Quirks, который в настоящее время вам не нужен, можно объединить два разных подхода к центрированию:
(Очевидно, что стили лучше всего помещать в таблицу стилей, но встроенная версия является иллюстративной.)
источник
Вы можете сделать это так же:
HTML
CSS
Как упоминал и Артем Руссаковский , прочитайте оригинальную статью Мэтью Джеймса Тейлора для полного описания.
источник
источник
Честно говоря, я ненавижу все решения, которые я видел до сих пор, и я скажу вам почему: они просто, кажется, никогда не выравнивают это правильно ... вот что я обычно делаю:
Я знаю, какие значения пикселей каждый div и их соответствующие поля ... так что я делаю следующее.
Я создам div-обертку, которая имеет абсолютную позицию и левое значение 50% ... поэтому этот div теперь начинается в середине экрана, а затем я вычитаю половину всего содержимого ширины div ... и я получаю КРАСИВЫЙ масштабирующий контент ... и я думаю, что это работает во всех браузерах. Попробуйте сами (в этом примере предполагается, что весь контент на вашем сайте обернут в тег div, который использует этот класс-обертку, и весь контент в нем имеет ширину 200 пикселей):
РЕДАКТИРОВАТЬ: я забыл добавить ... вы также можете установить ширину: 0px; В этом браузере div для некоторых браузеров не показывать полосы прокрутки, и тогда вы можете использовать абсолютное позиционирование для всех внутренних div.
Это также работает ИЗУМИТЕЛЬНО для вертикального выравнивания вашего контента, используя top: 50% и margin-top. Ура!
источник
Вот техника, которую я использую, которая сработала хорошо:
источник
Ниже приведены методы, которые всегда работали для меня
Установите для отображения родительского
display: flex;
элемента div значение, и вы можете выровнять дочерние элементы внутри элемента div, используяjustify-content: center;
(для выравнивания элементов по главной оси) иalign-items: center;
(для выравнивания элементов по поперечной оси).Если у вас есть несколько дочерних элементов и вы хотите управлять их расположением (столбцы / строки), вы также можете добавить
flex-direction
свойство.Рабочий пример:
2. (старый метод) Использование позиции, свойств полей и фиксированного размера
Рабочий пример:
источник
Все ответы говорят о горизонтальном выравнивании.
Для вертикального выравнивания нескольких элементов содержимого взгляните на этот подход:
источник
Еще один пример использования HTML и CSS:
источник