Перенесення на інший рядок CSS. Як зробити в css перенесення слів, які не влазять у блок? Включаємо перенесення для слів, які не влазять

Головна / Додатковий функціонал

Інтернет складається з контенту, контент складається зі слів, а слова можуть бути дуже довгими. І рано чи пізно вебмастер стикається з проблемою перенесення довгих слів. Ця проблема особливо актуальна для адаптивного дизайну та для невеликих блоків контенту. Отже, як же впоратися із цією проблемою?

Дефіс

Перше рішення для перенесення довгих слів за допомогою дефісу.

Defisi (-webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; )

Підтримка браузерами: CSS-дефіси підтримуються майже всіма сучасними браузерами, крім Chrome, Opera, Android. Також дуже часто дефіс вставляється в місцях, помилкових з граматичної точки зору.

Обрив слова

Обрив слова – це властивість CSS, що вказує на те, чи слід розривати рядки всередині слів.

Obriv-slova (-ms-word-break: break-all; word-break: break-all; word-break: break-word; )

Підтримка браузерами: Обрив слів підтримується у всіх браузерах, за винятком Opera Mini та старих версій Opera.

Обгортка переповнення

Наступне рішення – це використання Обгортки переповнення (overflow-wrap).

Obertka-переполення (word-wrap: break-word; overflow-wrap: break-word; )

Підтримка браузерами: підтримується практично у всіх браузерах. Примітка: Деякі браузери вимагають використання "word-wrap" замість "overflow-wrap".

Багатокрапка

Ще один варіант - використання крапок.

Mnogotochiye ( overflow: hidden; white-space: nowrap; text-overflow: ellipsis; )

Підтримка браузерами: підтримується сучасними браузерами.

Це працюючий метод, але далеко не ідеальний.

Фінальне рішення:Використання Обгортки переповнення та дефісу.

Finalnoye-resheniye ( overflow-wrap: break-word; word-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hyphens: auto; )

Це рішення дозволить браузеру, який підтримує його, вставляти дефіс, а для браузерів, що не підтримують його, вставляти розрив рядка.

Всім привіт і приступимо. Допустимо, у нас є наступний текст:

Уряд Об'єднаних Арабських Еміратів і адміністрація концентрують у цьому місті всі нові технології, засновані на останніх досягненнях науки і техніки, намагаючись перетворити його місто майбутнього, ніби зійшов з екрану якогось науково-фантастичного фільму. До цих технологій можна віднести роботів-поліцейських, автомобілі-роботи та транспортну систему Hyperloop, а в недалекому майбутньому в Дубаї почне функціонувати служба автоматичних таксі. І в рамках підготовки до цієї події електричний двомісний літальний апарат Volocopter з 18 роторами, який і використовуватиметься як таксі, здійснив перший політ в автоматичному режимі.

тут у нас вказаний текст з яким ми зараз почнемо працювати.

І перша властивість, яку ми з вами розглянемо називається word-break

word-break: normal | keep-all | break-all

Нас переважно цікавлять два значення даної властивості normal - дефолтне значення і break-all за допомогою якого ми встановлюємо, що перенесення слів здійснюється посимвольно. Що стосується keep-all, то дане значенняслужить для перенесення слів китайською, японською та корейською мовами.

P(word-break: break-all;.)

Зауважте, що після застосування цього стилю весь наш текст розтягується в повну доступну ширину і переноси здійснюються не за словами, а за символами. Ця властивість може бути корисною, коли у нас є дуже довге слово, яке не влазить у задану ширину. Однак це створює свого роду незручності, тому що посимвольно переносяться абсолютно всі слова, навіть ті, які влазять у задану ширину.

На щастя є аналогічна властивість, яка переносить тільки не влазять слова за символами. Називається воно overflow-wrap:

P( overflow-wrap: break-word; )

і після застосування значення break-word, весь наш текст переноситься за словами, а слова, які не влазять у задану ширину, переносяться посимвольно. Можна сказати, завдання виконане! Крім значення break-word цю властивість набуває:

overflow-wrap: normal | break-word | inherit;

Тепер давайте перейдемо до більш просунутої властивості css для перенесення слів у тексті.

Розглянемо властивість white-space, за допомогою якого ми можемо імітувати роботу тега pre, не змінюючи сам текст на моноширний.

white-space: normal | nowrap | pre | preline | pre-wrap | inherit

По суті за допомогою цієї властивості ми працюємо тільки з пробілами в тексті. Наприклад, якщо ми застосуємо наступний стиль до нашого тексту:

White-space: nowrap;

усі переноси рядків у нас будуть проігноровані і наш текст відобразиться у вигляді одного рядка.

White-space: pre;

У разі значення pre усі переноси рядків будуть аналогічні перенесенням у вихідному коді. Причому якщо текст не поміщатиметься в задану ширину, він переноситися не буде. Якщо ми хочемо, щоб він переносився, то нам потрібно вказати значення pre-line.

Якщо ж ми хочемо, щоб у нас враховувалися не тільки перенесення рядків вихідного коду, а й прогалини між словами, тоді потрібно вказати:

White-space: pre-wrap;

Ось у принципі і все, що я хотів вам розповісти про перенесення слів засобами css. Сподіваюся, ця стаття була для вас корисною і ви не раз ще скористаєтеся отриманими знаннями.

Ну а я ж з вами прощаюсь. Бажаю успіхів та удачі! Бувай!

Автоматичне незграбне перенесення слів (без додавання дефісів).

Значення якості, що цікавляться:

  • break-all
    Автоматичне перенесення всіхслів, текст виглядає як вирівняний по ширині.
  • break-word (використовується на цьому сайті в заголовках)
    Перенесення окремих слів, які помістилося в задану ширину блока.

Світле майбутнє. СSS властивість hyphens

Правила переносів визначаються словником вбудованим у браузер. Властивість працює за наявності атрибута lang з кодом мови лише на рівні всього документа чи окремих його частин.

Значення, що цікавляться:

  • manual (використовується за замовчуванням)
    Слова переносяться лише в тих місцях тексту, де додано спецсимвол ­ (м'яке перенесення) або тег . Спецсимволи вручну розставляються в тексті, не видно у звичайному тексті і якщо слово не міститься, браузер у місці знаходження спецсимволу створює перенесення. Спецсимвол ­ при переносі слова додавати дефіс (як навчали у школі), а тег немає.
  • auto
    Браузер автоматично додає переноси на основі вбудованого словника. Досі слабка підтримка браузерами, у хромі не працює(.
...

програм міювання - процес і мистецтво створення комп'ютерних програм за допомогою мов програмування.

p ( hyphens: auto; )

Заборона переносів

Існує зворотне завдання – заборонити перенесення. Наприклад, не відокремлювати ініціали від прізвища чи одиниці виміру від значень (100 кг). Щоб браузер не додав перенесення, слід замість звичайної пробілу написати нерозривну прогалину  

Також у CSS властивості hyphens існує значення none , коли слова не переносяться, навіть за наявності в тексті м'яких переносів.

Влад Мержевич

На відміну від тексту в поліграфії, на веб-сторінці рідко застосовуються переноси, оскільки ми жорстко не прив'язані до формату паперу. Сайти можуть дивитися на різних моніторах, з різною роздільною здатністю, в різних операційні системита браузерах. Все це породжує таке поєднання комбінацій, що передбачити, як виглядатиме кінцевий текст для користувача неможливо. Через це зазвичай текст вирівнюється лівим краєм, а переноси відбуваються словами цілком. Але все ж таки переноси слів у деяких випадках потрібні, наприклад, коли застосовуються довгі хімічні або медичні терміни, у вузьких колонках заданої ширини, заради естетики. У HTML і CSS ручних або автоматичних способівдодавання переносів не так і багато, так що перерахую все.

Використання тега

Тег введений в HTML5 і створює перенесення слів за необхідності. У тих місцях, де за правилами російської мови допустимо перенесення, вставляємо (Приклад 1). Якщо слово повністю міститься у відведену ширину, цей тег ніяк себе не виявить і про його наявність ми навіть не дізнаємося. Якщо слово не міститься, браузер у місці знаходження тега створює перенесення.

Приклад 1. Тег

Перенесення

Один надцятиклас сниця Анжеліка після закінчення школи обрала професію справу вироби водій ниці.

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

Рис. 1. Текст із переносами слів

М'яке перенесення

Застосування має серйозний недолік - зрозуміти, чи перенесення перед нами чи окреме слово на іншому рядку, не можна. Через це може загубитися сенс пропозиції та її неправильно зрозуміють. Перенесення треба робити за правилами друкарні, а саме: наприкінці рядка додавати дефіс. З цим добре справляється м'яке перенесення, в коді HTML йому є спецсимвол - . Він виконує ту ж роль, що й тег - не видно у звичайному тексті та переносить слово на інший рядок, при цьому додаючи дефіс (приклад 2).

Приклад 2. М'яке перенесення

Перенесення

Один-надцятикласниця Анжеліка після закінчення школи обрала професію справа-виробник-ниці.

Результат цього прикладу показано на рис. 2. Зауважте, наскільки естетичнішим і зрозумілішим став виглядати текст порівняно з рис. 1.

Рис. 2. Текст із переносами слів

Властивість word-break

Щоб автоматизувати процес створення переносів, скористайтеся властивістю word-break зі значенням break-all (приклад 3). Додавати будь-які символи або теги в HTML вже не доведеться, все беруть на себе стилі.

Приклад 3. Застосування word-break

Перенесення

Одинадцятикласниця Анжеліка після закінчення школи обрала професію діловодки.

Результат цього прикладу показано на рис. 3. Правила переносів тексту у разі не враховуються, тому слова можуть переноситися дуже химерним чином.

Рис. 3. Текст із переносами слів

З усіх перерахованих способів «напівручний» з використанням – дає найкращий результат- Дотримуються правила російської мови, текст виглядає найбільш естетично. Користуйтеся ним, коли в тексті є довгі слова.

Властивість hyphens

І, нарешті, найпотужніша і зручна властивість для автоматичного додавання переносів – hyphens. Його дія ґрунтується на вбудованому у браузері словнику переносів, тому дає найкращий результат. Підтримується в IE10, Firefox, Android та iOS. Chrome та Opera не підтримують. Щоб це все працювало, для тега додаємо атрибут lang зі значенням ru (приклад 4).

Приклад 4. Використання hyphens

Перенесення

Одинадцятикласниця Анжеліка після закінчення школи обрала професію діловодки.

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

Рис. 4. Текст із переносами слів

Заборона переносів

Нерідко виникає і зворотне завдання - заборонити перенесення у тих місцях, де вони за правилами мови неприпустимі. Наприклад, не можна відривати одиниці виміру від числа (10 мл), позначення року (54 до н. е.), ініціали від прізвища, розривати стійкі скорочення (т. д.) та ін. Щоб браузер не додавав перенесення в місці пропуску слід замінити на нерозривну прогалину (приклад 5).

Приклад 5. Використання

Перенесення

Озеро за координатами 70° 58′ 19″ пн. ш. 97° 24′ 5″ ст. д. розташоване в Таймирському Долгано-Ненецькому районі Красноярського краюРосії.

У даному прикладідля коректного написання координат використовується , який дозволяє переносити текст.

© 2022 androidas.ru - Все про Android