Перенесення слів в HTML. Перенесення слів В чому полягає відмінність одне властивості від іншого
Властивість white-space встановлює, як відображати пропуски між словами. У звичайних умовах будь-яку кількість прогалин в коді HTML показується на веб-сторінці як один. Винятком є елемент , Поміщений в цей контейнер текст виводиться з усіма пробілами, як він був відформатований користувачем. Таким чином, white-space імітує роботу
Але на відміну від нього не змінює шрифт на моно.коротка інформація
позначення
опис | приклад | |
---|---|---|
<тип> | Вказує тип значення. | <размер> |
A && B | Значення повинні виводитися в зазначеному порядку. | <размер> && <цвет> |
A | B | Вказує, що треба вибрати тільки одне значення із запропонованих (A або B). | normal | small-caps |
A || B | Кожне значення може використовуватися самостійно або спільно з іншими в довільному порядку. | width || count |
Групує значення. | [Crop || cross] | |
* | Повторювати нуль або більше разів. | [,<время>]* |
+ | Повторювати один або більше разів. | <число>+ |
? | Зазначений тип, слово або група не є обов'язковим. | inset? |
(A, B) | Повторювати не менше A, але не більше B раз. | <радиус>{1,4} |
# | Повторювати один або більше разів через кому. | <время># |
значення
normal Текст у вікні браузера виводиться як зазвичай, переноси рядків встановлюються автоматично. nowrap Прогалини не враховуються, переноси рядків у коді HTML ігноруються, весь текст відображається одним рядком; разом з тим, додавання
переносить текст на новий рядок. pre Текст показується з урахуванням всіх прогалин і переносів, як вони були додані розробником в коді HTML. Якщо рядок виходить занадто довгою і не поміщається у вікні браузера, то буде додана горизонтальна смуга прокрутки. pre-line У тексті пробіли не враховуються, текст автоматично переноситься на наступний рядок, якщо він не поміщається в задану область. pre-wrap В тексті зберігаються всі прогалини і переноси, однак якщо рядок по ширині не поміщається в задану область, то текст автоматично буде перенесений на наступний рядок.
Дія значень на текст представлено в табл. 1.
приклад
приклад
Велика теорема Ферма
X n+ Y n= Z n
де n - ціле число> 2
Результат даного прикладу показаний на рис. 1.
Мал. 1. Застосування властивості white-space
об'єктна модель
об'єкт.style.whiteSpace
Примітка
Браузер Internet Explorer до версії 7.0 включно не підтримує значення pre-line і pre-wrap. для
Opera до версії 9.5 не підтримує значення pre-line. для
У Firefox для
Специфікація
Кожна специфікація проходить кілька стадій схвалення.
- Recommendation (Рекомендація) - специфікація схвалена W3C і рекомендована як стандарт.
- Candidate Recommendation ( можлива рекомендація) - група, що відповідає за стандарт, задоволена, як він відповідає своїм цілям, але потрібна допомога спільноти розробників по реалізації стандарту.
- Proposed Recommendation ( Пропонована рекомендація) - на цьому етапі документ представлений на розгляд Консультативної ради W3C для остаточного затвердження.
- Working Draft (Робочий проект) - більш зріла версія чернетки після обговорення і внесення поправок для розгляду спільнотою.
- Editor "s draft ( редакторський чернетку) - чорнова версія стандарту після внесення правок редакторами проекту.
- Draft ( чернетка специфікації) - перша чорнова версія стандарту.
Автоматичний сокирний перенесення слів (без додавання дефісів).
Інтересуемий значення властивості:
- break-all
автоматичне перенесення всіхслів, текст виглядік як вирівняний по ширині. - break-word (використовується на цьому сайті в заголовках)
Перенесення окремих слів, які не влізло до задану ширину блоку.
Світле майбутнє. СSS Властивості hyphens
Правила переносів визначаються словником вбудованим в браузер. Властивість працює при наявності атрибута lang з кодом мови на рівні всього документа або окремих його частин.
Інтересуемий значення:
- manual (використовується за умовчанням)
Слова переносяться тільки в тих місцях тексту, де доданий спецсимвол & shy (варіант переносу) або тег. Спецсимволи вручну розставляються в тексті, не помітні в звичайному тексті і якщо слово не поміщається, браузер в місці знаходження спецсимволи створює перенос. Спецсимвол & shy при перенесенні слова додавати дефіс (як вчили в школі), а тег немає. - auto
Браузер додає переноси автоматично на основі вбудованого словника. До сих пір слабка підтримка браузерами, в хромі не працює (.
програм
заборона переносів
Існує зворотна задача - заборонити переноси. Наприклад, не відокремлювати ініціали від прізвища або одиниці вимірювання від значень (100 кг). Щоб браузер не додавав переноси, слід замість звичайного пробілу написати нерозривний пробіл & nbsp
Також у CSS властивості hyphens існує значеіе none, коли слова не переносяться, навіть при наявності в тексті м'яких переносів.
коротка інформація
версії CSS
CSS 1 | CSS 2 | CSS 2.1 | CSS 3 |
---|---|---|---|
опис
Властивість white-space встановлює, як відображати пропуски між словами. У звичайних умовах будь-яку кількість прогалин в коді HTML показується на веб-сторінці як один. Винятком є тег
Поміщений в цей контейнер текст виводиться з усіма пробілами, як він був відформатований користувачем. Таким чином, white-space імітує роботу тегаАле на відміну від нього не змінює шрифт на моно.синтаксис
white-space: normal | nowrap | pre | pre-line | pre-wrap | inherit
значення
normal Текст у вікні браузера виводиться як зазвичай, переноси рядків встановлюються автоматично. nowrap Прогалини не враховуються, переноси рядків у коді HTML ігноруються, весь текст відображається одним рядком; разом з тим, додавання тега
переносить текст на новий рядок. pre Текст показується з урахуванням всіх прогалин і переносів, як вони були додані розробником в коді HTML. Якщо рядок виходить занадто довгою і не поміщається у вікні браузера, то буде додана горизонтальна смуга прокрутки. pre-line У тексті пробіли не враховуються, текст автоматично переноситься на наступний рядок, якщо він не поміщається в задану область. pre-wrap В тексті зберігаються всі прогалини і переноси, однак якщо рядок по ширині не поміщається в задану область, то текст автоматично буде перенесений на наступний рядок. inherit Успадковує значення батька.Дія значень на текст представлено в табл. 1.
HTML5 CSS2.1 IE Cr Op Sa Fx
white-space приклад
Велика теорема Ферма
X n+ Y n= Z n
де n - ціле число> 2
Результат даного прикладу показаний на рис. 1.
Мал. 1. Застосування властивості white-space
об'єктна модель
document.getElementById ( "elementID") .style.whiteSpace
браузери
Браузер Internet Explorer до версії 7.0 включно не підтримує значення pre-line, pre-wrap і inherit. для
Opera до версії 9.5 не підтримує значення pre-line. для
Safari до версії 3.0 і iOS не підтримують значення pre-wrap і pre-line.
Firefox до версії 2.0 включно не підтримує значення pre-line і pre-wrap. для
Влад Мержевіч
На відміну від тексту в поліграфії, на веб-сторінці рідко застосовуються переноси, оскільки ми не прив'язані жорстко до формату паперу. Сайти можуть дивитися на різних моніторах, з різним дозволом, в різних операційних системах і браузерах. Все це породжує таке поєднання комбінацій, що передбачити, як буде виглядати кінцевий текст для користувача неможливо. Через це зазвичай текст вирівнюється по лівому краю, а перенесення відбуваються словами цілком. Але все ж переноси слів в деяких випадках потрібні, наприклад, коли застосовуються довгі хімічні або медичні терміни, в вузьких колонках заданої ширини, заради естетики. В 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 "в. д. розташовано в Таймирському Долгано-Ненецькому районі Красноярського краю Росії.
В даному прикладі для коректного написання координат використовується, який не дозволяє переносити текст.