Поместите разрыв строки в содержимое: после

Я хотел бы иметь разрыв строки до и после слова or в тексте содержимого. Я пробовал с word-spacing, но это не дало мне точного стиля, который я хотел. Я тоже пробовал поставить \A, а он просто показывает A по тексту. Есть ли способ достичь моей цели?

Ожидал:

Поместите разрыв строки в содержимое: после

Действительный:

#t {
   height: 153px;
  width: 401px;
  border: 1px dashed #5fb6c5;
  background-color: #f8f8f8;
}

#t:after {
   content: attr(data-text);
    font-size: 14px;
    line-height: 19px;
    color: #000;
    opacity: 0.30;
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    top: 50%;
    white-space: pre-wrap;
    vertical-align: middle;
    text-align: center;
}
<div id = "t" data-text = "Drag your image here or Click to add" />
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
0
61
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

I also tried to put \A, and it just shows A on the text.

\A будет работать как escape-последовательность для разрыва строки в CSS, но здесь ваш контекст не является CSS, у вас здесь есть настраиваемый атрибут данных, в котором вы удерживаете этот фрагмент текста, поэтому основным контекстом является HTML.

data-text = "Drag your image here&#10;or&#10;Click to add"

&#10; - это числовой HTML-объект для разрыва строки, и я думаю, что его использование здесь имеет наибольший смысл.

Большое спасибо! Оно работало завораживающе. Я сделаю ваш ответ принятым через 6 минут.

Eniss 12.11.2018 14:31

Вы можете добиться этого так

создать текст как разные атрибуты и разделить их с помощью "\ A" в псевдо after

#t {
   height: 153px;
  width: 401px;
  border: 1px dashed #5fb6c5;
  background-color: #f8f8f8;
}

#t:after {
   content: attr(data-text1) "\A" attr(data-text2) "\A" attr(data-text3);
    font-size: 14px;
    line-height: 19px;
    color: #000;
    opacity: 0.30;
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    top: 50%;
    white-space: pre-wrap;
    vertical-align: middle;
    text-align: center;
}
<div id = "t" data-text1 = "Drag your image here" data-text2= "or" data-text3 = "Click to add" />

Хехехе :) Это довольно сложно. Я ценю ваш другой подход.

Eniss 12.11.2018 14:39

Вы также можете использовать для этого «хитрость». Используя два псевдоэлемента и разместите их с помощью flex.

Это не лучшее решение, и оно включает в себя некоторые изменения в html, но в данном конкретном случае оно помогает.

#t {
  height: 153px;
  width: 401px;
  border: 1px dashed #5fb6c5;
  background-color: #f8f8f8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 14px;
  line-height: 19px;
  color: #000;
}

#t:after,
#t:before {
  position: relative;
  width: 100%;
  display: block;
  text-align: center;
}

#t:after {
  content: attr(data-text2);
}

#t:before {
  content: attr(data-text1);
}
<div id = "t" data-text1 = "Drag your image here " data-text2 = "Click to add">
  <span>or</span>
</div>

Мы также можем использовать тег HTML, как показано ниже:

<pre>
    <div id = "t" data-text = "Drag your image here
    or
    Click to add" />
    </pre>

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