Выравнивание текста по правому краю в flexbox

У меня есть flexbox, и элементы в нем — это элементы «p».

Я пытаюсь выровнять его правильно, но он все еще не работает, и все по-прежнему выровнено по центру.

.box1{
    display: flex;
    flex-direction: column;
    text-align: right;
    justify-content: space-between;
    font-family: 'Merriweather', sans-serif;
    font-size: 60px;
    width: 30%;
}

Можно ли его правильно выровнять?

нам тоже нужно увидеть ваш HTML

oldboy 29.05.2019 23:17
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
1
2 229
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

align-items: flex-end; выровняет элементы <p> по правой стороне контейнера, но только если ширина контейнера больше ширины дочерних элементов.

div {
  width: 200px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  box-sizing: border-box;
  border: solid red 3px;
}

p {
  width: 100px;
  text-align: right; // you might also want to use this so that your text is aligned to the far right side.
  box-sizing: border-box;
  border: solid lime 3px;
}
<div>
  <p>Testing 1...</p>
  <p>Testing 2...</p>
  <p>Testing 3...</p>
  <p>Testing 4...</p>
</div>

Flex-боксы могут быть немного сложными, поскольку свойство justify-content всегда выравнивает содержимое в том же направлении, что и flex-бокс (т. е. вертикально для столбцов и горизонтально для строк), тогда как align-items всегда выравнивает содержимое в поперечном направлении (т. е. по горизонтали для столбцов и по вертикали для строк). ряды). Например...

display: flex;
flex-direction: column;
justify-content:; /* aligns content vertically */
align-items:; /* aligns content horizontally */

display: flex;
/* flex-direction: row; is the default value */
justify-content:; /* aligns content horizontally */
align-items:; /* aligns content vertically */

Я также пробовал выравнивать элементы. Но конец в ориентации столбца на самом деле является нижней частью столбца...

Tatjana 29.05.2019 23:25

@Tatjana, это объясняет и решает твою проблему?

oldboy 29.05.2019 23:30

Ваше решение сработало только тогда, когда я добавил выравнивание текста по абзацу) Но все равно спасибо

Tatjana 29.05.2019 23:38

@Tatjana, демо в моем ответе показывает, что именно происходит. align-items: flex-end выравнивает элементы по правой стороне, но текст по умолчанию выравнивается по левому краю, поэтому он будет выглядеть так, как будто он не выровнен по правому краю, если ширина текстового материала меньше ширины их контейнера.

oldboy 29.05.2019 23:40

Примените выравнивание текста к абзацам:

.box1 p {
  text-align: right;
}

Другие вопросы по теме