html — Перенос span на другую строку
Есть такой код:
<div> <div> <form asp-action="Login" asp-controller="Account" asp-anti-forgery="true"> <div asp-validation-summary="ModelOnly"></div> <div> <div> <span>E-mail</span> </div> <input type="text" asp-for="Email" /> <span asp-validation-for="Email" /> </div> <div> <div> <span>Пароль</span> </div> <input asp-for="Password" /> <span asp-validation-for="Password" /> </div> <div> <input type="submit" value="Войти" /> </div> </form> </div> <div><img src="~/images/soldier.png" /></div> </div>
Получается сначала все нормально:
Но если вдруг срабатывает validation. js, то получается это:
Хочу перенести предупреждение вниз, но не понимаю, какие свойства использовать. Пробовал следующее:
display:block, flex, inline-block
white-space:normal
Но не помогает
- html
- css
Если я правильно понял, span можно задать как display: block и не оборачивать дивом. Плюс я так понимаю это bootstrap4, использую редко но возможно input-group это флекс контейнер и потому для span нужно прописать:
input-group { flex-wrap: wrap; } span { flex: 0 0 auto; width: 100%; }
Попробовал поместить span после , что так же, как и все остальное не помогло, но если его поместить в еще один div, то все работает.
<div> <div> <span>E-mail</span> </div> <input type="text" asp-for="Email" /> </div> <div> <span asp-validation-for="Email" /> </div>
Поторопился с вопросом, все-таки был близок к ответу, прошу прощения.
<div> <div> <span>E-mail</span> </div> <input type="text" asp-for="Email" /> </div> <div asp-validation-for="Email"></div>
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Настройка переносов и символов перевода строки в Illustrator
Руководство пользователя Отмена
Поиск
- Руководство пользователя Illustrator
- Основы работы с Illustrator
- Введение в Illustrator
- Новые возможности в приложении Illustrator
- Часто задаваемые вопросы
- Системные требования Illustrator
- Illustrator для Apple Silicon
- Рабочая среда
- Основные сведения о рабочей среде
- Ускоренное обучение благодаря панели «Обзор» в Illustrator
- Создание документов
- Панель инструментов
- Комбинации клавиш по умолчанию
- Настройка комбинаций клавиш
- Общие сведения о монтажных областях
- Управление монтажными областями
- Настройка рабочей среды
- Панель свойств
- Установка параметров
- Рабочая среда «Сенсорное управление»
- Поддержка Microsoft Surface Dial в Illustrator
- Отмена изменений и управление историей дизайна
- Повернуть вид
- Линейки, сетки и направляющие
- Специальные возможности в Illustrator
- Безопасный режим
- Просмотр графических объектов
- Работа в Illustrator с использованием Touch Bar
- Файлы и шаблоны
- Инструменты в Illustrator
- Краткий обзор инструментов
- Выбор инструментов
- Выделение
- Частичное выделение
- Групповое выделение
- Волшебная палочка
- Лассо
- Монтажная область
- Выделение
- Инструменты для навигации
- Рука
- Повернуть вид
- Масштаб
- Инструменты рисования
- Градиент
- Сетка
- Создание фигур
- Градиент
- Текстовые инструменты
- Текст
- Текст по контуру
- Текст по вертикали
- Текст
- Инструменты рисования
- Перо
- Добавить опорную точку
- Удалить опорные точки
- Опорная точка
- Кривизна
- Отрезок линии
- Прямоугольник
- Прямоугольник со скругленными углами
- Эллипс
- Многоугольник
- Звезда
- Кисть
- Кисть-клякса
- Карандаш
- Формирователь
- Фрагмент
- Инструменты модификации
- Поворот
- Отражение
- Масштаб
- Ширина
- Свободное трансформирование
- Пипетка
- Смешать
- Ластик
- Ножницы
- Быстрые действия
- Ретротекст
- Светящийся неоновый текст
- Старомодный текст
- Перекрашивание
- Преобразование эскиза в векторный формат
- Введение в Illustrator
- Illustrator на iPad
- Представляем Illustrator на iPad
- Обзор по Illustrator на iPad.
- Ответы на часто задаваемые вопросы по Illustrator на iPad
- Системные требования | Illustrator на iPad
- Что можно и нельзя делать в Illustrator на iPad
- Рабочая среда
- Рабочая среда Illustrator на iPad
- Сенсорные ярлыки и жесты
- Комбинации клавиш для Illustrator на iPad
- Управление настройками приложения
- Документы
- Работа с документами в Illustrator на iPad
- Импорт документов Photoshop и Fresco
- Выбор и упорядочение объектов
- Создание повторяющихся объектов
- Объекты с переходами
- Рисование
- Создание и изменение контуров
- Рисование и редактирование фигур
- Текст
- Работа с текстом и шрифтами
- Создание текстовых надписей по контуру
- Добавление собственных шрифтов
- Работа с изображениями
- Векторизация растровых изображений
- Цвет
- Применение цветов и градиентов
- Представляем Illustrator на iPad
- Облачные документы
- Основы работы
- Работа с облачными документами Illustrator
- Общий доступ к облачным документам Illustrator и совместная работа над ними
- Публикация документов для проверки
- Обновление облачного хранилища для Adobe Illustrator
- Облачные документы в Illustrator | Часто задаваемые вопросы
- Устранение неполадок
- Устранение неполадок с созданием или сохранением облачных документов в Illustrator
- Устранение неполадок с облачными документами в Illustrator
- Основы работы
- Добавление и редактирование содержимого
- Рисование
- Основы рисования
- Редактирование контуров
- Рисование графического объекта с точностью на уровне пикселов
- Рисование с помощью инструментов «Перо», «Кривизна» и «Карандаш»
- Рисование простых линий и фигур
- Трассировка изображения
- Упрощение контура
- Определение сеток перспективы
- Инструменты для работы с символами и наборы символов
- Корректировка сегментов контура
- Создание цветка в пять простых шагов
- Рисование перспективы
- Символы
- Рисование контуров, выровненных по пикселам, при создании проектов для Интернета
- 3D-объекты и материалы
- Подробнее о 3D-эффектах в Illustrator
- Создание трехмерной графики
- Проецирование рисунка на трехмерные объекты
- Создание трехмерного текста
- Создание трехмерных объектов
- Подробнее о 3D-эффектах в Illustrator
- Цвет
- О цвете
- Выбор цветов
- Использование и создание цветовых образцов
- Коррекция цвета
- Панель «Темы Adobe Color»
- Цветовые группы (гармонии)
- Панель «Темы Color»
- Перекрашивание графического объекта
- Раскрашивание
- О раскрашивании
- Раскрашивание с помощью заливок и обводок
- Группы с быстрой заливкой
- Градиенты
- Кисти
- Прозрачность и режимы наложения
- Применение обводок к объектам
- Создание и редактирование узоров
- Сетки
- Узоры
- Выбор и упорядочение объектов
- Выделение объектов
- Слои
- Группировка и разбор объектов
- Перемещение, выравнивание и распределение объектов
- Размещение объектов
- Блокировка, скрытие и удаление объектов
- Копирование и дублирование объектов
- Поворот и отражение объектов
- Переплетение объектов
- Перерисовка объектов
- Кадрирование изображений
- Трансформирование объектов
- Объединение объектов
- Вырезание, разделение и обрезка объектов
- Марионеточная деформация
- Масштабирование, наклон и искажение объектов
- Объекты с переходами
- Перерисовка с помощью оболочек
- Перерисовка объектов с эффектами
- Создание фигур с помощью инструментов «Мастер фигур» и «Создание фигур»
- Работа с динамическими углами
- Улучшенные процессы перерисовки с поддержкой сенсорного ввода
- Редактирование обтравочных масок
- Динамические фигуры
- Создание фигур с помощью инструмента «Создание фигур»
- Глобальное изменение
- Текст
- Дополнение текстовых и рабочих объектов типами объектов
- Создание маркированного и нумерованного списков
- Управление текстовой областью
- Шрифты и оформление
- Определение и использование шрифтов из изображений и обведенного текста
- Форматирование текста
- Импорт и экспорт текста
- Форматирование абзацев
- Специальные символы
- Создание текста по контуру
- Стили символов и абзацев
- Табуляция
- Поиск отсутствующих шрифтов (технологический процесс Typekit)
- Шрифт для арабского языка и иврита
- Шрифты | Часто задаваемые вопросы и советы по устранению проблем
- Создание эффекта 3D-текста
- Творческий подход к оформлению
- Масштабирование и поворот текста
- Интерлиньяж и межбуквенные интервалы
- Расстановка переносов и переходы на новую строку
- Проверка орфографии и языковые словари
- Форматирование азиатских символов
- Компоновщики для азиатской письменности
- Создание текстовых проектов с переходами между объектами
- Создание текстового плаката с помощью трассировки изображения
- Создание специальных эффектов
- Работа с эффектами
- Стили графики
- Атрибуты оформления
- Создание эскизов и мозаики
- Тени, свечения и растушевка
- Обзор эффектов
- Веб-графика
- Лучшие методы создания веб-графики
- Диаграммы
- SVG
- Фрагменты и карты изображений
- Рисование
- Импорт, экспорт и сохранение
- Импорт
- Помещение нескольких файлов в документ
- Управление связанными и встроенными файлами
- Сведения о связях
- Извлечение изображений
- Импорт графического объекта из Photoshop
- Импорт растровых изображений
- Импорт файлов Adobe PDF
- Импорт файлов EPS, DCS и AutoCAD
- Библиотеки Creative Cloud Libraries в Illustrator
- Библиотеки Creative Cloud Libraries в Illustrator
- Диалоговое окно «Сохранить»
- Сохранение иллюстраций
- Экспорт
- Использование графического объекта Illustrator в Photoshop
- Экспорт иллюстрации
- Сбор ресурсов и их массовый экспорт
- Упаковка файлов
- Создание файлов Adobe PDF
- Извлечение CSS | Illustrator CC
- Параметры Adobe PDF
- Палитра «Информация о документе»
- Импорт
- Печать
- Подготовка к печати
- Настройка документов для печати
- Изменение размера и ориентации страницы
- Задание меток обреза для обрезки и выравнивания
- Начало работы с большим холстом
- Печать
- Наложение
- Печать с управлением цветами
- Печать PostScript
- Стили печати
- Метки и выпуск за обрез
- Печать и сохранение прозрачных графических объектов
- Треппинг
- Печать цветоделенных форм
- Печать градиентов, сеток и наложения цветов
- Наложение белого
- Подготовка к печати
- Автоматизация задач
- Объединение данных с помощью панели «Переменные»
- Автоматизация с использованием сценариев
- Автоматизация с использованием операций
- Устранение неполадок
- Проблемы с аварийным завершением работы
- Восстановление файлов после сбоя
- Проблемы с файлами
- Поддерживаемые форматы файлов
- Проблемы с драйвером ГП
- Проблемы устройств Wacom
- Проблемы с файлами DLL
- Проблемы с памятью
- Проблемы с файлом настроек
- Проблемы со шрифтами
- Проблемы с принтером
- Как поделиться отчетом о сбое с Adobe
- Повышение производительности Illustrator
Узнайте, как настроить переносы и символы перевода строки в Illustrator.
Вы можете указать способы разбиения слов, используя параметры автоматической расстановки переносов. Вы можете выбрать метод компоновки для уточнения расстановки символов перевода строки.
Настройка автоматической расстановки переносов
Параметры переноса определяют возможность и способ переноса слов.
Чтобы настроить автоматическую расстановку переносов, выберите Расстановка переносов на панели «Абзац». Кроме того, можно выбрать пункт Расстановка переносов во всплывающем меню панели Абзац > Расстановка переносов.
Чтобы применить автоматическую расстановку переносов либо определенные настройки переноса только к некоторым абзацам, сначала выберите те абзацы, которые требуется изменить.
Выберите Расстановка переносов в меню панели Абзац и укажите следующие параметры:
- Слова длиннее, чем _ букв: указывает минимальное число символов в переносимых словах.
- После первых _ букв и перед последними _ буквами: указывает минимальное число символов в начале и в конце слова, которые могут быть перенесены. Например, если для обоих этих параметров задать значение 3, то слово минимально может быть перенесено как мини- мально, но не как ми- нимально и не как минималь- но.
- Подряд не более: указывает максимальное число соседних строк, в которых может производиться перенос. Если указано значение «0», то допускается использование переносов в конце каждой строки.
- Зона переноса: указывает расстояние от правого края абзаца и ограничивает фрагмент строки, в котором переносы не допускаются. Установка значения «0» допускает расстановку переносов в любом месте строки. Этот параметр применяется только при использовании построчного компоновщика Adobe.
- Переносить слова, набранные заглавными буквами: чтобы предотвратить перенос слов, набранных прописными буквами, отмените выбор этого параметра.
- Слова длиннее, чем _ букв: указывает минимальное число символов в переносимых словах.
Чтобы выбрать словарь для расстановки переносов, выберите язык в меню Язык в нижней части палитры Символ (если вы не можете найти словарь, выберите команду Показать параметры в меню палитры Символ).
Если вы настроили язык в меню Настройки > Расстановка переносов > Язык по умолчанию, то язык на палитре Символ меняется для любого нового текста.
Настройки переноса применяются только к словам, состоящим из символов латиницы. Эти параметры не влияют на двухбайтовые символы, доступные в китайских, японских и корейских шрифтах.
Добавление слов в словарь исключений
Выберите Правка > Настройки > Расстановка переносов (Windows) или Illustrator > Настройки > Расстановка переносов (macOS).
Чтобы добавить слово в список исключений, введите слово в поле Новая запись и нажмите кнопку Добавить.
Предотвращение разрыва слов
Можно предотвратить появление разрыва в словах на конце строк: например, в собственных именах или в словах, значение которых меняется при добавлении дефиса. Также можно обеспечить неразрывное написание нескольких слов или групп слов, например инициалов и фамилии.
Выделите символы, между которыми разрыв недопустим.
Выберите Без разрыва в меню палитры Символ.
Примечание.Если применить команду «Без разрыва/Без переносов» к слишком большому количеству смежных символов, то текст может перейти на другую строку без переноса в середине какого-либо слова. Однако, если применить команду «Без разрыва/Без переносов» к нескольким строкам текста, то текст не отобразится.
Выбор метода компоновки
Внешний вид текста на странице определяется результатом комплексного взаимодействия процессов, совокупно называемых компоновкой. Используя указанные межсловный интервал, межбуквенный интервал, межглифовый интервал и параметры расстановки переносов, приложение Illustrator оценивает возможные способы разбиения текста на строки и выбирает оптимальный вариант в соответствии с указанными параметрами.
Можно выбрать один из двух методов компоновки: Многострочный компоновщик Adobe или Построчный компоновщик Adobe. Оба метода определяют все возможные способы расстановки переносов в абзаце, а затем выбирают тот, который оптимально соответствует указанным параметрам расстановки переносов и выравнивания. Метод компоновки оказывает влияние только на выделенные абзацы, поэтому можно использовать разные методы компоновки для разных абзацев.
Метод компоновки можно выбрать в меню палитры Абзац:
- Чтобы применить любой из методов ко всем абзацам, сначала выберите тип объекта.
- Чтобы применить любой из методов только к текущему абзацу, установите курсор на этом абзаце.
Многострочный компоновщик рассматривает все варианты переносов для диапазона строк. Поэтому он может оптимизировать предыдущие строки в абзаце, позволяя исключить нежелательные разрывы в них.
Многострочный компоновщик основывается при компоновке на определении возможных точек разрыва и присвоении им «штрафных очков» в соответствии со следующими принципами:
Для текста, выровненного по правому или левому краю или по центру, являются предпочтительными и приносят наименьшее количество «штрафных очков» строки, заканчивающиеся ближе к правому краю страницы.
Для выровненного текста наибольшую важность представляет равномерность межбуквенного и межсловного интервалов.
Перенос по возможности избегается.
Построчный компоновщик предлагает традиционный подход к компоновке текста «строка за строкой». Этот вариант полезен, когда необходимо вручную контролировать разбиение текста на строки. Построчный компоновщик при анализе точек разрыва основывается на следующих принципах:
Предпочтение отдается более длинным строкам.
В выровненном тексте предпочтительнее использовать вместо переносов уменьшение или увеличение межсловного интервала.
В невыровненном тексте предпочтительнее использовать переносы вместо увеличения или уменьшения межбуквенного интервала.
Если настройка интервалов необходима, предпочтение отдается сжатию, а не расширению.
Обращайтесь к нам
Если у вас есть вопросы или идеи, которыми вы хотели бы поделиться, присоединяйтесь к беседе в Сообществе Adobe Illustrator. Мы будем рады услышать ваши идеи и увидеть ваши работы.
Вход в учетную запись
Войти
Управление учетной записьюВ чем разница между «word-break: break-all» и «word-wrap: break-word» в CSS?
< html > < головка > < стиль > .wb { word-break: break-all; ширина: 140 пикселей; граница: 1 пиксель сплошной зеленый; } . wr { word-wrap: break-word; ширина: 140 пикселей; граница: 1 пиксель сплошной зеленый; } .main1 { ширина:50%; float:left; } .main2 { ширина:50%; float:left; } стиль > головка > < корпус 9000 7 > < центр > < h2 >GeeksforGeeks h2 > < div стиль = "width:100%;" > < деление 9000 8 компаний, таких как Microsoft, Amazon, Adobe и т. д. с бесплатной подготовкой к онлайн-размещению курс. Курс посвящен различным вопросам MCQ и вопросам кодирования, которые могут быть заданы в собеседования и сделать свое предстоящее размещение сезон эффективным и успешным. деление > div > 9000 8 |
Глубокое погружение в перенос текста и разбиение слов / Coder's Block
Давайте поговорим о различных способах управления переносом (или не переносом) текста на веб-странице. CSS дает нам множество инструментов, чтобы убедиться, что наш текст выглядит так, как мы хотим, но мы также рассмотрим некоторые приемы с использованием HTML и специальных символов.
Обычно текст переходит на следующую строку в «возможностях мягкого переноса», что является причудливым названием мест, в которых текст должен разрываться естественным образом, например, между словами или после дефиса. Но иногда вы можете столкнуться с длинными фрагментами текста, которые не имеют возможности мягкого переноса, например, с очень длинными словами или URL-адресами. Это может вызвать всевозможные проблемы с макетом. Например, текст может выйти за пределы своего контейнера или контейнер может стать слишком широким и вытолкнуть элементы со своего места.
Это хорошее защитное кодирование, позволяющее предвидеть проблемы, связанные с тем, что текст не нарушается. К счастью, CSS дает нам для этого некоторые инструменты.
Помещение overflow-wrap: break-word
на элемент позволит при необходимости разбить текст на середине слова. Сначала он попытается сохранить слово неразрывным, переместив его на следующую строку, но затем разобьет слово, если места все еще недостаточно.
См. раздел Pen overflow-wrap: break-word Уилла Бойда (@lonekorean) на CodePen.
Есть также overflow-wrap: где угодно
, что разбивает слова таким же образом. Разница заключается в том, как это влияет на вычисление размера min-content
элемента, на котором оно находится. Довольно легко увидеть, когда для width
установлено значение min-content
.
.top {
width: min-content;
overflow-wrap: break-word;
}.bottom {
width: min-content;
overflow-wrap: везде;
}
См. Pen overflow-wrap + min-content Уилла Бойда (@lonekorean) на CodePen.
Верхний элемент с overflow-wrap: break-word
вычисляет min-content
, как если бы слова не прерывались, поэтому его ширина становится шириной самого длинного слова. Нижний элемент с overflow-wrap: везде
вычисляет min-content
со всеми разрывами, которые он может создать. Поскольку разрыв может произойти где угодно, min-content
в конечном итоге будет шириной одного символа.
Помните, что это поведение вступает в игру, только когда min-content
задействован. Если бы мы установили для ширины
какое-то жесткое значение, мы бы увидели одинаковый результат разбиения на слова для обоих.
Другой вариант разбиения слов — word-break: break-all
. Этот даже не будет пытаться сохранить слова целыми — он просто сразу их сломает. Взглянем.
См. Pen word-break: break-all by Will Boyd (@lonekorean) на CodePen.
Обратите внимание, что длинное слово не перемещается на следующую строку, как это было бы при использовании переполнение
. Также обратите внимание, как слово «слова» разбито, хотя оно вполне подошло бы на следующей строке.
word-break: break-all
без проблем разбивает слова, но по-прежнему осторожно относится к пунктуации. Например, он не будет начинать строку с точки в конце предложения. Если вы хотите по-настоящему беспощадного разрыва, даже с пунктуацией, используйте перенос строки: где угодно
.
См. Pen word-break: break-all vs line-break:where by Will Boyd (@lonekorean) на CodePen.
Посмотрите, как word-break: break-all
перемещает «k» вниз, чтобы вторая строка не начиналась с «.»? Между тем, перевод строки: везде
все равно.
Давайте посмотрим, как свойства CSS, которые мы рассмотрели до сих пор, обрабатывают чрезмерно длинные интервалы пунктуации.
См. статью Уилла Бойда (@lonekorean) о чрезмерной пунктуации пером на CodePen.
overflow-wrap: break-word
и line-break: в любом месте
могут содержать вещи, но тогда есть word-break: break-all
опять странная пунктуация — на этот раз текст переполняется.
Об этом нужно помнить. Если вы абсолютно не хотите, чтобы текст переполнялся, имейте в виду, что word-break: break-all
не остановит неуправляемую пунктуацию.
Для большего контроля вы можете вручную вставить в текст возможности разрыва слов с помощью
. Вы также можете использовать «пробел нулевой ширины», предоставляемый ​
HTML-объект (да, он должен быть написан с заглавной буквы, как вы его видите!).
Давайте посмотрим на это в действии, разместив длинный URL-адрес, который обычно не переносится, но только между сегментами.
https://subdomain.somewhere.co.uk
https://subdomain< wbr>.somewhere
.co .uk
https://subdomain​. somewhere​.co​.uk
См. Руководство Pen Manual Word Break Opportunities от Уилла Бойда (@lonekorean) на CodePen.
Вы можете указать браузеру разбивать слова и расставлять переносы там, где это необходимо, используя дефисы : auto
. Правила расстановки переносов определяются языком, поэтому вам нужно указать браузеру, какой язык использовать. Это делается путем указания атрибута lang
в HTML, возможно, непосредственно в соответствующем элементе или в
.
Это всего лишь фрагмент произвольного текста, показывающий расстановку переносов в действии.
p {
-webkit-дефисы: авто; /* для Safari */
дефис: auto;
}
См. дефис Pen: auto от Уилла Бойда (@lonekorean) на CodePen.
Вы также можете взять дело в свои руки и вручную вставить «мягкий дефис» с помощью
HTML-объект. Он не будет виден, если браузер не решит завернуть туда, и в этом случае появится дефис. Обратите внимание на то, как в следующей демонстрации мы используем
дважды, но мы видим его только один раз, когда текст переносится.
Магия? Абрака&ши;дабра? Abracadabra!
См. Pen Soft Hyphen от Уилла Бойда (@lonekorean) на CodePen.
дефисы
должны быть установлены на авто
или вручную
для
для правильного отображения. Удобно, что по умолчанию используется дефисов: ручной
, поэтому вам должно быть хорошо без какого-либо дополнительного CSS (если только что-то не объявило дефисов: нет
по какой-то причине).
Давайте поменяемся местами. Бывают случаи, когда вы не хотите, чтобы текст свободно переносился, чтобы лучше контролировать то, как представлен ваш контент. Есть пара инструментов, которые помогут вам в этом.
Первым идет white-space: nowrap
. Поместите его на элемент, чтобы его текст не переносился естественным образом.
См. пробел Pen: nowrap Уилла Бойда (@lonekorean) на CodePen.
Также есть пробел : pre
, который будет переносить текст так, как вы его набрали в своем HTML. Однако будьте осторожны, так как это также сохранит пробелы в вашем HTML, поэтому помните о своем форматировании. Вы также можете использовать
, чтобы получить те же результаты (по умолчанию он имеет пробел
: pre
).
Что хуже, невежество или апатия?
Я не знаю, и мне все равно.
Что хуже, невежество или апатия?
Я не знаю, и мне все равно.
Что хуже, невежество или апатия?
Я не знаю, и мне все равно.
p {
white-space: pre;
}pre {
/*устанавливает семейство шрифтов: моноширинный, но мы можем отменить это */
семейство шрифтов: inherit;
}См. предварительно отформатированный текст Уилла Бойда (@lonekorean) на CodePen.
Для разрывов строк можно использовать
внутри элемента с
пробелами: nowrap
илипробелами: pre
просто отлично. Текст будет перенесен.Но что произойдет, если вы используете
в таком элементе? Вопрос с подвохом… потому что браузеры не согласны. Chrome/Edge распознает
и, возможно, сделает перенос, а Firefox/Safari — нет.
Когда дело доходит до пространства нулевой ширины (
​
), браузеры последовательны. Никто не будет обертывать его пробелом: nowrap
или пробелом: pre
.Дарт Вейдер: Неееееееет
ооооооооо!
Дарт Вейдер: Неееееетееееееееет
ооооо!
Дарт Вейдер: Неееееееееееееет​оооо!
>См. Пробельное пространство пера: nowrap + break lines Уилла Бойда (@lonekorean) на CodePen.
Иногда может потребоваться свободный перенос текста, за исключением особых мест. Хорошие новости! Есть несколько специализированных объектов HTML, которые позволяют вам сделать именно это.
«Неразрывный пробел» (
) часто используется для сохранения пробела между словами, но запрещает разрыв строки между ними.
Я заметил, что дизайнеры не любят сирот.
Я заметил, дизайнеры не любят сирот.
См. Pen Non-Breaking Space от Уилла Бойда (@lonekorean) на CodePen.
Текст может естественным образом переноситься даже без пробелов, например после дефиса. Чтобы предотвратить перенос без добавления пробела, вы можете использовать
&Безразрыва;
(с учетом регистра!), чтобы получить «объединитель слов». В частности, для дефисов вы можете получить «неразрывный дефис» с помощью‑
(у него нет красивого имени сущности HTML).Здесь поверните направо, чтобы попасть на I-85.
Здесь поверните направо, чтобы попасть на I-⁠85.
Здесь поверните направо, чтобы попасть на I‑85.
См. раздел Pen Word Joiners and Non-Breaking Hyphens by Will Boyd (@lonekorean) на CodePen.
Текст CJK (китайский/японский/корейский) в некоторых отношениях ведет себя иначе, чем текст без CJK. Определенные свойства и значения CSS можно использовать для дополнительного контроля над обтеканием текста CJK.
Поведение браузера по умолчанию позволяет разбивать слова в тексте CJK. Это означает, что
word-break: normal
(по умолчанию) иword-break: break-all
дадут одинаковые результаты. Однако вы можете использоватьword-break: keep-all
, чтобы предотвратить перенос текста CJK в слова (текст, отличный от CJK, не изменится).Вот пример на корейском языке. Обратите внимание, как слово «자랑스럽게» ломается или не ломается.
См. Pen CJK Text + word-break by Will Boyd (@lonekorean) на CodePen.
Однако будьте осторожны, в китайском и японском языках пробелы между словами не используются, как в корейском, поэтому
word-break: keep-all
может легко привести к длинному переполнению текста, если не будет обработано иначе.Мы говорили о разрыве строки
: где-то
ранее с текстом, отличным от CJK, и о том, что у него нет проблем с разрывом пунктуации. То же самое верно и для текста CJK.Вот пример на японском языке. Обратите внимание на то, что «。» может или не может начинать строку.
См. Текст Pen CJK + перевод строки Уилла Бойда (@lonekorean) на CodePen.
Существуют и другие значения для
разрыва строки
, влияющие на перенос текста CJK:свободный
,нормальный
истрогий
. Эти значения указывают браузеру, какие правила следует использовать при принятии решения о том, где вставлять разрывы строк. W3C описывает несколько правил, и браузеры также могут добавлять свои собственные правила.CSS-свойство
overflow
не относится к тексту, но часто используется для обеспечения того, чтобы текст не отображался за пределами элемента, ширина или высота которого ограничены..top {
пробел: nowrap;
переполнение: авто;
}.bottom {
пробел: nowrap;
переполнение: скрыто;
}См. переполнение элемента пера Уилла Бойда (@lonekorean) на CodePen.
Как видите, значение
auto
позволяет прокручивать содержимое (auto
показывает полосы прокрутки только при необходимости,scroll
показывает их всегда). Значениеhidden
просто отсекает содержимое и оставляет его на этом.
overflow
на самом деле является сокращением для установкиoverflow-x
иoverflow-y
для горизонтального и вертикального переполнения соответственно. Не стесняйтесь использовать то, что вам больше подходит.Мы можем использовать
overflow: hidden
, добавивtext-overflow: ellipsis
. Текст по-прежнему будет обрезан, но в качестве обозначения мы получим красивое многоточие.p {
пробел: nowrap;
переполнение: скрыто;
переполнение текста: многоточие;
}См. Pen text-overflow: ellipsis by Will Boyd (@lonekorean) на CodePen.
Вы можете принудительно разрывать строку до и/или после встроенного элемента, сохраняя при этом его как встроенный элемент, с небольшой хитростью псевдоэлемента.
Сначала установите для содержимого
псевдоэлемента
::before
или::after
значение'\A'
, что даст вам символ новой строки. Затем установитепробел: предварительно
, чтобы убедиться, что символ новой строки соблюдается.Вещи, которые ударяются ночью.
span {
background-color: #000;
}span::before, span::after {
content: '\A';
пробел: предварительно;
}См. раздел Pen Pseudo-Element Line Breaks от Уилла Бойда (@lonekorean) на CodePen.
Мы могли бы просто поместить
display: block
на, чтобы получить те же разрывы, но тогда он уже не будет встроенным. Цвет фона
позволяет легко увидеть, что с этим методом у нас все еще есть встроенный элемент.
- Существует старое свойство CSS с именем
word-wrap
. Это нестандартно, и теперь браузеры воспринимают его как псевдонимoverflow-wrap
. - Свойство CSS
white-space
имеет некоторые другие значения, которые мы не рассмотрели:pre-wrap
,pre-line
иbreak-spaces
. В отличие от тех, которые мы рассмотрели, они не предотвращают перенос текста. - Спецификация CSS Text Module Level 4 описывает свойство CSS
text-wrap
, которое выглядит интересно, но на момент написания этой статьи ни один браузер не реализовал его.
Так много всего нужно для размещения текста на веб-странице.