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
Это будет самый нелепый ответ, но он работает:
Используйте устаревший тег
Я же говорил, что это будет глупо. Но, как я уже сказал, это работает!
*вздрагивает*
Я думаю, что ваш пример будет работать так же хорошо, если вы используете

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;
}
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 {
}
07.2020 12:30:26
ru/images/button.gif» alt=»Как создать свой сайт» /></a>
обратите внимание на позицию и использование auto
Центрировать один элемент в фиксированной области легко. Просто добавьте
Если вы хотите, чтобы расстояние между элементами было одинаковым, вы можете сделать следующее:
Кроме того, последний ящик мог попасть на следующую строку в IE.
Блоки, естественно, являются элементами блочного уровня, но CSS изменяет их на 9.0013 inline-block , что позволяет им естественным образом сочетаться с текстом и пробелами. Конечно, поскольку у нас нет текста в родительском контейнере, управление текстом и пустым пространством не будет проблемой.
0013 встроенный блок . Чтобы эти браузеры отображали практически одинаковый результат, вам нужно добавить следующий CSS: