html — Сделать блок div по центру родительского блока, а содержимое блока div выровнять по правому краю
Задать вопрос
Вопрос задан
Изменён 6 лет 7 месяцев назад
Просмотрен 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
Как поместить контент блока по центру в CSS Grid?
Программирование на Python для начинающих
Бесплатный курс по Python даст Вам всю необходимую базу для начала программирования на языке Python. В курсе Вас ждёт множество уроков (больше 4-х часов видео), исходников и упражнений.
Чтобы получить Видеокурс,
заполните форму
E-mail: | |
Имя: | |
Другие курсы
Как создать профессиональный Интернет-магазин
После семинара:
— Вы будете знать, как создать Интернет-магазин.
— Вы получите бесплатный подарок с подробным описанием каждого шага.
— Вы сможете уже приступить к созданию Интернет-магазина.
Записаться
Другие курсы
Делай то, что в жизни тебе даётся легко, и делай это изо всех сил.
Неизвестный
CSS Grid — технология верстки макетов, которая позволяет буквально в пару строк кода получить адаптивную сетку. Однако, при центрировании содержимого блоков сетки возникают определенные трудности, так как центрируется не только контент, но и сам блок, что может быть не приемлемо.
В такой ситуации на помощь приходит CSS Flexbox, которая позволяют разместить содержимое по центру родительского блока, сам блок не затрагивая.
Далее пример кода:
<article>
<section>X</section>
<section>O</section>
<section>X</section>
<section>O</section>
<section>X</section>
<section>O</section>
<section>X</section>
<section>O</section>
<section>X</section>
</article>
CSS код:
article {
display: inline-grid;
grid-template-rows: 100px 100px 100px;
grid-template-columns: 100px 100px 100px;
grid-gap: 3px;
}section {
display: flex;
justify-content: center;
align-items: center;
border: 2px solid black;
font-size: 3em;
}
Пример
- Создано 07. 07.2020 12:30:26
- Михаил Русаков
Предыдущая статьяСледующая статья
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
<a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov. ru/images/button.gif» alt=»Как создать свой сайт» /></a>Она выглядит вот так:
- Текстовая ссылка:
<a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):
[URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]
html — центрировать блок контента, если вы не знаете его ширину заранее
спросил
Изменено 6 лет, 4 месяца назад
Просмотрено 4к раз
После множества попыток и поиска я так и не нашел удовлетворительного способа сделать это с помощью CSS2.
Простой способ сделать это — поместить его в удобную <таблицу>
, как показано в примере ниже. Знаете ли вы, как это сделать, избегая макетов таблиц, а также избегая причудливых трюков?
таблица { поле: 0 авто; }
<таблица>тест
тест
Я хочу знать, как это сделать без фиксированной ширины, а также быть блоком.
- HTML
- CSS
1
@Jason, да,
работает. Хорошие времена. Но я предложу следующее:
body { выравнивание текста: по центру; } .my-centered-content { поле: 0 авто; /* Центрирование */ дисплей: встроенный; }
<дел>тест
тест
РЕДАКТИРОВАТЬ @Santi, блочный элемент заполнит родительский контейнер по ширине, поэтому фактически он будет равен width:100%
и текст будет располагаться слева, оставляя вас с бесполезной разметкой и нецентрированным элементом. Возможно, вы захотите попробовать display: inline-block;
. Firefox может жаловаться, но это правильно. Кроме того, попробуйте добавить границу : сплошной красный 1 пиксель;
в CSS DIV .my-centered-content
, чтобы увидеть, что происходит, когда вы пробуете эти вещи.
1
Это будет самый нелепый ответ, но он работает:
Используйте устаревший тег
Я же говорил, что это будет глупо. Но, как я уже сказал, это работает!
*вздрагивает*
Я думаю, что ваш пример будет работать так же хорошо, если вы используете