html — Центрирование div по центру родительского div
Задать вопрос
Вопрос задан
Изменён 2 года 3 месяца назад
Просмотрен 6k раз
Вопрос избитый, но справиться не могу. Есть внешний div c внутренним дивом и картинкой во всю ширину
Не могу отцентрировать текст поверх картинки
<div> <div>Text</div> <img src="https://pp.vk.me/c630828/v630828919/5293e/hThcyFPuX24.jpg"> </div>
css
.one { background-color: #ccc; } .two { width: 40%; height: 40%; margin: 0px auto; text-align: center; } .full { width:100%; height: auto; }
- html
- css
- div
1
Применяем абсолютное позиционирование+margin:auto;
* { margin: 0; padding: 0; } .one { background-color: #ccc; position: relative; } .two { width: 40%; height: 40%; margin: 0px auto; text-align: center; position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; background: #ccc; } .full { width: 100%; height: auto; }
<div> <div>Text</div> <img src="https://pp.vk.me/c630828/v630828919/5293e/hThcyFPuX24.jpg"> </div>
1
Можно через свойство flex,
* { margin: 0; padding: 0; } .one { display: flex; height: 300px; background:url(https://pp.vk.me/c630828/v630828919/5293e/hThcyFPuX24.jpg) no-repeat center; background-size: contain; } .two { margin: auto; background: red; padding: 20px; }
<div> <div>Text</div> </div>
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
html — Сделать блок div по центру родительского блока, а содержимое блока div выровнять по правому краю
Вопрос задан
Изменён 6 лет 1 месяц назад
Просмотрен 4k раз
Необходимо расположить блок div
горизонтально по центру родительского блока, а содержимое блока div
должно горизонтально располагаться по правому краю блока.
.parent { margin-top: 50px; border: 1px solid black; padding: 20px; } .child { margin: 0 auto; border: 1px solid green; padding: 10px; } .text-right { text-align: right; }
<div> <div> <div> text 1 </div> <div> text 2 </div> </div> </div>
Text 1 и Text 2 должны быть посредине и на разных строках. Не могу понять что добавить надо.
- html
- css
2
Центрирование текста в блоке фиксированной ширины
.parent { margin-top: 50px; border: 1px solid black; padding: 20px; text-align: right; } .child { display: inline-block; border: 1px solid green; padding: 10px; text-align: center; width: 300px; }
<div> <div> <div> text 1 </div> <div> text 2 </div> </div> </div>
Центрирование текста с помощью padding
. parent { margin-top: 50px; border: 1px solid black; padding: 20px; text-align: right; } .child { display: inline-block; border: 1px solid green; padding: 10px; text-align: center; }
<div> <div> <div> Lorem ipsum dolor </div> <div> Sit amet </div> </div> </div>
Поскольку автор путается в заголовке вопроса и в комментариях, что ему нужно,
вот альтернативное решение для другой описанной им проблемы:
Центрирование блока фиксированной ширины внутри родителя
.parent { margin-top: 50px; border: 1px solid black; padding: 20px; text-align: center; } .child { display: inline-block; border: 1px solid green; padding: 10px; text-align: right; width: 300px; }
<div> <div> <div> text 1 </div> <div> text 2 </div> </div> </div>
Центрирование блока динамической ширины внутри родителя
. parent { margin-top: 50px; border: 1px solid black; padding: 20px; text-align: center; } .child { display: inline-block; border: 1px solid green; padding: 10px; text-align: right; }
<div> <div> <div> Lorem ipsum dolor </div> <div> Sit amet </div> </div> </div>
1
Возможно так:
.parent { margin-top: 50px; border: 1px solid black; padding: 20px; text-align: right; } .child { margin: 0 auto; border: 1px solid green; padding: 10px; display: inline-block; } .text-right { }
<div> <div> <div> text 1 </div> <div> text 2 </div> </div> </div>
2
Как отцентрировать Div с помощью CSS Grid
В этой статье мы рассмотрим четыре способа горизонтального и вертикального центрирования Div с помощью CSS Grid. Конечно, эти методы центрирования можно использовать для любого элемента. Ранее мы рассмотрели, как центрировать элементы по горизонтали и вертикали с помощью Flexbox и позиционирования с помощью преобразований.
Настройка
Давайте сначала создадим контейнер с простым элементом коробки внутри него, который мы будем использовать для демонстрации этих методов центрирования. Вот HTML:
<артикул> <дел>дел> статья>
А вот и наш стартовый CSS:
article { ширина: 100%; мин-высота: 100вх; фон: черный; отображение: сетка; } дел { ширина: 200 пикселей; фон: желтый; высота: 100 пикселей; }
Во всех наших примерах мы будем использовать свойство display: grid
. Это устанавливает элемент
в качестве контейнера сетки и создает сетку на уровне блоков для этого контейнера. (Вот наш демонстрационный шаблон на CodePen, если вы хотите поэкспериментировать с ним.)
Теперь давайте рассмотрим различные способы центрирования нашего блока.
1. Центрировать Div с помощью CSS Grid и place-self
Мой любимый способ центрировать элемент с помощью Grid — использовать свойство place-self
. (Подробнее об этом можно прочитать здесь.)
Центрировать наш div очень просто:
article { отображение: сетка; } дел { место-я: центр; }
См. Pen
Centering Using Grid and place-self от SitePoint (@SitePoint)
на CodePen.
Свойство
является сокращением для свойств align-self
(по вертикали) и justify-self
(по горизонтали) (которые полезны, если вы просто центрируете по одной оси). Вы можете поэкспериментировать с ними в этой демонстрации CodePen.
Использование place-self
настолько просто, что это очевидное решение. Но это не единственный способ центрировать элемент с помощью сетки, поэтому давайте теперь рассмотрим некоторые другие методы.
Преимущество использования place-self
заключается в том, что он применяется к центрируемому элементу, а это означает, что вы также можете использовать его для центрирования других элементов в том же контейнере. (Попробуйте добавить больше элементов div в демо-версию CodePen и посмотрите, что получится.)
2. Центрируйте Div с помощью CSS Grid, justify-content и align-items
Теперь посмотрим, что связано с использованием Grid с justify-content
выровняйте элементы
по центру нашего div. Свойство justify-content
используется для выравнивания элементов контейнера по горизонтали, когда элементы не используют все доступное пространство. Есть много способов установить свойство justify-content
, но здесь мы просто установим его на center
.
Как и свойство justify-content
, свойство align-items
используется для выравнивания содержимого в контейнере, но оно выравнивает содержимое по вертикали, а не по горизонтали.
Вернемся к нашему тестовому HTML и добавим в родительский контейнер следующий код:
article { отображение: сетка; выравнивание содержимого: по центру; выравнивание элементов: по центру; }
См. Pen
Centering Using Grid, align-self и justify-self от SitePoint (@SitePoint)
Очевидным преимуществом этого метода является то, что он требует меньше кода, так как центрирование выполняется контейнером. Но в некотором смысле нацеливание на div через его контейнер также является недостатком, поскольку это также повлияет на любой другой элемент в контейнере.
3. Центрирование Div с CSS Grid и Auto Margins
Как всегда, мы нацелимся на родительский контейнер с дисплей: сетка
. Мы также назначим блоку div автоматическое поле, используя поле : auto
. Это заставляет браузер автоматически вычислять доступное пространство вокруг дочернего элемента div и делить его по вертикали и горизонтали, размещая элемент div посередине:
article { отображение: сетка; } дел { маржа: авто; }
См. Pen
Центрирование элемента с помощью сетки CSS, выравнивание содержимого и выравнивание элементов от SitePoint (@SitePoint)
на CodePen.
(Кроме того, есть много других интересных вещей, которые вы можете делать с полями CSS.)
4. Центрирование элемента Div с помощью CSS Grid и размещение элементов
Свойство place-items
используется для вертикального и горизонтального выравнивания элементов в сетке. Его можно использовать для центрирования нашего блока div, настроив контейнер следующим образом:
article { отображение: сетка; место-предметы: центр; }
См. Pen
Center a Div с сеткой CSS и автоматическими полями от SitePoint (@SitePoint)
на CodePen.
Подобно свойству place-self
, place-items
— это сокращение для двух свойств, в данном случае элементов выравнивания
(по горизонтали) и элементов выравнивания
(по вертикали). Вы можете поэкспериментировать с ними в этой демонстрации CodePen.
В отличие от place-self
, place-items
применяется к контейнеру, что делает его немного менее гибким.
Заключение
Каждый из этих методов позволяет центрировать div по горизонтали и вертикали внутри контейнера. Как я уже сказал, я предпочитаю метод place-self
, главным образом потому, что он применяется к центрируемому элементу, а не к контейнеру. То же самое для поля : метод auto
. Но, конечно, если вы хотите центрировать элемент только в одном направлении, вы также можете использовать либо align-self
, либо justify-self
.
В демонстрационных примерах мы только что использовали пустой div, но, конечно, вы можете добавить содержимое в div, и центрирование по-прежнему будет работать. И, опять же, эти методы центрирования работают с элементами, отличными от div.
Дополнительная литература:
- Flexbox или CSS Grid? Как принимать разумные планировочные решения
- Мастер CSS, 3-е издание
- Введение в CSS Grid Layouts
- Современный макет CSS
Как центрировать div по горизонтали в CSS
html2 месяца назад
от Sharqa Hameed
В HTML элемент div является важным элементом и часто используется при разработке веб-сайтов. Однако самое главное — насколько эффективно разработчик использует элемент div для достижения своей цели; Правильно ли расположен div? Требуется ли выравнивание по центру? Это общие вопросы, которые могут возникнуть у разработчиков, когда они думают об улучшении внешнего вида веб-страницы.
Этот пост расскажет о методе выравнивания div по центру по горизонтали с помощью CSS.
Как центрировать div по горизонтали с помощью CSS?Чтобы центрировать div по горизонтали, мы проверим перечисленные ниже свойства CSS:
- свойство margin
- свойство позиции
- свойство отображения
Давайте продолжим и рассмотрим перечисленные свойства один за другим.
Способ 1. Используйте свойство margin для центрирования div по горизонтали в CSSВ CSS свойство « margin » используется для создания пространства вокруг элементов HTML сверху, снизу, справа или слева. Мы также можем использовать свойство margin для центрирования элементов, таких как div.
Для этого следуйте приведенному примеру.
Пример — как использовать заполнениеВот контейнер нашей HTML-страницы, и мы хотим выровнять его по центру по горизонтали:
В нашем файле CSS мы укажем « border » в качестве значения « 0.2em solid », чтобы увидеть наш элемент div, используйте свойство « width » вместе со значением « 50% », чтобы переопределить ширину нашего div по умолчанию. Наконец, установите свойство « margin » и укажите его значение как « auto », чтобы центрировать div по горизонтали:
Приведенное ниже изображение показывает, что мы успешно выровняли добавленный элемент div по центру по горизонтали:
Метод 2: использование свойства position для центрирования элемента div по горизонтали в CSSЧтобы установить положение различных элементов HTML, можно использовать свойство CSS « position ». Это свойство необходимо объединить со свойством « left », чтобы центрировать div по горизонтали.
Посмотрите на пример для лучшего понимания.
ПримерЧтобы стилизовать наш контейнер, мы будем использовать свойство « position » и установим его значение как « absolute ». Затем укажите свойство « left » со значением « 25% ». Это создаст свободное пространство с левой стороны и выровняет div по центру:
Вывод
Теперь давайте проверим последний метод.
Метод 3. Использование свойства display для центрирования элемента div по горизонтали в CSSСвойство « display » определяет поведение выбранного элемента. Это свойство имеет несколько основных значений, обеспечивающих различные функциональные возможности, например, когда значение « flex » используется со свойством отображения, чтобы сделать коробку или контейнер гибкими. Кроме того, вы также можете использовать свойство отображения вместе с « align-items », чтобы поместить div в центр по горизонтали.
ПримерВ наш HTML-файл мы добавили тег
Используйте свойство « display » с « flex ”, чтобы сделать div гибким. Наконец, мы центрируем div, используя свойство « align-items » и устанавливаем его значение как « center »:
Output
Мы собрали самые простые методы центрирования div по горизонтали в CSS.