Страницы: 1
Вот левый край текста для примера:
http://img12.imageshost.ru/img/2011/05/07/image_4dc4ff655f55d.jpg
Здесь красные строчки составлены из одинаковых рядов неразрывных пробелов типа &nbsр. Обычных пробелов в них нет. В другом браузере, да и в предыдущей версии этого же самого, они читались нормально, красные строчки выглядели ровными, равными друг другу.
У меня Windows XP, хотя вряд ли это важно.
Отредактировано Онторкс (07-05-2011 12:19:42)
Отсутствует
Здесь красные строчки составлены из одинаковых рядов неразрывных пробелов типа &nbsр.
Для красной строки используйте следующую запись в css:
p {
text-indent: X px;
}
где X необходимій отступ в пикселях.
Отсутствует
Для красной строки используйте следующую запись в css:p { text-indent: X px;}где X необходимій отступ в пикселях.
Ну, здрасте. Оригинально: везде, где я увижу эту проблему, советовать авторам страницы изменить манеру набора красной строки? Только потому, что какая-то новая версия некоего браузера не умеет распознавать старую манеру.
Отредактировано Онторкс (07-05-2011 13:25:50)
Отсутствует
Наверное, там выравнивание по ширине. Вот неразрывный пробел и растягивается. Раньше вроде бы   в Firefox действительно был нерастяжимым…
Для «красных строк» используйте css-свойство text-indent, если есть возможность.
Отсутствует
Лучше бы ссылку на страницу
Сейчас выберу что-нибудь нейтральное и по возможности чужое...
Ага, здесь
http://plumbax.livejournal.com/11312.html
Тот же эффект, если присмотреться.
Добавлено 07-05-2011 13:28:04
Наверное, там выравнивание по ширине. Вот неразрывный пробел и растягивается. Раньше вроде бы   в Firefox действительно был нерастяжимым…Для «красных строк» используйте css-свойство text-indent, если есть возможность.
Угу, спасибо. Надеюсь, в следующем патче устранят...
Отредактировано Онторкс (07-05-2011 13:28:04)
Отсутствует
Собственно, где сказано, что этот неразрывный пробел должен обрабатываться как нерастяжимый… А где-то высоко в Unicode пробельчики разной фиксированной ширины есть.
Отредактировано luitzen (07-05-2011 13:34:46)
Отсутствует
Но пока что читать неразрывные пробелы так попытался лишь один браузер из известных мне.
text-indent - интересно, но что-то я не понял, как этим делом пользоваться... Это обычные html-теги или как? В блогах они работают?
Отсутствует
Онторкс
text-indent - интересно, но что-то я не понял, как этим делом пользоваться... Это обычные html-теги или как? В блогах они работают?
Это CSS. Работает как-то так.
Отсутствует
М-да.
Буду надеяться, что Они всё же сочтут это багом. Хотя надежд на это мало, учитывая, что они - западники, а на Западе "красная строка" не используется.
Посёрфил тут гуглем - оказывается, проблема "красной строки" давно волнует многих, а быстрое удовлетворительное решение мало кому удалось найти. Неразрывные пробелы - один из вариантов, теперь для пользователей сверхновой Мозиллы отлетающий. Артём Белоглазов в своём пособии по HTML советовал ещё использовать комбинацию br/dd, но в блогах на liveinternet она не работает. Советовать всем, кто хочет писать с красной строкой, спешно изучать CSS, целую дисциплину?
Нет, ну я посмотрю, конечно.
Отсутствует
Онторкс
Лучше бы сделал тестовую страничку и код здесь в теме выложил. Фик знает чё там разное.
Что думают разрабы - смотри в багзилле.
Отсутствует
Онторкс
Советовать всем, кто хочет писать с красной строкой, спешно изучать CSS, целую дисциплину?
Это нужно тем, кто пишет сайты. В противном случае, максимум, что вы можете сделать — изменить отображение текста только на своём компьютере.
Отсутствует
Вероятно, из-за исправления Bug 541189 - For Justified Text, Non-Breaking Spaces Do Not Expand
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Тема перенесена из форума «Firefox» в форум «Разработка».
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Советовать всем, кто хочет писать с красной строкой, спешно изучать CSS, целую дисциплину?
Ну тем кто хочет писать можно посоветовать пользоваться Word.
А тем кто хочет писать в интернете, и чтобы тексты выглядели нормально то нужно помимо орфографии, грамматики и языка в целом. Еще знать и уметь применять специфический язык разметки в HTML и CSS.
Иначе получится каша...
Вам уже раньше написали,
Для красной строки используйте следующую запись в css:
p {
text-indent: X px;
}
где X необходимій отступ в пикселях.
Единственное что от себя добавлю так это то что этот код прописывется или в CSS файле или в
<head> <title>text-indent</title> <style type="text/css"> P { text-indent: 1.5em; /* Отступ первой строки */ text-align: justify; /* Выравнивание по ширине */ } </style> </head> <body>
И самый лучший справочник это htmlbook.ru
И вот пример
http://htmlbook.ru/css/text-indent
Отсутствует
В холиварах на тему "Специалисты vs Простые Люди" я не участвую.
А по поводу того, является ли растяжимость неразрывных пробелов багом - я с самого начала заподозрил, что так было сделано, потому что кому-то другому для других ситуаций так было удобней, и Википедия подтвердила мою догадку.
Из изменений в версии 3.0
Изменена обработка неразрывных пробелов (U+00A0) в тексте, выровненном по обоим краям (justified): если раньше неразрывные пробелы расширялись точно так же, как и обычные пробелы (U+0020), то теперь неразрывные пробелы имеют фиксированную ширину (как в Internet Explorer). Это может значительно ухудшить вид текста, так как пробелы становятся неравномерными. Но «нерасширяемость» неразрывных пробелов может быть полезной, если они используются не по назначению — например, для создания отступа текста. Также неразрывные пробелы в полях ввода перестали заменяться на обычные.
Теперь они откатили это изменение вспять. При том, что Википедия подчёркивает преимущества обоих подходов.
Совместимы ли они? Подумаем, какую цель обычно преследует неразрывный пробел в тех случаях, каковые имелись в виду разработчиками Firefox при этом откате. Соединить воедино неразрываемые слова, например, инициалы или части единого сокращения, наподобие "т. е." или "т. д". Для этого используется неразрывный пробел в одном экземпляре. Если же некто использует несколько неразрывных пробелов подряд, значит, ему нужен интервал заданной длины. С этой точки зрения растягивание комбинации из нескольких неразрывных пробелов является багом, насильственным редактированием задуманного пользователем текста, и желательно к исправлению. Замечу, что тут и правило предецента действует - все остальные браузеры не позволяют себе вольностей такого рода.
Казалось бы, вывод очевиден.
Сделать так, чтобы автоматически растягивался лишь один неразрывный пробел, а не несколько идущих подряд. Но я не знаю, насколько это технически осуществимо.
Да, по поводу CSS и всего остального - пустой разговор. В блогах эти навороченные теги не работают.
Отредактировано Онторкс (16-05-2011 10:36:05)
Отсутствует
Онторкс
Неоднородность поведения элементов — худшее из всех известных мне зол. Если элемент ведёт себя так, то он везде и всегда должен вести себя так, а не иначе. Если, конечно, это не противоречит здравому смыслу и спецификации.
Неразрывный пробел должен быть либо всегда пропорционально растягивающимся, либо всегда фиксированной ширины. В виду того, что действительно ни где не сказано, что неразрывный пробел обязан быть фиксированной ширины и того, что он может встречаться в середине текста, он обязан быть пропорционально расширяемым.
Если кому-то приспичило использовать неразрывные пробелы не по-назначению, то они сами себе злые буратины. Использование чего угодно не по-назначению рано или поздно приводит к проблемам. Если сейчас корректно неразрывный пробел обрабатывает только Firefox это не значит, что это поведение снова нужно ломать в угоду совместимости с некорректной реализацией неразрывного пробела в других браузерах.
Если автор блога не предусмотрел добавление отступа в начале пользовательских сообщений — нефиг выпендриваться. Пишите как есть.
Если же кто-то хочет писать в своей уютненькой жежешечке с отступами — пусть добавит себе в стиль страницы необходимый CSS-код 1 раз и больше не мучает себя форматированием пробелами ибо это идиотизм. Редактировать CSS в LJ и многих других блогах на собственной странице давным-давно можно. Причём даже знать CSS для этого не нужно. Достаточно найти готовый пример и скопировать его себе в настройки. Но кто ж так будет делать если можно лупить тонны nbsp? Вот отсюда и проблема. Вместо того, что б делать 1 раз как надо куча дятлов делают каждый раз как не надо, а под них ещё и подстраиваться…
Кстати, в Google Chrome в статье http://plumbax.livejournal.com/11312.html отступы в начале текста тоже поплыли.
А это значит что? А это значит, что в двух из трёх самых популярных браузерах в мире (IE, Firefox, Chrome) неразрывный пробел наконец реализован правильно. Вот тебе и прецедент. Оперу на мировой арене можно не учитывать. Её там нет. Сафари, кстати, тоже (хоть Сафари и больше, чем оперы в 2-3 раза). Хотя как там ведёт себя nbsp я даже не проверял, скорее всего как в Хроме — движок общий, хоть каждый и пилил под себя.
Отредактировано Lain_13 (16-05-2011 11:58:50)
Отсутствует
Есть очень простое решение для отбивки красных строк.
Без всяких записей в css типа:
p {
text-indent: X px;
}
где X необходимый отступ в пикселях.
Дело в том, что в этом случае каждый из абзацев отделяется один от другого пустой строкой на манер "западной" или слизанной с нее верстки...
А иногда так хочется написать по-русски: с отступом красной строки и без пустых строк между абзацами.
И при этом, чтобы все браузеры понимали разметку и не "тянули" отбивку красной строки при выключке по ширине, как в случае с неразрывными пробелами последними версиями FireFox или Google Chrome.
Решение следующее.
Вместо неразрывных пробелов используйте пробелы с фиксированной шириной.
Правильно использовать этот:  
Его понимают ВСЕ браузеры на всех ОС.
Количество подряд идущих таких пробелов определяет размер отступа.
Использовать фиксированный пробел   для красной строки не рекомендуется. Его назначение несколько другое (ставится, обычно, в конце строки, если, конечно, в этом есть какая то надобность). Да и Opera не читает отбивку красной строки этим пробелом.
Вот и все. Проще некуда...
Не нужно ни растянутых прозрачных gif-ов 1х1; ни набитого текста под цвет фона в области отбивки красной строки; ни неразрывных пробелов, то тянущихся, то нет, при выключке по ширине, в зависимости от браузера; ни css с его иногда "нерусской версткой" (см. выше).
  — оцените это решение.
Отредактировано Zai (20-08-2011 10:13:36)
Отсутствует
А иногда так хочется написать по-русски: с отступом красной строки и без пустых строк между абзацами.
Отсутствует
Zai пишетА иногда так хочется написать по-русски: с отступом красной строки и без пустых строк между абзацами.
Код работает...
Но, приходится обрамлять каждый абзац!
А если в пределах страницы еще и разное форматирование: и по выравниванию, и по пропускам между абзацами (иногда, такое бывает нужно: то есть пустая строка, то нет) и т. п., то все становится достаточно мудрено...
А тут просто вставил нужное число пробелов для красной строки, если нужно, и все.
А если не нужно (например, для первого абзаца), то не вставил.
Главное, что отступ из пробелов с фиксированной шириной очень корректно работает в разных браузерах при любых ОС.
Не нужно фиксированную ширину требовать от неразрывного пробела — у него другие функции.
Для рассматриваемого случая нужен как раз пробел по умолчанию с фиксированной шириной -  
Отредактировано Zai (20-08-2011 17:33:41)
Отсутствует
А если не нужно (например, для первого абзаца), то не вставил.
Тоже не проблема.
CSS очень гибкий, в отличие от решения с пробелами.
Отсутствует
Напоминает спор сисадмина с секретарём.
Сисадмин, работая в M$ Word предпочитает один раз настроить все отступы и границы, сохранить шаблон, а уже потом печатать; секретарь же будет выравнивать каждую строчку и выставлять абзацы пробелами.
С точки зрения конечного пользователя, прочитающего документ на бумаге, разницы между их версиями не будет никакой (:
P.S.: Разумеется, я не хотел обидеть ни одного из участников дискуссии. Суть моих слов заключается в последней строчке.
Большой кот... Пуфыстый... Полосатый... Зубастый (:
Отсутствует
Напоминает спор сисадмина с секретарём.
Сисадмин, работая в M$ Word предпочитает один раз настроить все отступы и границы, сохранить шаблон, а уже потом печатать; секретарь же будет выравнивать каждую строчку и выставлять абзацы пробелами.
С точки зрения конечного пользователя, прочитающего документ на бумаге, разницы между их версиями не будет никакой (:P.S.: Разумеется, я не хотел обидеть ни одного из участников дискуссии. Суть моих слов заключается в последней строчке.
Спасибо, Tiger.711
Подмечено правильно...
На самом деле, развивая эту затухшую три месяца назад ветку форума, я преследовал конкретную цель.
Хотелось бы получить конструктивные замечания разработчиков или пользователей по тем или иным проблемам (глюкам), возникающим при использовании пробела с фиксированной шириной для отбивки красной строки в абзацах ( ). Тема актуальна в первую очередь при форматировании "justify;".
Мне это необходимо для конкретных разработок.
Пока же, уяснил для себя следующее.
1) Пробелы с фиксированной шириной корректно, т. е. именно как пробелы, определяются всеми поисковиками (информация из Сети, с форумов, из методических рекомендаций).
2) Практически все браузеры на разных ОС правильно определяют пробелы с фиксированной шириной. Даже самые экзотические (проверено на http://browsershots.org/)
Исключение только для некоторых СТАРЫХ версий Opera, где эти пробелы в начале красной строки браузер не понимает (т. е. строка не отбивается). Также в одной из старых версий (9.80) замечено появление квадратиков вместо пробелов с фиксированной шириной. Этот баг обсужден на многих форумах (применительно к другим вопросам) и в современных версиях Opera исправлен.
Поэтому, буду признателен, если кто-либо расскажет о действительно некорректном показе текста с отбитой красной строкой пробелом с фиксированной шириной в тех или иных условиях, на сайтах, форумах и т. п.
Отредактировано Zai (21-08-2011 11:42:00)
Отсутствует
Страницы: 1