Я думал, что более или менее изучил веб-технологии, но, похоже, встретил какую-то новинку.
http://zavtra.ru/content/view/ssha-gotovyat-vojnu-s-kitaem-2013-02-27-000000/
Просматриваю с помощью интернет-обозревателя "Firefox" версии 19.0.
Javascript включён. Флеш и ява не установлены. (более того - специально стоит флеше-глушилка - Flashblock, а Java принудительно отключена в настройках)
Текст в абзацах на новостной странице. Не умещающиеся по ширине слова сами собой обрываются - переносятся с помощью дефиса на новую строку. Более того, (!!!) при изменении масштаба переносы перескакивают на другие не умещающиеся слова. (!!!) БЕЗ ИЗМЕНЕНИЯ DOM-а.
В исходном коде страницы переносов нет. Смотрю с помощью Firebug в код DOM-а - в текстовых узлах переносов нет. С ходу увидеть какие-либо нестандартные CSS-правила не удалось. Javascript вроде так не умеет - иначе Firebug показал бы как минимум разрывы в текстовых узлах DOM-а.
Если кто знает секрет - научите меня пожалуйста! Очень нужно!
Примечание:
При выключенном Javascript этот эффект тоже работает. В режиме "оффлайн" сохранённая страница тоже сохраняет свойство переносить слова.
Похоже, это какая-то встроенная функция интернет-обозревателя. Осталось узнать как её задействовать на странице.
Примечание:
Сейчас всё просмотрю.
Примечательно, что инструменты "Firebug" и "Inspect" не показывают упомянутых вами CSS-свойств на вышеуказанной странице.
Примечание:
0:34 Ant1973 Вы правы - есть. (увидел с помощью Libre Office Writer, M$-ПО я не пользуюсь) Мне странно, что ни Firefox, ни Opera этих символов не показали.
Разочарован. Думал, что интернет-обозреватели научились расставлять переносы, согласно русскому словарю, но, похоже, это ещё одна вариация на тему "самоспасения утопающих".
Всем большое спасибо! Полагаю наиболее логично отдать лучший ответ и баллы "Вчера в 23:36 PbICb" - ответившему первым и давшему ссылку на описание всех возможных вариантов. Какой из вариантов применён я ещё не совсем точно понял - не увидел в коде, но явно один или два из описанных по ссылке.
Примечание:
Проведённые эксперименты показали следующее:
1) на странице ПРОСТО использован текст, предварительно размеченный символами "мягкий перенос" ("soft hyphen") - U+00AD (UTF-8: 0xC2 0xAD, десятичное представление в XML: ­)
Попробую привести пример: пример, пример, пример, пример, пример, пример, пример. (попробуйте масштаббировать страницу) удивительно, но перенос срабатывает у меня при редактировании этого текста - в теге TEXTAREA.
2) CSS-правила в данном случае ни при чём. (надеялся на это, но увы!)
3) параметр lang='ru' в теге HTML тоже ни при чём - без него тоже работает.
Вывод: всё-таки Л.О. должен достаться профессору Ant1973 0:34, т.к. только он указал на невидимые символы, которые и являются главным ответом на вопрос "как это работает?".
Как вы считаете?
Примечание:
Объективно вопросу в заголовке ("как достигнут перенос?") соответствует поправка Ant1973, потому Л.О. отдаю ему. Всем спасибо за помощь!
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.