Тег | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
3.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Спецификация
HTML: | 3.2 | 4.01 | 5.0 | XHTML: | 1.0 | 1.1 |
Описание
Тег <nobr> уведомляет браузер отображать текст без переносов. Если этого тега в коде документа нет, а также имеются переводы строки, они игнорируются и текст выравнивается по левому краю окна браузера или родительского элемента. При этом браузер переводы строк расставляет автоматически, чтобы текст полностью поместился по ширине окна. Использование тега <nobr> заставляет отображать текст без переносов, одной строкой, что может привести к появлению горизонтальной полосы прокрутки. Пользователям придется прокручивать текст по горизонтали, чтобы увидеть его полностью, чего обычно делать никто не любит.
Синтаксис
<nobr>Текст</nobr>
Закрывающий тег
Обязателен.
Атрибуты
Нет.
Аналог CSS
white-space
Валидация
Этот тег не входит в спецификацию HTML и его наличие приведет к невалидному коду.
Пример
HTML 4.01IECrOpSaFx
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Тег NOBR</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h2><nobr>Lorem ipsum dolor sit amet,
consectetuer adipiscing elit</nobr></h2>
<p><nobr>Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diem nonummy nibh euismod tincidunt ut lacreet dolore
magna aliguam erat volutpat.</nobr> Ut wisis enim ad minim veniam,
quis nostrud exerci tution ullamcorper suscipit lobortis nisl
ut aliquip ex ea commodo consequat. </p>
</body>
</html>
Результат данного примера показан ниже.
Рис. 1. Текст без переносов
html — Запрет переноса слов через дефис
html — Запрет переноса слов через дефис — Stack Overflow на русскомStack Overflow на русском — это сайт вопросов и ответов для программистов. Присоединяйтесь! Регистрация займёт не больше минуты.
Присоединиться к сообществуЛюбой может задать вопрос
Любой может ответить
Лучшие ответы получают голоса и поднимаются наверх
Вопрос задан
Просмотрен 6k раз
Закрыт 3 года назад.
Как запретить перенос слов через дефис?
Допустим
some text wi-fi
если блок узкий, как запретить перенос fi на другую строку?
Qwertiy♦задан 6 июл ’17 в 9:09
wordword2,71633 золотых знака1515 серебряных знаков4949 бронзовых знаков
1Использовать вместо обычного дефиса неразрывный ‑
— при нормальной кодировке (utf8) его можно просто писать как символ в тексте
:
p {
font-family: monospace;
width: 15ch;
border: 1px dotted red;
float: left;
margin: 8px;
}
<p>wi-fi wi-fi wi-fi wi-fi wi-fi wi-fi wi-fi wi-fi wi-fi wi-fi
<p>wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi
<p>wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi wi‑fi
ответ дан 6 июл ’17 в 9:21
107k2424 золотых знака9595 серебряных знаков257257 бронзовых знаков
Всё ещё ищете ответ? Посмотрите другие вопросы с метками html css или задайте свой вопрос.
default
Stack Overflow на русском лучше работает с включенным JavaScriptНажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей [Политикой в отношении файлов cookie] (https://stackoverflow.com/legal/cookie-policy).
Принять все файлы cookie Настроить параметры
Html запрет переноса строки
Как сделать или запретить перенос строки: HTML код и тег
HTML-оформление постов и страниц очень важное дело — оно помогает оформлять контент таким способом, чтобы пользователю было удобно его читать.
Я расскажу вам о теге br — он делает перенос строки в HTML, то есть разбивает строку на две части — причем делает это принудительно, заканчивая текущую строку в том месте, где был вставлен и перенося ее вторую часть на новый ряд.
Где используется этот тег, когда конкретно возникает неотложна необходимость вставить в текст перевод строки без создания нового абзаца? Например, это может пригодиться в оформлении контента — если у вас есть сайт со стихами и отрывками стихов, текстами песен или чем-то подобным.
Все о теге для переноса строки br
Тег br осуществляет одинарный перенос строки в HTML (что это такое описано тут) и определяется всеми браузерами. Да, чуть не забыл — если вы используете тег br, то в отличие от тега абзаца p, у вас не добавляется пустой отступ (перед строкой).
Тег br является пустым (пустой значит без содержимого, ничего не содержит), а значит его не нужно закрывать. А так как его не нужно закрывать, было придумано краткое описание — оно изначально подразумевает то, что сам тег не имеет закрывающего тега.
Представьте на минуту, что не было бы краткого описания. Что тогда? Тогда пришлось бы каждый раз «закрывать и открывать» перенос строки примерно так:
. Это как минимум неудобно. Но, тем не менее, в строгом XHTML закрывать его обязательно тегом
.
Если стоит задача увеличить расстояние по вертикали — между теми строками, где вы вставляете перенос — сделайте двойной перенос, вставив тег
дважды подряд.
Чтобы осуществить перенос следующего предложения на новую строку, используем тег br.
Ура, второе предложение на новой строке.
Чтобы осуществить перенос следующего предложения на новую строку, используем тег br.
Ура, второе предложение на новой строке.
Ночь, улица, фонарь, аптека,
Бессмысленный и тусклый свет.
Живи еще хоть четверть века —
Все будет так. Исхода нет.
Умрешь — начнешь опять сначала
И повторится все, как встарь:
Ночь, ледяная рябь канала,
Аптека, улица, фонарь.
Ночь, улица, фонарь, аптека,
Бессмысленный и тусклый свет.
Живи еще хоть четверть века —
Все будет так. Исхода нет.
Умрешь — начнешь опять сначала
И повторится все, как встарь:
Ночь, ледяная рябь канала,
Аптека, улица, фонарь.
Зачем придумали тег br?
Необходимость этого тега существует хотя бы потому что перенести строку «как в Ворде» (как делают неопытные пользователи), путем написания десятков пробелов подряд, — не выйдет.
Почему не выйдет? Потому что любое количество пробелов будет считаться браузером как один пробел, а не перенос строки — браузер автоматически удаляет лишние пробелы. Для этого и нужен перенос строк.
Читайте также: Как сделать пробел в HTML: https://blogwork.ru/probel-v-html/.
Но не стоит злоупотреблять тегом
, чтобы все больше и больше увеличивать расстояние между строками — для этого лучше всего воспользоваться базовыми инструментами HTML+CSS. Недопустимо создание новых абзацев или «как бы абзацев» (это считается плохим подходом) — только перенос строки!
Чтобы создавать и размечать абзацы вам следует пользоваться тегом p, а чтобы увеличить имеющееся расстояние между абзацами — измените каскадные таблицы стилей, например добавьте:
Бонус — br clear
А как сделать так чтобы текст, в котором вы поставили перенос строки, не обтекал плавающий элемент (это либо изображение с установленным align, либо элемент со свойством float), а начинался ниже элемента? Для этого можно использовать атрибут clear.
Допустим, у нас есть изображение выровненное по левому краю (align=»left»). Если мы установим
или
, то текст после тега
(следующая строка, которую мы и переносим) будет отображаться как надо, ниже рисунка. Другие значения атрибута clear тега
сделают так, чтобы текст обтекал рисунок, расположившись справа от него.
Использование этого специфичного атрибута не приветствуется спецификацией HTML — такой код будет невалидным.
Кстати, рекомендуем прочесть: Как вставить изображение в HTML.
БОНУС — тег-разделитель hr
Тег тоже одиночный, но, в отличие от
, он используется для создания горизонтального разделителя в виде линии. Более того, внешний вид этой линии мы можем задавать при помощи атрибутов. Но, конечно же, лучше это делать проверенными методами через CSS (что это такое, читайте здесь).
БОНУС — запрет переноса на новую строку с тегом nobr
Бывает и так, что мы хотим запретит перенос строки и избежать перевода на новую строку текста: либо между двумя конкретными словами, либо в целом абзаце. Что делать? Использовать тег . Как выглядит на практике? Вот так:
Что делает тег ? Он говорит браузеру — отображай текст внутри тега без переносов, одной строкой. И, если текст длинный, тогда у нас появится некрасивая и длинная горизонтальная полоса прокрутки, а пользователи должны будут прокрутить текст по горизонтали, чтобы прочитать его полностью.
Как мы понимаем, это очень неудобно. Но тег есть!
Итоги — использование br, nobr, hr, p в HTML
Подводя итог, резюмирую содержание статьи:
— для того чтобы разделять абзацы
— для того чтобы перенести строку внутри абзаца (недопустимо «создание абзацев» при помощи этого тега или злоупотребление им)
Как запретить перенос текста? | WebReference
HTML самостоятельно переносит текст на другую строку, если текст целиком не помещается в одну строку. В некоторых случаях, наоборот, требуется запретить перенос слов, к примеру, в пунктах меню или в коде программы, чтобы не «ломать» вёрстку. Для этого используется стилевое свойство white-space со значением nowrap, оно добавляется к нужному элементу с текстом.
В примере 1 white-space применяется к ссылкам, чтобы текст ссылки не «разбивался» и не переносился на другую строку.
Пример 1. Использование white-space
Результат данного примера показан на рис. 1.
Рис. 1. Меню с запретом переноса текста
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 14.11.2018
Редакторы: Влад Мержевич
white-space | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | ||||
6.0+ | 8.0+ | 1.0+ | 4.0+ | 9.5+ | 1.0+ | 3.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
CSS 1 | CSS 2 | CSS 2. 1 | CSS 3 |
---|---|---|---|
Описание
Свойство white-space устанавливает, как отображать
пробелы между словами. В обычных условиях любое количество пробелов в коде HTML
показывается на веб-странице как один. Исключением является тег
Результат данного примера показан на рис. 1.
Рис. 1. Применение свойства white-space
Объектная модель
Браузеры
Браузер Internet Explorer до версии 7.0 включительно не поддерживает значения pre-line, pre-wrap и inherit. Для
значения normal и pre ведут себя как pre-wrap, а значение nowrap ведет себя как pre-line.
Opera до версии 9.5 не поддерживает значение pre-line. Для
значения normal и pre ведут себя как pre-wrap, а значение nowrap ведет себя как pre-line.
Safari до версии 3.0 и iOS не поддерживают значения pre-wrap и pre-line.
Firefox до версии 2.0 включительно не поддерживает значения pre-line и pre-wrap. Для
значения normal, nowrap, и pre воспринимаются как pre-wrap.
html — Запретить переносы строк
Stack Overflow на русском
Начните с этой страницы, чтобы быстро ознакомиться с сайтом
Подробные ответы на любые возможные вопросы
Обсудить принципы работы и политику сайта
Узнать больше о компании Stack Overflow
Узнать больше о поиске разработчиков или рекламе на сайте
текущее сообщество
Как запретить перенос слов CSS?
Приветствую вас, дорогие друзья!
Сегодня я предлагаю вам разобраться, как можно запретить перенос слов CSS-свойствами.
Дело в том, что по умолчанию в HTML для текста в блоках переносы для слов не заданы, и при уменьшении размеров блока, слова переносятся на новую строку. Но в случае создания сайта на базе CMS, например, WordPress, вы можете столкнуться с тем, что, при адаптации сайта для мобильных устройств, слова будут переноситься посимвольно.
Делается это, в первую очередь для экономии места, и наилучшего заполнения текстом блока. Но далеко не всегда это удобно и красиво.
Давайте рассмотрим свойство, которое позволит вам запретить перенос слов CSS при возникновении такой необходимости.
В случае если у вас при изменении размера блока происходит перестроения текста с переносом отдельных символов на следующую строку, то, скорее всего, в активной теме вашего сайта для всех div применяется CSS-свойство word-break со значением break-all:
Перенос слов по символьно на новую строку
Данное свойство задает автоматическую расстановку переносов для наилучшего заполнения блока.
Если вам нужно его отключить, то в CSS-файле активной темы, для блока, в котором расположен текст, вам нужно задать это же свойство, но со значением normal:
Запрет переноса слов CSS-свойствами
Данное значение запрещает перенос слов CSS, и теперь будет происходить только перенос слов целиком на новую строку. Возможен посимвольный перенос только в том случае, когда размер блока настолько мал, что слово по своей длине не помещается в него. В этом случае, для избегания перескакивания символов вы можете уменьшить размер шрифта для текста.
Вероятно, что у стилей, заданных по умолчанию для темы вашего сайта будет больший приоритет, чем для стилей, которые добавляете вы. Из-за чего они не будут срабатывать. В этом случае вам будет полезно ознакомиться с рекомендациями в этой статье: «Почему не работают CSS-стили?»
Для правильного определения селектора блока, для которого вы собираетесь добавить стили, вы можете воспользоваться рекомендациями из этой статьи: «Как определить ID и класс элемента на странице?»
Для более безопасного и удобного добавления стилей для вашего сайта, рекомендую использовать программу NotePad++. Инструкцию по ее настройке и использованию вы сможете найти по этой ссылке: «Редактирование файлов сайта в Notepad++»
Сегодня у меня все. Надеюсь, показанный в данной статье прием работы поможет вам при создании вашего сайта и адаптации его под мобильные устройства, и у вас не возникнет проблем при необходимости запретить перенос слов CSS.
Если вам понравилась данная статья, обязательно, оставьте свой комментарий и поделитесь ею в социальных сетях.
До встречи в следующих статьях!
С уважением Юлия Гусарь
Как сделать перенос строки в тексте в HTML?
Сегодня мы с вами немного коснемся темы оформления текстов на вашем сайте. Создавая сайт и ведя уже существующий, нужно грамотно подходить к каждой его мелочи. Я – активный пользователь Интернета, очень часто ищу различную информацию абсолютно по разным темам. Зачастую встречаю сайты, на которых информация представлена примерно в таком виде:
Не говоря уже о том, что здесь нет никаких выделений (главного в тексте), так и отсутствуют какие-либо параграфы, или попросту – переносы строк. Текст может быть и корректным с точки зрения орфографии и его темы, но визуально – он некомфортен для восприятия. Согласитесь, такой вид куда более читабельный и не «отпугивает» наших пользователей:
Неважно, коммерческий ваш сайт или это обычный блог – всем этим нюансам должно быть уделено отдельное внимание. Именно поэтому сегодня я покажу вам целых три варианта переноса строк в вашем тексте.
Для наглядности за основу мы возьмем популярный в кругах дизайнеров и верстальщиков текст «Lorem Ipsum», а если быть точнее – то несколько его параграфов:
и рассмотрим популярные способы переноса строк в HTML.
Первый вариант переноса строк в HTML
Первый и, наверное, самый популярный и в то же время специально созданный тег для переноса строк – это:
Вы могли видеть этот тег и без слэша (косой черты) на конце, разницы в этом особо нет, просто приведенный выше вариант является более валидным (правильным).
Использовать его вы можете сколько угодно раз. Одно использование – один перенос строки, соответственно, два этих тега, поставленные подряд, дают двойной перенос.
Второй вариант переноса строк в HTML
В HTML существует такое понятие, как параграфы. Для них отведен специальный тег типа:
Весь текст, заключенный в него, переносится на новую строку. По умолчанию (если нет глобальных стилей) он имеет свой отступ. Использование следующее:
Здесь стоит отметить то, что использование пустого тега типа:
не даст вам дополнительной пустой строки, как это можно сделать в первом варианте. Для того чтобы отредактировать желаемый отступ между параграфами, воспользуйтесь глобальными стилями:
Или же присвойте параграфу свой идентификатор, за счет которого примените свой персональный стиль:
Этот вариант оформления текстов я люблю больше всего, так как можно настроить желаемое расстояние между параграфами. Тег из первого же варианта я использую редко.
Третий вариант переноса строк в HTML
Этот вариант похож на вид параграфов, только вместо тега «p» используется тег «div»:
Принцип работы тот же самый – каждый блок текста, обернутого в эту конструкцию, начинается с новой строки. Пустой тег не дает дополнительной новой строки. Что касается отступов, в отличие от параграфов, то здесь они отсутствуют. Но вы можете настроить их и сами, через глобальные стили:
или же через отдельный идентификатор блока:
Все описанное выше, на мой взгляд, – это самые популярные способы переноса строк в вашем тексте. Все расписано максимально подробно, так что вопросов возникнуть не должно.
Перенос слов CSS (свойства overflow-wrap, word-wrap, word-break, hyphens) — Примеры
Указанные ниже свойства CSS определяют как переносить длинные слова:
- только там, где стоит чёрточка, пробел или Enter (искл., неразрывный пробел и неразрывный дефис ‑ ). Между частями одного слова пишется дефис (например, красно‐жёлтый), между словами — тире. «Мягкий дефис» проявляется только при необходимости переноса. Если слово выходит за рамки родителя, то или переносит его часть без чёрточки. В математических выражениях используется минус (например, 5 − 2). В номерах телефонов отображается цифровая чёрта (например, +7 800 000‒00‒00). И всё это не является той знакомой -, что есть на клавиатуре.
- после любого символа.
- согласно правилам русского языка с автоматическим применением дефиса.
В чём состоит различие одно свойства от другого
По умолчанию длинные слова не переносятся, если на то нет явных указаний с помощью дефиса, и начинаются с новой строки.
Для того, чтобы игнорировались черточки, сразу видимые глазу, вносим word-break: keep-all; .
Для того, чтобы браузер не обращал внимания и на мягкий дефис, вставляем hyphens: none; .
Если требуется перенос слов, то word-wrap: break-word; советую применять всегда, поскольку он понимается всеми браузерами. Он отличается от word-break: break-all; , которое является приоритетным, тем, что слова, которые не помещаются в блок, начинаются с новой строки и учитывается рекомендация мягкого дефиса.
При совместном использовании word-break: break-all; с hyphens: auto; , последнее игнорируется. hyphens: auto; расставляет любые дефисы по своему усмотрению. Но для того, чтобы оно работало, нужно обозначить свой язык, указав в div атрибут lang=»ru» .
Не переносить слова на другую строку
Скажем, пункт меню или кнопка будут нехорошо выглядеть, если разъедутся на части. Поэтому надо запретить их разделение. Для чего все вышеуказанные свойства следует поставить в режим «по умолчанию» и добавить white-space: pre; или white-space: nowrap;. Нажмите на white-space: nowrap; и посмотрите на наш полигон.
У меня в CSS есть стиль, которым я покрываю нужное мне словосочетание (2 слова обычно). Хочу, чтобы эти два слова не разделялись переносом строки.
Допустим после слова «два» у меня должен идти перенос строки (потому что она заканчивается), но я хочу чтобы в таком случае перенос состоялся ДО слова «два», то есть перенеслось сразу словосочетание «два слова».
Глобально по документу прописан word-wrap: break-word;
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | ||||
6. 0+ | 8.0+ | 1.0+ | 4.0+ | 9.5+ | 1.0+ | 3.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ |
Краткая информация
Значение по умолчанию | normal |
---|---|
Наследуется | Да |
Применяется | К блочным элементам |
Ссылка на спецификацию | http://www.w3.org/TR/CSS21/text.html#propdef-white-space |
Версии CSS
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|
Описание
Свойство white-space устанавливает, как отображать пробелы между словами. В обычных условиях любое количество пробелов в коде HTML показывается на веб-странице как один. Исключением является тег
Результат данного примера показан на рис. 1.
Рис. 1. Применение свойства white-space
Объектная модель
[window.]document.getElementBy >elementID «).style.whiteSpace
Браузеры
Браузер Internet Explorer до версии 7. 0 включительно не поддерживает значения pre-line , pre-wrap и inherit . Для
значения normal и pre ведут себя как pre-wrap , а значение nowrap ведет себя как pre-line .
Opera до версии 9.5 не поддерживает значение pre-line . Для
значения normal и pre ведут себя как pre-wrap , а значение nowrap ведет себя как pre-line .
Safari до версии 3.0 и iOS не поддерживают значения pre-wrap и pre-line .
Firefox до версии 2.0 включительно не поддерживает значения pre-line и pre-wrap . Для
значения normal , nowrap , и pre воспринимаются как pre-wrap .
Запретить перенос текста на следующую строку
Я новичок в Twitter Bootstrap. Это очень простой вопрос.
Вот это изображение:
А вот мой код :
<div>
<p><a href="#">PEOPLE-THINGS RECOMENDATION</a></p>
</div>
Проблема : я хочу поместить текст Recomendation
в одну строку, а затем перейти в следующую.
Инфос : я перепробовал каждую сетку, но все еще не мог разобраться в ней.
html css twitter-bootstrap twitter-bootstrap-3Поделиться Источник Black User 04 ноября 2015 в 17:26
2 ответа
11
Вы должны сделать меньше font-size
на .people-things
или добавить этот CSS:
.people-things { white-space: nowrap; }
Что делает .people-things
показанным на одной строке.
Поделиться Viktor Maksimov 04 ноября 2015 в 17:29
0
Вышеприведенное решение работает, но классы bootstrap grid должны идеально использоваться сами по себе, и вам не нужны никакие пользовательские стили поверх него.
Попробуйте перестроить структуру сетки таким образом, чтобы применить <col-sm-6>
перед <col-xs-6>
. Это позволит увеличить пространство в ячейке сетки для размещения текста. Кроме того, вам может не понадобиться три уровня вложенности сетки. Вы можете использовать: <col-md-8><col-sm-8>
и посмотреть, работает ли это.
Поделиться Mik 04 ноября 2015 в 17:56
Похожие вопросы:
Перенос на следующую строку. HTML абзац, красная строка, перенос строки.
Урок 5.
В этом уроке мы:
1. Узнаем как сделать чтобы html код был для нас более удобен и легко читаем.
2. Разберем как правильно делать перенос текстовой строки.
Делаем html код удобным.
Сейчас наш код понятен и легко читаем, так как в нем мало текста и практически нет тегов. Когда мы создадим более сложную страницу, то там будет много тегов, соответственно найти нужный будет сложно.
Чтобы не было каши из тегов, нужно изначально расставлять теги и строки так, чтобы они визуально воспринимались легче. Когда браузер считывает информацию с html страницы, ему без разницы сколько пробелов и сколько пустых строк в коде.
Я изменил текст в коде страницы относительно той, которую мы создавали, но это не важно. На левом и на правом рисунке изображен один и тот же код. Оба варианта будут отображаться браузером на экране монитора абсолютно одинаково. Согласитесь, работать с кодом изображенным справа будет гораздо легче, чем с тем, что слева.
Рассматриваемый нами код очень простой, но даже сейчас заметна разница в визуальном восприятии. Каких-либо определенных правил «наведения порядка» нет, каждый мастер сам решает как ему удобнее работать.
Перенос строки html. Тег <br>.
Обратите внимание на рисунок. В первом варианте текст написан в одну строку, во втором варианте в две строки.
Браузер будет отображать оба варианта одинаково. Текст будет написан в одну строку:
Вы спросите, почему так? Ведь в одном из кодов часть текста перенесена на другую строку. Было бы логично если бы в браузере часть текста тоже перенеслась на другую строку, но у html своя логика в этом отношении. Если мы в html коде делаем перенос строки, то для браузера это равнозначно одному пробелу (как обычный пробел между словами в тексте). Если мы перенесем часть текста не на одну строку вниз, а на 2 или 3 (любое количество), то браузер все равно будет считать это расстояние за один обычный пробел между словами и при выводе на экран текст будет писаться в одну строку.
Тег <br>
Когда мы в третьем уроке знакомились с тегами, я упомянул, что бывают теги которые не требуют закрытия. Тег <br> один из них, служит он для переноса строки.
Давайте применим его в коде:
Мы вставили тег <br> в наш html код и теперь при запуске файла через браузер часть текста будет перенесена на следующую стоку.
* Не забываем сохранять изменения в Notepad (Ctrl + S) и обнавлять страницу в браузере (F5).
Вы что-то не поняли из этого урока? Спрашивайте!
— [email protected]
Здравствуйте, в этом небольшом уроке я расскажу, как переносить текст и как запретить перенос текста на новую строку.
Бывает, что возникает необходимость оборвать строку, не закрывая абзац, например, в том же эпиграфе или для записи стихов.
В HTML есть возможность перенести текст на новую строку, не заканчивая абзац. Обычно браузер переносит слова в зависимости от размера окна, и возможность самостоятельно определить место переноса может пригодиться при записи стихов или для отделения различных элементов друг от друга.
Для переноса текста на новую строку служит элемент BR , он не требует закрывающего тега, однако рекомендуется записывать его открывающий тег как br /> .
При использовании элемента BR пустая строка после переноса не добавляется.
Еще элемент BR используют, когда нужно задать обтекание текстом таблицы, изображения или любого другого плавающего элемента страницы, то есть элемента, для которого задан атрибут align .
Для этого применяют атрибут clear элемента BR .
Он может принимать следующие значения:
all – запрещает обтекание элемента с двух сторон.
left – запрещает обтекание с левой стороны плавающего объекта.
right – запрещает обтекание с правой стороны плавающего объекта.
none – отменяет свойство.
Если обтекание запрещено, то текст, следующий за элементом BR , будет отображаться на строке после плавающего объекта
Ночь, улица, фонарь, аптека,
Бессмысленный и тусклый свет.
Живи ещё хоть четверть века —
Всё будет так. Исхода нет.
Умрёшь — начнёшь опять сначала
И повторится всё, как встарь:
Ночь, ледяная рябь канала,
Аптека, улица, фонарь.
Результат:
Кроме обязательного переноса строки, иногда нужно использовать обратное действие, то есть гарантировать, что текст не будет перенесен на новую строку ни в коем случае.
Перевод строки, перенос строки, перенос на новую строку – это все об одном. В языке HTML перенос на новую строку применяется часто. Есть несколько путей: использовать тег
для перевода на новую строку, а можно использовать свойства CSS для переноса строки. Рассмотрим пример использования тега переноса строки:
В CSS перенос строки можно осуществить по-разному, например вот так:
Br { float: left; width: 100%; margin: 0 0 20px 0; /* отступ после строки 20 пикселей */ }
Разделительная линия при помощи HTML или CSS
В HTML создать разделительную линию очень просто. Используется тоже непарный тег
— это и есть разделительная линия. Разделительная линия начинается с новой строки и после нее есть отступ. Вы можете управлять стилем горизонтальной линии, а так же можно сделать альтернативу ей. Далее пример разделительной линии при помощи тега:
А теперь давайте стилизуем (изменим стили, изменим внешний вид) нашу разделительную линию:
hr { width: 80%; /* ширина линии */ height: 4px; /* высота / толщина линии */ background: #333; /* фон / цвет линии */ border: 0; /* рамка вокруг разделительной линии (уберем ее) */ margin: 5px 0 5px 0; /* отступ над и под линией 5 пикселей */ }
И создадим альтернативу нашей разделительной линии при помощи тега
и CSS:Line { width: 80%; /* ширина линии */ height: 4px; /* высота / толщина линии */ background: #333; /* фон / цвет линии */ border: 0; /* рамка вокруг разделительной линии (уберем ее) */ margin: 5px 0 5px 0; /* отступ над и под линией 5 пикселей */ }
Приветствую вас. Конечно, в html перенос строки можно сделать двумя способами. Если вы пользуетесь визуальным редактором от WordPress, то он автоматически добавляет переносы строк, как это происходит в программе Microsoft Word или любом другом текстовом редакторе. Но иногда необходимо работать с текстом в коде. Как сделать перенос строки в html-коде?
Переносим строку
Для этого в html есть короткий одинарный тег —
(сокращенно от break ). Что он делает? Весь текст, который написан после этого тега будет выведен с новой строки. Даже если на текущей строке остается место для его вывода, он все равно будет перенесен.
Использование br
Использовать тег нужно только тогда, когда вам не нужно начинать новый абзац, а вывести текст просто на новой строке. Например, вам надо записать стихотворение. Чтобы не заключать каждую строчку стиха в тег абзаца, можно просто в конце каждой строчки писать тег
и тогда следующая строчка перенесется вниз. Вот так вот все просто.
Тег не следует использовать как альтернативу абзацам. Стоит помнить, что между абзацами образуется отступ, по высоте равный одной пустой строке. При переносе с помощью br отступ получается меньше.
Как сделать много переносов?
А что делать, если вам нужно сделать после какого-то текста сделать большой отступ от дальнейшего содержимого. Есть два варианта, как это сделать. Можно написать много тегов br . Так можно сделать бесконечное количество переносов.
Но лучше сделать более правильно. Можно задать нужному абзацу стилевой класс, а потом через css задать большой отступ снизу.
Абзац
Abzac{
Margin-bottom: 100px;
}
В этом случае будет задан отступ снизу в 100 пикселей. Соответственно, отступ можно прописать любой.
HTML-оформление постов и страниц очень важное дело — оно помогает оформлять контент таким способом, чтобы пользователю было удобно его читать.
Я расскажу вам о теге br — он делает перенос строки в HTML, то есть разбивает строку на две части — причем делает это принудительно, заканчивая текущую строку в том месте, где был вставлен и перенося ее вторую часть на новый ряд.
Где используется этот тег, когда конкретно возникает неотложна необходимость вставить в текст перевод строки без создания нового абзаца? Например, это может пригодиться в оформлении контента — если у вас есть сайт со стихами и отрывками стихов, текстами песен или чем-то подобным.
Все о теге для переноса строки br
Тег br осуществляет одинарный перенос строки в HTML (что это такое описано ) и определяется всеми браузерами. Да, чуть не забыл — если вы используете тег br, то в отличие от тега абзаца p, у вас не добавляется пустой отступ (перед строкой).
Тег br является пустым (пустой значит без содержимого, ничего не содержит), а значит его не нужно закрывать. А так как его не нужно закрывать, было придумано краткое описание — оно изначально подразумевает то, что сам тег не имеет закрывающего тега.
Представьте на минуту, что не было бы краткого описания. Что тогда? Тогда пришлось бы каждый раз «закрывать и открывать» перенос строки примерно так:
. Это как минимум неудобно. Но, тем не менее, в строгом XHTML закрывать его обязательно тегом
.
Если стоит задача увеличить расстояние по вертикали — между теми строками, где вы вставляете перенос — сделайте двойной перенос, вставив тег
дважды подряд.
br
>
Результат:
Чтобы осуществить перенос следующего предложения на новую строку, используем тег br.
Ура, второе предложение на новой строке.
Реальный пример:
А. Блок
Ночь, улица, фонарь, аптека,
Бессмысленный и тусклый свет.
Живи еще хоть четверть века —
Все будет так. Исхода нет.
И повторится все, как встарь:
Ночь, ледяная рябь канала,
Аптека, улица, фонарь.
Результат:
Ночь, улица, фонарь, аптека,
Бессмысленный и тусклый свет.
Живи еще хоть четверть века —
Все будет так. Исхода нет.
Умрешь — начнешь опять сначала
И повторится все, как встарь:
Ночь, ледяная рябь канала,
Аптека, улица, фонарь.
Как выглядит:
Зачем придумали тег br?
Необходимость этого тега существует хотя бы потому что перенести строку «как в Ворде» (как делают неопытные пользователи), путем написания десятков пробелов подряд, — не выйдет.
Почему не выйдет? Потому что любое количество пробелов будет считаться браузером как один пробел, а не перенос строки — браузер автоматически удаляет лишние пробелы. Для этого и нужен перенос строк.
Но не стоит злоупотреблять тегом
, чтобы все больше и больше увеличивать расстояние между строками — для этого лучше всего воспользоваться базовыми инструментами HTML+CSS. Недопустимо создание новых абзацев или «как бы абзацев» (это считается плохим подходом) — только перенос строки!
Чтобы создавать и размечать абзацы вам следует пользоваться тегом p, а чтобы увеличить имеющееся расстояние между абзацами — измените каскадные таблицы стилей, например добавьте:
margin-top : 40 px;
Бонус — br clear
А как сделать так чтобы текст, в котором вы поставили перенос строки, не обтекал плавающий элемент (это либо изображение с установленным align, либо элемент со свойством float), а начинался ниже элемента? Для этого можно использовать атрибут clear.
Допустим, у нас есть изображение выровненное по левому краю (align=»left»). Если мы установим
или
, то текст после тега
(следующая строка, которую мы и переносим) будет отображаться как надо, ниже рисунка. Другие значения атрибута clear тега
сделают так, чтобы текст обтекал рисунок, расположившись справа от него.
Использование этого специфичного атрибута не приветствуется спецификацией HTML — такой код будет невалидным.
БОНУС — тег-разделитель hr
Тег
тоже одиночный, но, в отличие от
, он используется для создания горизонтального разделителя в виде линии. Более того, внешний вид этой линии мы можем задавать при помощи атрибутов. Но, конечно же, лучше это делать проверенными методами через CSS (что это такое, читайте ).
БОНУС — запрет переноса на новую строку с тегом nobr
Бывает и так, что мы хотим запретит перенос строки и избежать перевода на новую строку текста: либо между двумя конкретными словами, либо в целом абзаце. Что делать? Использовать тег Ваш текст. Как выглядит на практике? Вот так:
Что делает тег ? Он говорит браузеру — отображай текст внутри тега без переносов, одной строкой. И, если текст длинный, тогда у нас появится некрасивая и длинная горизонтальная полоса прокрутки, а пользователи должны будут прокрутить текст по горизонтали, чтобы прочитать его полностью.
Как мы понимаем, это очень неудобно. Но тег есть!
Итоги — использование br, nobr, hr, p в HTML
Подводя итог, резюмирую содержание статьи:
Css переход на новую строку
При верстке у веб-мастеров периодически возникает вопрос: как будет осуществляться перенос текста? В большинстве случаев браузер самостоятельно справляется с этой задачей. Но иногда этот процесс приходится брать под контроль, особенно оформляя длинные слова и фразы, которые при неправильном переносе теряют смысл.
Свойство word-wrap
В HTML для разделения строк существует специальный тег
. Но его слишком частое использование считается среди разработчиков дурным тоном и зачастую свидетельствует о непрофессионализме. Как доказательство, представьте, что у вас есть логотип и вы хотите, чтобы каждая буква начиналась с новой строки:
Получился громоздкий и уродливый код, от которого у любого разработчика случится культурный шок. И как поступить, если вы захотите, чтобы в десктопной версии логотип располагался горизонтально, а при ширине экрана менее 550 пикселей вертикально? Поэтому для настройки внешнего вида элементов всегда используйте каскадные таблицы стилей. Тем более с помощью инструментов CSS перенос строки осуществляется более элегантным способом. При этом не возникает избыточной разметки, которая только уменьшает скорость загрузки страниц.
Первое свойство, к которому стоит обратиться для обработки текста, — это word-wrap. Принимает три значения: normal, break-all и keep-all. Вам для работы понадобится запомнить только break-all. Normal стоит по умолчанию, и его нет смысла указывать. Keep-all означает в документе CSS запрет переноса строки. Разработано специально для китайских, японских и корейских иероглифов. Поэтому, если вы не собираетесь вести блог на каком-то из этих языков, свойство вам не пригодится. А также оно не поддерживается браузером Safari и мобильными телефонами на базе iOS.
Чтобы логотипу из предыдущего примера назначить с помощью CSS перенос на новую строку каждой буквы, нужно прописать следующий код:
Ширина и размер шрифта подбирается таким образом, чтобы места хватало только для одной буквы. Word-wrap со значением break-all сообщает браузеру, что слово нужно каждый раз переносить на новую строку. Незаменимым это свойство назвать нельзя. Но оно пригодится при оформлении небольших блоков с текстом, например полей для ввода комментариев.
Свойство white-space
Распространенная ошибка начинающих веб-разработчиков — пытаться редактировать текст пробелами или нажатиями клавиши Enter, а потом удивляться, почему их усилия не видны на странице. Сколько бы вы раз ни нажали «Ввод», браузер это проигнорирует. Но есть способ заставить его отображать текст так, как нужно вам, и принимая во внимание все интервалы.
В документе CSS перенос строки, назначенный с помощью свойства white-space, можно настроить так, чтобы он осуществлялся с учетом пробелов или нажатия клавиши «Ввод». White-space со значением pre-line заставит браузер видеть в тексте Enter.
Если поменять pre-line на pre-wrap в коде CSS, перенос строки произойдет с учетом пробелов. И наоборот, запретить любой перенос, присвоив тексту свойство white-space со значением nowrap:
Text-overflow
Еще один полезный инструмент для работы с текстом — это text-overflow. Помимо переноса строки, CSS-свойство позволяет обрезать контент, когда контейнер переполнен. Принимает два значения:
- clip — просто обрезает текст;
- ellipsis — добавляет многоточие.
Чтобы свойство работало, элементу также необходимо назначить запрет на перенос строки и overflow со значением hidden.
Приветствую вас, дорогие читатели!
Сегодня расскажу про HTML и CSS перенос текста. Очень часто возникает ситуация, когда какой-то текст или слово не помещается в блоке и нужно перенести его на следующую строку.
Перенос текса на следующую строку
Для переноса текста можно использовать специальный html тег
. Это одиночный тег, то есть его не нужно закрывать, и ставится он в том месте, где вам нужно осуществить перенос на следующую строку.
Вот что получим:
Как сделать CSS перенос слова на следующую строку?
Осуществить перенос слова можно при помощи CSS свойства word-break.
У данного CSS свойства может быть несколько значений:
- Normal – значение по умолчанию, то есть перенос слова не осуществляется и если оно не помещается в блок с текстом, то просто вылезет за его пределы.
Например:
Выглядит не очень! Не правда ли ?!
break-all – переносит часть слова на следующую строку если оно не помещается в блоке с текстом.
Вот что получится:
Сам HTML кода блока с текстом для переноса в моём случае выглядит вот так:
Сегодня мы с вами немного коснемся темы оформления текстов на вашем сайте. Создавая сайт и ведя уже существующий, нужно грамотно подходить к каждой его мелочи. Я – активный пользователь Интернета, очень часто ищу различную информацию абсолютно по разным темам. Зачастую встречаю сайты, на которых информация представлена примерно в таком виде:
Не говоря уже о том, что здесь нет никаких выделений (главного в тексте), так и отсутствуют какие-либо параграфы, или попросту – переносы строк. Текст может быть и корректным с точки зрения орфографии и его темы, но визуально – он некомфортен для восприятия. Согласитесь, такой вид куда более читабельный и не «отпугивает» наших пользователей:
Неважно, коммерческий ваш сайт или это обычный блог – всем этим нюансам должно быть уделено отдельное внимание. Именно поэтому сегодня я покажу вам целых три варианта переноса строк в вашем тексте.
Для наглядности за основу мы возьмем популярный в кругах дизайнеров и верстальщиков текст «Lorem Ipsum», а если быть точнее – то несколько его параграфов:
и рассмотрим популярные способы переноса строк в HTML.
Первый вариант переноса строк в HTML
Первый и, наверное, самый популярный и в то же время специально созданный тег для переноса строк – это:
Вы могли видеть этот тег и без слэша (косой черты) на конце, разницы в этом особо нет, просто приведенный выше вариант является более валидным (правильным).
Использовать его вы можете сколько угодно раз. Одно использование – один перенос строки, соответственно, два этих тега, поставленные подряд, дают двойной перенос.
Второй вариант переноса строк в HTML
В HTML существует такое понятие, как параграфы. Для них отведен специальный тег типа:
Весь текст, заключенный в него, переносится на новую строку. По умолчанию (если нет глобальных стилей) он имеет свой отступ. Использование следующее:
Здесь стоит отметить то, что использование пустого тега типа:
не даст вам дополнительной пустой строки, как это можно сделать в первом варианте. Для того чтобы отредактировать желаемый отступ между параграфами, воспользуйтесь глобальными стилями:
Или же присвойте параграфу свой идентификатор, за счет которого примените свой персональный стиль:
Этот вариант оформления текстов я люблю больше всего, так как можно настроить желаемое расстояние между параграфами. Тег из первого же варианта я использую редко.
Третий вариант переноса строк в HTML
Этот вариант похож на вид параграфов, только вместо тега «p» используется тег «div»:
Принцип работы тот же самый – каждый блок текста, обернутого в эту конструкцию, начинается с новой строки. Пустой тег не дает дополнительной новой строки. Что касается отступов, в отличие от параграфов, то здесь они отсутствуют. Но вы можете настроить их и сами, через глобальные стили:
или же через отдельный идентификатор блока:
Все описанное выше, на мой взгляд, – это самые популярные способы переноса строк в вашем тексте. Все расписано максимально подробно, так что вопросов возникнуть не должно.
Div без переноса строки — Знай свой компьютер
Здравствуйте. Необходимо чтобы при нехватке места в родительском блоке, дочерние не переносились на новую строку, а скрывались за правым краем и можно было их скроллить
Подскажите каким образом можно это сделать.
1 ответ 1
Для текста есть такая штука white-space: nowrap; Она делает именно то, что вам надо – текст в одну строку! А чтобы работать с другими объектами как с текстом, надо делать их строчными (inline), или строчно-блочными (inline-block). Тогда один объект будет вести себя как одно слово.
inline-block – еще и гораздо более лучший способ выстроить элементы друг за другом Короче говоря, вот ваше решение: http://jsfiddle.net/M8een/1/
У этого способа есть и свои особенности. На инлайны и на инлайн-блоки (как и на текст) влияет вертикальное выравнивание, которое по умолчанию baseline. Сделав плиточную структуру или, скажем, колонки при помощи инлайн-блока хочешь, чтобы они были выравнены по вертикали по верху и надо дополнительно указывать vertical-align: top;
Задача:
Имеем три блока div, которым присвоено свойство float со значением left.
Эти блоки обтекают друг друга и выстраиваются в одну линию.
Но, если теперь начинать сужать окно браузера, то один блок переносится под другой, когда ему не хватает места в окне. Поэтому такие элементы (со свойством float) называют плавающими.
Но, что делать, если мы не хотим, чтобы эти блоки смещались друг под друга?
Я оказываю услуги в этой области. Если что-то не работает или неправильно отображается, без проблем, подправим. Обратившись, вы можете сэкономить часы и даже дни своего свободного времени.
Больше моих уроков по HTML, CSS и верстке сайтов здесь.
Решение здесь довольно простое. Нужно переназначить родителя для этих блоков и назначить ему фиксированную ширину.
По умолчанию, родителем для них является элемент body с шириной width:auto. Когда мы изменяли ширину окна браузера, изменялась и ширина элемента body.
Float работает следующим образом: если элементу с float не хватает места в родительском элементе, он переносится на новую строку. Это у нас и происходило.
Стоит только добавить новый родительский элемент с фиксированной шириной, как все встает на свои места:
Теперь, сколько бы мы не изменяли ширину окна браузера, блоки с float будут находиться на одной линии.
Будет только появляться горизонтальная полоса прокрутки.
Больше моих уроков по HTML, CSS и верстке сайтов здесь.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Или зарегистрируйтесь через социальные сети:
Труднопереносимыми бывают не только люди, но и слова. К примеру, химическое соединение метилпропенилендигидроксициннаменилакрилическая кислота очень похожа на некоторых людей с « подвывертом »! Не знаем, как справляться с такими трудными личностями, но с переносом слов CSS точно поможет:
Зачем переносить «непереносимое»
В большинстве случаев при отображении текстового содержимого веб-страниц в браузере перенос слов не применяется. Если слово не вмещается целиком в область экрана, то по умолчанию оно полностью « переезжает » на следующую строчку.
Частичный перенос применяется лишь к длинным и сложным словам, состоящим из нескольких терминов и разделенных дефисом. Вот тут и возникают проблемы отображения этих слов на разных по диагонали экранах и в разных браузерах. При этом точно предугадать, как длинное слово будет « выглядеть » на клиентской стороне трудно, поэтому задавать переносы « вручную » бессмысленно:
Решаем проблему переноса слов с помощью HTML
Перед тем, как рассмотреть перенос длинных слов в CSS , изучим возможности решения этой проблемы с помощью языка гипертекста.
Для этого в HTML имеется несколько вариантов:
- Использование символа мягкого разрыва — позволяет задать место разрыва сложного слова. При изменении размеров окна браузера на следующую строку переносится только часть длинного слова, стоящая после ­ , а после первой половины выводится знак переноса, похожий на дефис:
- Использование тега — элемент появился в HTML 5 . Он также служит для указания браузеру места для разрыва сложного или длинного слова. Но в отличие от предыдущего спецсимвола этот тег не выводит в месте « разлома » знак переноса, что может негативно сказаться на читаемости всего текста:
Перенос слов средствами CSS
Перед тем, как запретить перенос слов в CSS , давайте рассмотрим несколько свойств, способных разрешить основную проблему:
- word-wrap – описывает, как производить перенос слов, которые по длине не помещаются в установленные размеры контейнера. Сразу стоит предупредить, что с валидацией этого свойства возникают проблемы, и с реализацией его поддержки в CSS консорциум W3C еще не определился. Поэтому специализированные валидаторы при наличии word-wrap в коде будут выдавать ошибку:
Тем не менее, это свойство «воспринимается» всеми современными браузерами и является эффективным решением проблемы переноса длинных слов. word-wrap принимает следующие значения:
- normal – слова не переносятся;
- break-word – автоматический перенос слов;
- inherit – наследование значения родителя.
Пример, иллюстрирующий применение этого свойства:
В новой спецификации CSS свойство word-wrap было переименовано в overflow-wrap . Оба свойства принимают одинаковые значения. Но поддержка overflow-wrap пока реализована слабо, поэтому лучше использовать старую версию свойства:
Как видно на расположенном выше скриншоте, новое свойство поддерживается Google Chrome , но не поддерживается в IE . Поэтому overflow-wrap лучше не использовать для переноса слов в CSS .
- word-break – устанавливает правила переноса строк внутри контейнера, если они не помещаются в него по ширине. Это новое свойство, и его поддержка была реализована в CSS3 . Оно является валидным, но предназначено для работы со строками, поэтому перенос слов может производиться грамматически неправильно.
Свойство принимает три значения:
- normal – используются правила переноса, установленные по умолчанию;
- word-break – перенос строк осуществляется автоматически, чтобы слово поместилось в установленные по ширине размеры контейнера;
- keep-all – отключает автоматический перенос слов в китайском, японском и корейском. Для остальных языков действие значения аналогично normal.
- hyphens – новое свойство, которое появилось с выходом CSS3 . Оно устанавливает, как браузер будет осуществлять перенос слов в выводимом тексте. Свойство принимает несколько значений:
- none – отключает перенос слов в CSS ;
- manual ( значение по умолчанию ) – слова переносятся в тех участках текстового блока, где это задано с помощью тега или мягкого переноса () ;
- auto – браузер автоматически переносит слова на основе своих настроек.
должен присутствовать атрибут lang со значением «ru» (lang=»ru»).
Свойство поддерживается последними версиями IE , Opera и Firefox . Для каждого из них прописывается своя строчка CSS . Hyphens не поддерживается Google Chrome . Пример:
Запрет переноса слов
Иногда нужно сделать так, чтобы строка отображалась полностью без разрыва. Запрет переноса слов в css можно реализовать несколькими способами:
- С помощью неразрывного пробела   , который устанавливается в местах переноса строки или слов;
- Задав свойству white-space значение « nowrap » ( white-space: nowrap ).
Теперь вы сможете переносить с помощью CSS даже самые длинные слова. Но вот с проблемой труднопереносимых людей вам придется разбираться самостоятельно. Попробуйте воздействовать на них методами CSS – может и получиться, хотя мы сами не проверяли.
Предотвращение разрывов строк в HTML
Предотвращение разрывов строк в HTML — Super UserСеть обмена стеков
Сеть Stack Exchange состоит из 177 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.
Посетить Stack Exchange- 0
- +0
- Авторизоваться Зарегистрироваться
Super User — это сайт вопросов и ответов для компьютерных энтузиастов и опытных пользователей.Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществуКто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено 44k раз
Закрыто. Этот вопрос не по теме. В настоящее время он не принимает ответы.Есть ли способ предотвратить разрыв строки в HTML? Например, на одной из моих веб-страниц браузер поставил разрыв после запятой в числе 43 560. Я мог бы убрать запятую, но это затрудняет чтение числа.
Кажется, я помню, что в старом стиле HTML есть способ предотвратить разрывы строк, но он не поддерживается повсеместно и не разрешен в более строгих вариантах, таких как XHTML.
Создан 20 ноя.
Джон Д. КукДжон Д. Кук63533 золотых знака66 серебряных знаков1212 бронзовых знаков
4Вы можете использовать стили, чтобы браузер не прерывал там строки.У CSS есть свойство white-space, которое делает это. Итак
43 560
должно работать.
Если вам это нужно чаще, вам, вероятно, следует создать для этого класс CSS.
Создан 20 ноя.
Джоуи11.2k1414 золотых знаков9999 серебряных знаков121121 бронзовый знак
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками html или задайте свой вопрос.
lang-html
Суперпользователь лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
Как предотвратить разрыв строки с помощью CSS
Введение
Разработчикам обычно нравится переносить текст на веб-страницу.Обтекание тем или иным образом ограничивает текст и предотвращает проблемы с дизайном. Перенос текста также может предотвратить горизонтальную прокрутку. Но бывают случаи, когда вы хотите, чтобы блоки текста оставались на одной строке независимо от длины. Вы можете предотвратить разрывы строк и перенос текста для определенных элементов, используя свойство CSS white-space
.
В этом уроке вы стилизуете один и тот же блок текста четырьмя разными способами, сначала с разрывами строки, а затем три раза без разрывов строк:
Медузафиш-полосатая морская собачка, сайра, белуга, белуга, морская собачка.Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафиш-полосатая морская собачка, сайра, белуга, белуга, морская собачка. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафиш-полосатая морская собачка, сайра, белуга, белуга, морская собачка. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафиш-полосатая морская собачка, сайра, белуга, белуга. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный окунь, двустворчатый гигантский данио Сакраменто.
Это предоставит вам несколько вариантов переноса или отсутствия переноса текста.
Предварительные требования
Для выполнения этого урока вам потребуется:
Шаг 1 — Предотвращение и принудительное разрывы строк в CSS
На этом этапе вы создадите таблицу стилей с тремя разными классами.Каждый из них будет обрабатывать разрывы строк по-разному: первый будет разбивать текст по умолчанию, а второй и третий заставят текст не создавать новую строку и разрыв.
Сначала создайте и откройте новый файл с именем main.css
, используя nano
или ваш предпочтительный редактор:
Добавьте следующий контент, который представит три класса CSS, которые используют несколько свойств, включая пробел
:
./main.css
.sammy-wrap {
радиус границы: 6 пикселей;
цвет фона: aliceblue;
граница: 2px серая пунктирная линия;
максимальная ширина: 70%;
заполнение: 1em;
нижнее поле: .4em;
}
.sammy-nowrap-1 {
радиус границы: 6 пикселей;
цвет фона: голубой;
граница: 2px серая пунктирная линия;
максимальная ширина: 70%;
заполнение: 1em;
нижнее поле: .4em;
белое пространство: nowrap;
}
.sammy-nowrap-2 {
радиус границы: 6 пикселей;
цвет фона: aliceblue;
граница: 2 пикселя серого цвета;
максимальная ширина: 70%;
отступ: 1em;
нижнее поле:.4em;
белое пространство: nowrap;
переполнение: скрыто;
переполнение текста: многоточие;
}
Ваш первый класс — .sammy-wrap
. Он определяет шесть общих свойств CSS, включая border-radius
, background-color
, border max-width
, padding
и margin-bottom
. Этот класс создаст визуальный блок, но не определяет никаких специальных свойств оболочки. Это означает, что он будет разрывать строки по умолчанию.
Ваш второй класс — .Самми-Новарап-1
. Он определяет тот же блок, что и .sammy-wrap
, но теперь вы добавляете еще одно свойство: white-space
. Свойство white-space
имеет множество параметров, каждый из которых определяет, как обрабатывать пустое пространство внутри данного элемента. Здесь вы установили white-space
на nowrap
, что предотвратит все разрывы строк.
Ваш третий класс — .sammy-nowrap-2
. Он добавляет пробелов
и два дополнительных свойства: overflow
и text-overflow
.Свойство переполнения
обрабатывает прокручиваемое переполнение
, которое происходит, когда содержимое внутри элемента выходит за границы этого элемента. Свойство overflow
может сделать это содержимое прокручиваемым, видимым или скрытым. Вы устанавливаете overflow
на hidden
, а затем используете свойство text-overflow
, чтобы добавить еще больше настроек. text-overflow
может помочь вам сигнализировать пользователю, что дополнительный текст остается скрытым. Вы установили для него значение , многоточие
, так что теперь ваша линия не будет ни разрываться, ни выходить за пределы рамки.CSS скроет переполнение и сигнализирует о скрытом содержимом с помощью ...
.
Сохраните и закройте файл.
Теперь, когда у вас есть таблица стилей, вы готовы создать короткий HTML-файл с образцом текста. Затем вы загрузите веб-страницу в браузер и изучите, как CSS может предотвратить разрывы строк.
Шаг 2 — Создание файла HTML
Определив классы CSS, вы можете применить их к образцу текста.
Создайте и откройте файл с именем index.html
в предпочитаемом вами редакторе. Обязательно поместите его в ту же папку, что и main.css
:
Добавьте следующий контент, который свяжет main.css
как вашу таблицу стилей
, а затем примените ваши классы к образцу текстового блока:
./index.html
Как предотвратить разрыв строки с помощью CSS
Медузафишская полосатая киллифиш, каторжник, сайра, белуха, белуга, осетр. Индийский лосось Mul mora cisco masu, рыба-реквием, длинноносая, ланцетная рыба, синяя рыба, красный окунь Sacramento, двустворчатый гигантский данио.
Медузафишский полосатый киллиф, каторжник, сайра, белуха, белуга, осетр. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафишский полосатый киллиф, каторжник, сайра, белуха, белуга, осетр. Индийский лосось Mul mora cisco masu, рыба-реквием, длинноносая, ланцетная рыба, синяя рыба, красный окунь Sacramento, двустворчатый гигантский данио.
<Р> Medusafish & NBSP; ленточный & NBSP; Killifish & NBSP; арестант & NBSP; собачка & NBSP; сайра & NBSP; threadsail & NBSP; белуха & NBSP;. Осетровые рыбы & NBSP; Индийские & NBSP; мул & NBSP; мор & NBSP; сиг & NBSP; Мас & NBSP; лосось, & NBSP; roosterfish & NBSP; реквием & NBSP; акулы & NBSP; Нос & NBSP; lancetfish & NBSP; луфаря & NBSP; красный & NBSP ; луциан & nbsp; Sacramento & nbsp; двустворчатый & nbsp; гигантский & nbsp; данио.
Вы назначили свой стандартный стиль обтекания первому текстовому блоку, стиль nowrap
второму и nowrap
, то есть скрытый
с многоточием
третьему. Вы назначили sammy-wrap
четвертому образцу, но вы переопределяете обертку по умолчанию, вставляя неразрывные пробелы ( & nbsp;
) непосредственно в HTML. Если вам нужно предотвратить перенос строки как разовую ситуацию, неразрывные пробелы могут обеспечить быстрое решение.
Откройте index.html
в веб-браузере и просмотрите результаты. Ваши четыре текстовых блока будут выглядеть так:
Медузафиш-полосатая морская собачка, сайра, белуга, белуга, морская собачка. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафиш-полосатая морская собачка, сайра, белуга, белуга, морская собачка. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафиш-полосатая морская собачка, сайра, белуга, белуга, морская собачка. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный луциан Sacramento, двустворчатый гигантский данио.
Медузафиш-полосатая морская собачка, сайра, белуга, белуга. Индийский Mul mora cisco masu, лосось, петух-реквием, длинноносая, ланцетная рыба, синяя рыба, красный окунь, двустворчатый гигантский данио Сакраменто.
Вы успешно настроили свои свойства CSS, чтобы предотвратить или разрешить разрывы строк в четырех различных стилях.
Заключение
В этом руководстве вы использовали CSS для предотвращения разрывов строк в блоке текста. Вы применили стиль к тексту внутри поля, а затем добавили свойство white-space
, чтобы переопределить перенос текста по умолчанию. Чтобы узнать больше об обработке переноса текста и пробелов, рассмотрите возможность изучения всего свойства CSS white-space
.
Как предотвратить перенос строк в списке элементов с помощью CSS?
Как предотвратить перенос строк в списке элементов с помощью CSS?
Свойство display: inline-block используется для отображения элемента в контейнере блока встроенного уровня.Он преобразует блок элементов во встроенный элемент. Используйте свойство высоты и ширины, чтобы установить встроенный элемент. Свойство display используется для предотвращения разрыва строки в списке элементов.
Синтаксис:
element { дисплей: встроенный блок; }
Пример:
0 9 9 |
Вывод:
Поддерживаемые браузеры CSS: Свойства отображения перечислены ниже:
- Apple Safari 3.1
- Google Chrome 4.0
- Firefox 3.0
- Opera 7.6
- Internet Explorer 8.0
Когда линия не прерывается
Мы ожидаем, что строка разорвется, когда текст в этой строке достигнет границ родительского блока. Мы видим это каждый раз, когда создаем абзац, как этот. Когда в родительском поле не хватает места для следующего слова в строке, он разрывает его, перемещается к следующей строке и повторяет этот процесс.
Вот как это работает, когда слова разделяются пробелами или другими пробелами.Что касается CSS, существует пять (!) Свойств, которые могут повлиять на то, как и когда разрывается строка. Но давайте не будем вдаваться в подробности. Вместо этого давайте рассмотрим ситуацию, когда кажется, что линия вот-вот разорвется, но это не может служить оправданием для того, чтобы кое-что узнать о разрыве линии.
Что происходит в ситуации, когда браузер не может узнать, можно ли сделать перерыв?
Давайте попадем в плохую ситуацию со «списком тегов», а затем выберемся из нее.Вот наша разметка:
- PHP
- JavaScript
- Ржавчина
Затем мы применим CSS, который заменяет стиль списка по умолчанию с его вертикальной ориентации по умолчанию на горизонтальную, заставляя элементы списка отображаться встроенными.
ul {
маржа: 0;
отступ: 0;
стиль списка: нет;
}
li {
дисплей: встроенный;
отступ справа: 5 пикселей;
}
Список выглядит так, как мы этого хотим.Я добавил немного места между одним элементом списка и другим, чтобы он не выглядел слишком переполненным.
Теперь давайте добавим в микс элемент-оболочку. По сути, это div вокруг неупорядоченного списка. Мы можем присвоить ему класс, скажем, .tags
.
- PHP
- JavaScript
- Ржавчина
Допустим, мы хотим дать оболочке фиксированную ширину 200 пикселей.Именно здесь мы должны ожидать появления разрывов строк, когда неупорядоченный список натыкается на границы оболочки.
.tags {
ширина: 200 пикселей;
}
А вот и самое интересное. Многие люди используют минификаторы в процессе сборки, чтобы уменьшить размер файлов, избавившись от ненужных значений. Некоторые из этих значений представляют собой пробелы, которые включают в себя пробелы, табуляции и символы разрыва строки (например, возврат каретки и перевод строки), которые используются для целей форматирования, но считаются минимальными значениями, не имеющими отношения к окончательному результату.
Если мы «минимизируем» наш HTML, удалив новые строки, то получим следующее:
- PHP
- JavaScript
- Rust
UH OH. Как видите, список больше не разрывается на границе 200 пикселей. Почему? Что изменилось сейчас? Лично я думал, что HTML не заботится о пробелах. Чем же так отличается минифицированная версия от исходной разметки?
Браузер действительно заботится о пробелах … но только иногда . И это как раз один из таких случаев. Когда страница анализируется, синтаксический анализатор видит этот список как одно длинное слово, потому что, с его точки зрения, нет символов, которые отличают одно от другого.
Можно подумать, что набивка влияет на вещи. Но если мы удалим отступы из элементов нашего списка, мы все равно получим тот же результат… только без промежутков между элементами.
Браузер видит весь список как одно слово.
Мы можем получить естественный разрыв строки из специальных символов
Помимо пробелов, за исключением неразрывных пробелов ( & nbsp
;), есть некоторые другие символы, которые вызывают разрыв строки, в том числе:
- После дефиса (
-
) - После тире (
-
) - До и после длинного тире (
-
) - После вопросительного знака (
?
) - Пустое пространство нулевой ширины (
U + 200B
или& # 8203;
)
Эти разрывы строк происходят во время рендеринга, что означает, что браузер по-прежнему видит это как одно длинное слово.Добавление нового элемента списка в список тегов с любым из этих символов приведет к разрыву строки. Добавим в список «Objective-C». Его имя содержит дефис, который мы можем использовать, чтобы увидеть, как он влияет на вещи.
Для удобства чтения код кода будет иметь отступ и новую строку.
- PHP
- JavaScript
- Ржавчина
- Objective-C
Это хорошо.Давайте посмотрим на три решения в нашем списке, который не разрывает строки по этим строкам.
Решение 1. Добавьте один из разрывающих символов
Мы можем продолжать принудительно переносить строки с помощью этих прерывающих символов, как мы только что сделали. Но помните, что если вы используете минификатор, добавление пробелов в закрывающий тег или после него не гарантирует, что он не будет удален, поскольку не все минификаторы работают одинаково.
- PHP
- JavaScript
- Ржавчина
- Objective-C
Решение 2. Используйте псевдоэлементы
Знак разрыва также можно добавить с помощью псевдоэлементов :: before
и :: after
в CSS.Эффективность этого решения заключается в том, что на него не влияет минификатор HTML, поскольку при применении CSS добавляются пробелы.
Но, прежде чем мы продолжим, давайте поговорим о сокращении пробелов.
Браузер удаляет пробелы до и после символа, что приводит к разрыву строки внутри встроенных элементов. Имея это в виду, есть небольшая хитрость с использованием :: after
и свойства content с белым интервалом и отображением : inline-block
.Элемент inline-block добавляет в конец текста символ разрыва. Затем пространство свойств содержимого идет после символа разрыва, созданного элементом inline-block, что приводит к удалению пространства во время рендеринга. То есть, если для свойства white-space установлено значение pre.
Решение 3. Используйте вместо него встроенный блок
Возможно, вы раньше сталкивались с проблемой пространства между встроенными блочными элементами в CSS. Мы можем использовать значение inline-block в свойстве display для принудительного разрыва строки, потому что в элементе inline-block уже есть лишние пробелы, которые нам нужны.Это работает аналогично добавлению символа пробела нулевой ширины, но элементы списка не будут иметь визуального разделения.
Решение 4. Используйте гибкий или встроенный гибкий
Еще одно решение - определить неупорядоченный список как гибкий контейнер, который позволяет нам использовать flex-flow
для задания направления списка и при необходимости, чтобы он состоял из нескольких строк.
Мы также можем обратиться к дисплею : решение inline-flex
вместо inline-block
.Идея здесь в том, что весь гибкий контейнер отображается встроенным.
Итак, мы начали этот пост с ситуации, которая может возникнуть при использовании минификатора. Тем не менее, минификаторы - и многие библиотеки в этом отношении - умны и будут пытаться предотвратить возникновение этой проблемы с разрывом строк.
Конечно, это не самая обычная ситуация, с которой можно столкнуться. Это действительно одна из тех вещей, которые могут пролететь незамеченными, если мы не обращаем внимания, но, если это действительно произойдет, по крайней мере, мы знаем, что есть способы обойти это.
Как предотвратить разрыв строки с помощью тега h2, h3, h4
Джонатан Фрэнчелл, генеральный директор Ironpaper - Дополнительные советы и полезные советы:Нужно удалить новую строку после тегов
?
И веб-дизайнеры, и специалисты по поисковой оптимизации должны использовать теги заголовков: h2, h3, h4 несколькими способами, чтобы улучшить структуру веб-страницы и содержимое тегов с разной степенью важности.
Вы можете отформатировать теги заголовков, такие как h2 и h3, как встроенные и предотвратить разрыв сразу после них.Удаление отступов и полей не приводит к удалению новой строки. По умолчанию теги заголовков занимают все горизонтальное пространство, где они появляются.
Например, тегиh2 автоматически переносят любой исходящий контент на новую строку, но этот стиль по умолчанию можно переопределить с помощью простого трюка CSS. Блочный элемент занимает всю доступную ширину и имеет разрыв строки до и после него. Встроенный элемент занимает ровно столько ширины, сколько необходимо, и не приводит к разрыву строки.
Как предотвратить автоматический разрыв строки с помощью тегов заголовков
Чтобы предотвратить автоматический разрыв строки с тегами h2, h3, h4, просто добавьте следующее определение стиля:
дисплей: встроенный
Это позволит вам обернуть контент вокруг тега h2, что может быть отличным вариантом для наклеек, рекламных акций или другого контента, связанного с этим текстом заголовка.
h2 {display: inline;}
Это, пожалуй, самый простой подход к решению проблемы. Это позволяет избежать более сложных хаков, которые могут иметь проблемы с зависимостью от стиля, например, если вы зададите тегу h2 фиксированную ширину или элемент разрыва строки как float.
HTML-элементов могут отображаться в виде блока или встроенного стиля .
https://www.ironpaper.com/articles/responsive-web-design-statistics-that-matter/
Различия между блочными и встроенными стилями
- display: block - Использует всю доступную ширину - с новой строкой до и после элемента
- display: inline - занимает ровно столько ширины, сколько требуется элементу.Это не заставляет новые строки.
Узнайте больше о приемах HTML и CSS:
- Сделать перенос текста
с помощью CSS
- Структура CSS3 Drop Shadow
- Как использовать тени CSS
about-css / prevent-line-break.html на главном сервере · ReneNyffenegger / about-css · GitHub
about-css / prevent-line-break.html на главном сервере · ReneNyffenegger / about-css · GitHub Постоянная ссылкаВ настоящее время невозможно получить участников
|
||
<таблица> | ||
Lorem ipsum dolor sit amet, constetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.At vero eos et accusam et justo duo dolores et ea rebum. | ||
/usr/local/share/foo/bar.txt | ||
Разрыв строки LaTeX
Разрыв строки LaTeX
Разрыв строки происходит автоматически, как разрыв страницы. В целом автоматический перенос строки также дает очень хороший результат. Однако есть несколько мест, где автоматический разрыв строки не очень полезен, например, между именем и расширением имени или внутри формулы.
1.1 Предотвращение разрывов строк
Füв случае, когда LaTeX не должен разделять два конкретных последовательных слова, решением будет защищенное пространство ~.{2}} $, и в этой группе больше нет разрывов строки. Дополнительные скобки не будут отображаться в готовом документе.
nolinebreakЧтобы предотвратить разрыв строки в определенный момент, можно использовать команду \ nolinebreak . Эта команда имеет необязательное значение, которое может находиться в диапазоне от 0 до 4. Значение по умолчанию - 4. Чем выше значение, тем больше вероятность того, что на этом этапе будет предотвращен разрыв строки.
1.2 установить разрыв строки
Для ручного переноса строки доступны три разные команды \\ , \ newline и \ linebreak .Однако только \\ и \ linebreak имеют практическое значение для разрыва строки в тексте, тогда как \ newline в основном используется в таблицах внутри p-столбцов для разрыва строки.
\Команда \ вставляет разрыв строки в то место, где он был установлен. Это также делается в закрытом абзаце. Команда имеет необязательный элемент \\ [значение / высота] , поэтому можно вставить дополнительный пробел между готовой строкой и следующей строкой, например, с \\ [12pt] пустая строка вставляется после разрыв строки.
\\ *Если установлена звездочка для команды \ * , возможный разрыв страницы предотвращается. Также для этого варианта существует необязательный элемент \\ * [значение / высота] с теми же свойствами, что и в беззвездном варианте.
linebreakКоманда \ linebreak вставляет разрыв строки в то место, где он был установлен, например \ . Разница между \\ и \ linebreak заключается в том, что используется линия перед разрывом для выравнивания полей.Тип компенсации зависит от используемого типа выравнивания текста. При выравнивании по ширине, стандартном выравнивании текста, оставшийся текст или слова в строке растягиваются, пока строка не будет полностью заполнена. Если текст выровнен по левому краю, содержимое закрывается слева. Если текст выровнен по правому краю, содержание устанавливается вправо. И в случае, если текст центрирован, оставшееся содержимое строки также центрируется. У команды есть необязательное значение \ linebreak [значение] , которое может быть установлено от 0 до 4.Значение по умолчанию - 4. Чем выше установлено значение, тем больше вероятность того, что будет установлен разрыв строки.
newlineКоманда \ newline в основном используется в таблицах. Таким образом, его использование позволяет установить разрыв строки внутри p-столбцов. Кроме этого случая, следует использовать \\ вместо \ newline .
\ begin {tabular} {p {4cm} ll} Это одна таблица \ новая строка с тремя столбцами и первый столбец \ новая строка имеет фиксированную ширину и столбец 2 и столбец 3 \\ Содержание 1 и содержание 2 и содержание 3 \\ \ end {tabular}
Это одна таблица с тремя столбцами, и первый столбец имеет фиксированную ширину | столбец 2 | столбец 3 |
Содержание 1 | Содержание 2 | Содержание 3 |