Перейти к содержимому

Как сделать текст в прямоугольнике css

  • автор:

Свойства текста в CSS

Наряду с несколькими свойствами font- *, CSS предлагает множество свойств text-*.

text-align

Свойство text-align должно применяться к блочному элементу и определяет, каким образом текст и дочерние строчные элементы выравниваются по горизонтали.

body

Наиболее используемые значения:

Эти значения соответствуют тем же кнопкам выравнивания, что вы найдёте в Microsoft Word или Photoshop:

Не рекомендуется использовать значение justify . Хотя это может выглядеть визуально привлекательно, поскольку формируется прямоугольник текста, но усложняет чтение.

Значение text-align по умолчанию равно start . В принципе, start может быть как left , так и right , в зависимости от направления текста, заданного direction для HTML-документа.

direction — это свойство CSS, которое может быть ltr (слева направо) или rtl (справа налево):

  • если выбран ltr , start равен left ;
  • если выбран rtl , start равен right .

text-decoration

Свойство text-decoration применяется для добавления линии к вашему тексту.

Значение по умолчанию: none .

.deleted
  • overline
  • underline
  • line-through

text-indent

Свойство text-indent позволяет добавить пространство перед первой буквой первой строки блочного элемента.

Значение по умолчанию: 0 (ноль).

blockquote

Обратите внимание, что отступ есть только в первой строке. Если вы хотите сдвинуть весь блок текста, используйте padding .

Как и для свойства font-size , вы можете использовать px, em или даже %.

text-shadow

Если вы когда-либо использовали Photoshop, то, вероятно, применяли инструмент для добавления тени. В CSS вы можете добавить тень к тексту, чтобы сделать его более причудливым или удобным для чтения.

  • х — горизонтальное смещение;
  • у — вертикальное смещение;
  • размытие;
  • цвет.

Обязательны только значения х и у. Размытие тени по умолчанию 0 (ноль), а цвет по умолчанию совпадает с цветом текста.

Это свойство сложное, так что используйте его осторожно и не сходите с ума!

Как добавить вокруг текста рамку определенного цвета?

Для создания рамки вокруг текста используйте стилевое свойство border , добавляя его к соответствующему селектору. Например, если для текста применяется тег

, то для него надо установить следующий стиль.

Применение свойства border к текстовому абзацу продемонстрировано в примере 1.

Пример 1. Рамка вокруг абзаца

HTML5 CSS 2.1 IE Cr Op Sa Fx

    Рамка вокруг текста p 

Нет страшнее зверя в сибирских лесах, чем разъяренный заяц-мутант. Вы видели, какие у него зубы? О, даже медведь боится этих зубов! А, как известно, медведи больше ничего не боятся.

Результат данного примера показан на рис. 1.

Вид рамки вокруг абзаца

Рис. 1. Вид рамки вокруг абзаца

Следует учитывать, что в тексте может быть несколько абзацев и вокруг каждого тогда возникнет рамка. В подобных случаях лучше воспользоваться тегом , для которого и требуется установить стиль. А текст добавить уже внутрь этого контейнера (пример 2).

Пример 2. Рамка вокруг слоя

HTML5 CSS 2.1 IE Cr Op Sa Fx

    Рамка вокруг текста .outline 
Перед тем как убить героя, антагонист обязательно рассказывает ему про все свои злодеяния, чтобы создать необходимую паузу. Разумеется, любой протагонист весьма умело использует данное время против самого злодея.

Из этого правила есть только одно исключение. Герой может не суетиться, тянуть время, и вообще ничего не делать, потому что на помощь придут его друзья.

Как вписать текст в прямоугольник правильно SVG?

Нужна подсказка, почему смещение текста в блоках происходит не так как ожидалось? А именно координаты на втором нужно увеличивать? Ну и у знающих людей правильно ли я делаю, или есть еще какие-то более продуманные решения для реализации такого вида картинки? P.S. Длинна текста может меняться, в различных блоках. Как бы можно было бы так сделать, чтобы автоматически вычислялось позиционирование?

    SET, FEBR 24  1352 Joined   60 Left   

Отслеживать

14.5k 6 6 золотых знаков 33 33 серебряных знака 71 71 бронзовый знак

Текст внутри круга с помощью CSS

Вписать текст в окружность можно с помощью CSS-свойства shape-outside и некоторых хитростей.

Для реализации стоит принять во внимание множество разных вещей: количество символов, количество слов, варианты шрифтов, размер шрифта, форматирование шрифта, требования к отзывчивости, макет дизайна и т.д. Один размер на все случаи здесь не подойдет, но рассмотрим всё по порядку.

Определим цель: надо отобразить цитату и имя автора внутри круга. Макет должен быть максимально гибким, сохранять HTML разметку безупречно чистой и кроме неё использовать только CSS.

Примечание: будущий уровень CSS Shapes определит свойство shape-inside , которое будет регулировать форму для обтекания содержимого внутри элемента.

Сперва HTML-разметка

Для примера понадобится элемент-оболочка, используем семантический в качестве внутреннего элемента. Внешней оболочкой может быть обыкновенный div :

 

Experience design is the design of anything, independent of medium, or across media, with human experience as an explicit outcome, and human engagement as an explicit goal.

– Jesse James Garrett

Разместим цитату в параграф

, а имя автора (подпись) – в . Ещё понадобится несколько названий CSS-классов для использования в таблице стилей.

Теперь немного базового CSS

Начинаем с оболочки div . Установим адаптивный квадрат c минимальным размером 300 пикселей, чтобы он поместился на небольших экранах и добавим относительное позиционирование (оно понадобится позже).

.quote-wrapper

Далее заставляем контейнер с цитатой заполнить всё отведенное пространство и имитировать форму круга с радиальным градиентом в качестве фона. Неожиданно, но в примере с текстом внутри окружности не используется border-radius .

.text

Следует отметить, что целые 70% отображают несколько грубые края. В ходе эксперимента выяснилось, что 70,3% края выглядят гораздо плавнее.

Край окружности справа более гладкий, чем слева.

Теперь, когда получился базовый круг, пора добавить эти css-свойства для css-класса .text .

.text

На сей момент всё будет выглядеть так:

получился базовый круг

Обработка текста CSS

Сперва стилизуем параграф:

.text p

Используем псевдоэлемент ::before для создания формы. Здесь вступает в игру свойство shape-outside . Применим координаты для polygon() и сдвинем его влево, чтобы текст обернулся внутри фигуры.

.text::before

Изменим ненадолго цвет радиального фона на красный. Точки многоугольника и соединительные линии останутся синего цвета. Это временно, для удобной отладки.

background: radial-gradient( ellipse at center, rgba(210, 20, 20, 1) 0%, rgba(210, 20, 20, 1) 70%, rgba(210, 20, 20, 0) 70.3% );

Вот что получается на сей момент:

Эти точки вдоль формы берутся из инструмента редактирования Firefox

То же самое нужно сделать для псевдоэлемента ::before параграфа p . Используем shape-outside , отражаем зеркально многоугольник и сдвигаем его вправо.

.text p::before

белый текст на белом фоне за пределами цветной окружности

Выглядит неплохо, но подпись оказалась за пределами – белый текст на белом фоне за пределами цветной окружности.

Стилизация footer

Теперь настало время стилизовать и указать ему абсолютное позиционирование, чтобы вернуть его внутрь круга.

.quote-wrapper blockquote footer

Цвет фона выбирайте любой, какой нравится.

Теперь подошли к неудобной части. Текст должен быть оформлен таким образом, чтобы все слова и символы оставались внутри фигуры (окружности). Лучше оперировать этими CSS-свойствами:

  • font-size
  • shape-margin
  • line-height
  • letter-spacing
  • font-weight
  • font-style
  • min-width и min-height (для управления контейнером .quote-wrapper )

Декорирование этой конструкции кавычками

На демке видно гигантские кавычки. Это то, о чем пойдёт речь далее. Чтобы все выглядело правильно, потребуется не очень много усилий. Следует обратить внимание на то, что высота строки сильно влияет на вертикальное положение значка.

Тут можно воспользоваться наличием псевдоэлемента ::before у контейнера .quote-wrapper .

.quote-wrapper::before

Стили для адаптивности

На больших экранах цитату можно немного увеличить. Определим для перехода рубеж 850 пикселей, но можете использовать любое значение, которое будет уместно.

@media (min-width: 850px) < .quote-wrapper < height: 370px; width: 370px; >.quote-wrapper::before < font-size: 300px; >.text p < font-size: 26px; >.quote-wrapper blockquote footer < bottom: 32px; >>

Для масштабирования всей конструкции текста, вписанного в окружность, используется совсем немного CSS-свойств. Многоугольники, которые определяют окружность, не требуют изменений css при масштабировании.

Вот результат

Текст и HTML размещены внутри окружности с использованием комбинаций старых и новых CSS-свойств, чтобы сделать цитату яркой и привлекающей внимание. Всё это сделано без каких-либо дополнительных зависимостей и сохраняет HTML разметку чистой и семантической.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *