Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№107-05-2011 12:19:25

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 4.0

Последняя версия Firefox странно читает неразрывные пробелы

Вот левый край текста для примера:

http://img12.imageshost.ru/img/2011/05/07/image_4dc4ff655f55d.jpg

Здесь красные строчки составлены из одинаковых рядов неразрывных пробелов типа &nbsр. Обычных пробелов в них нет. В другом браузере, да и в предыдущей версии этого же самого, они читались нормально, красные строчки выглядели ровными, равными друг другу.

У меня Windows XP, хотя вряд ли это важно.

Отредактировано Онторкс (07-05-2011 12:19:42)

Отсутствует

 

№207-05-2011 13:10:30

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 4.0
Веб-сайт

Re: Последняя версия Firefox странно читает неразрывные пробелы

Лучше бы ссылку на страницу


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№307-05-2011 13:23:01

ST
Участник
 
Группа: Members
Зарегистрирован: 18-09-2010
Сообщений: 67
UA: Aurora 5.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Онторкс пишет

Здесь красные строчки составлены из одинаковых рядов неразрывных пробелов типа &nbsр.

Для красной строки используйте следующую запись в css:
p {
text-indent: X px;
}
где X необходимій отступ в пикселях.

Отсутствует

 

№407-05-2011 13:25:24

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

ST пишет

Для красной строки используйте следующую запись в css:p { text-indent: X px;}где X необходимій отступ в пикселях.

Ну, здрасте. :rolleyes: Оригинально: везде, где я увижу эту проблему, советовать авторам страницы изменить манеру набора красной строки? Только потому, что какая-то новая версия некоего браузера не умеет распознавать старую манеру.

Отредактировано Онторкс (07-05-2011 13:25:50)

Отсутствует

 

№507-05-2011 13:25:47

luitzen
Участник
 
Группа: Members
Зарегистрирован: 19-07-2008
Сообщений: 791
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Наверное, там выравнивание по ширине. Вот неразрывный пробел и растягивается. Раньше вроде бы &nbsp в Firefox действительно был нерастяжимым…

Для «красных строк» используйте css-свойство text-indent, если есть возможность.

Отсутствует

 

№607-05-2011 13:26:25

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Lynn пишет

Лучше бы ссылку на страницу

Сейчас выберу что-нибудь нейтральное и по возможности чужое...

Ага, здесь

http://plumbax.livejournal.com/11312.html

Тот же эффект, если присмотреться.

Добавлено 07-05-2011 13:28:04

luitzen пишет

Наверное, там выравнивание по ширине. Вот неразрывный пробел и растягивается. Раньше вроде бы &nbsp в Firefox действительно был нерастяжимым…Для «красных строк» используйте css-свойство text-indent, если есть возможность.

Угу, спасибо. Надеюсь, в следующем патче устранят... :rolleyes:

Отредактировано Онторкс (07-05-2011 13:28:04)

Отсутствует

 

№707-05-2011 13:34:21

luitzen
Участник
 
Группа: Members
Зарегистрирован: 19-07-2008
Сообщений: 791
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Собственно, где сказано, что этот неразрывный пробел должен обрабатываться как нерастяжимый… А где-то высоко в Unicode пробельчики разной фиксированной ширины есть.

Отредактировано luitzen (07-05-2011 13:34:46)

Отсутствует

 

№807-05-2011 13:39:45

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

То есть "это не баг, а фича", ага. :rolleyes:
М-да... Понятненько...
:usch:

Отсутствует

 

№907-05-2011 13:52:56

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Но пока что читать неразрывные пробелы так попытался лишь один браузер из известных мне. :blush:

text-indent - интересно, но что-то я не понял, как этим делом пользоваться... Это обычные html-теги или как? В блогах они работают?

Отсутствует

 

№1007-05-2011 14:00:24

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Онторкс

text-indent - интересно, но что-то я не понял, как этим делом пользоваться... Это обычные html-теги или как? В блогах они работают?

Это CSS. Работает как-то так.

Отсутствует

 

№1107-05-2011 14:08:42

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

М-да. :music:

Буду надеяться, что Они всё же сочтут это багом. Хотя надежд на это мало, учитывая, что они - западники, а на Западе "красная строка" не используется.

Посёрфил тут гуглем - оказывается, проблема "красной строки" давно волнует многих, а быстрое удовлетворительное решение мало кому удалось найти. Неразрывные пробелы - один из вариантов, теперь для пользователей сверхновой Мозиллы отлетающий. Артём Белоглазов в своём пособии по HTML советовал ещё использовать комбинацию br/dd, но в блогах на liveinternet она не работает. Советовать всем, кто хочет писать с красной строкой, спешно изучать CSS, целую дисциплину?

Нет, ну я посмотрю, конечно. :cool:

Отсутствует

 

№1207-05-2011 20:11:07

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Последняя версия Firefox странно читает неразрывные пробелы

Онторкс
Лучше бы сделал тестовую страничку и код здесь в теме выложил. Фик знает чё там разное.
Что думают разрабы - смотри в багзилле.

Отсутствует

 

№1307-05-2011 21:27:27

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Онторкс

Советовать всем, кто хочет писать с красной строкой, спешно изучать CSS, целую дисциплину?

Это нужно тем, кто пишет сайты. В противном случае, максимум, что вы можете сделать — изменить отображение текста только на своём компьютере.

Отсутствует

 

№1410-05-2011 23:27:59

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771
UA: Nightly 6.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Вероятно, из-за исправления 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.

Отсутствует

 

№1510-05-2011 23:28:14

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771

Re: Последняя версия Firefox странно читает неразрывные пробелы

Тема перенесена из форума «Firefox» в форум «Разработка».


Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.

Отсутствует

 

№1612-05-2011 12:24:00

lazy_man
Участник
 
Группа: Members
Зарегистрирован: 05-03-2011
Сообщений: 106
UA: Firefox 4.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Онторкс пишет

Советовать всем, кто хочет писать с красной строкой, спешно изучать CSS, целую дисциплину?

Ну тем кто хочет писать можно посоветовать пользоваться Word.
А тем кто хочет писать в интернете, и чтобы тексты выглядели нормально то нужно помимо орфографии, грамматики и языка в целом. Еще знать и уметь применять специфический язык разметки в HTML и CSS.
Иначе получится каша...
Вам уже раньше написали,

ST пишет

Для красной строки используйте следующую запись в 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

Отсутствует

 

№1716-05-2011 10:35:28

Онторкс
Участник
 
Группа: Members
Зарегистрирован: 07-05-2011
Сообщений: 7
UA: Firefox 3.6

Re: Последняя версия Firefox странно читает неразрывные пробелы

В холиварах на тему "Специалисты vs Простые Люди" я не участвую. :music:

А по поводу того, является ли растяжимость неразрывных пробелов багом - я с самого начала заподозрил, что так было сделано, потому что кому-то другому для других ситуаций так было удобней, и Википедия подтвердила мою догадку.

Из изменений в версии 3.0
Изменена обработка неразрывных пробелов (U+00A0) в тексте, выровненном по обоим краям (justified): если раньше неразрывные пробелы расширялись точно так же, как и обычные пробелы (U+0020), то теперь неразрывные пробелы имеют фиксированную ширину (как в Internet Explorer). Это может значительно ухудшить вид текста, так как пробелы становятся неравномерными. Но «нерасширяемость» неразрывных пробелов может быть полезной, если они используются не по назначению — например, для создания отступа текста. Также неразрывные пробелы в полях ввода перестали заменяться на обычные.

Теперь они откатили это изменение вспять. При том, что Википедия подчёркивает преимущества обоих подходов. :rolleyes:

Совместимы ли они? Подумаем, какую цель обычно преследует неразрывный пробел в тех случаях, каковые имелись в виду разработчиками Firefox при этом откате. Соединить воедино неразрываемые слова, например, инициалы или части единого сокращения, наподобие "т. е." или "т. д". Для этого используется неразрывный пробел в одном экземпляре. Если же некто использует несколько неразрывных пробелов подряд, значит, ему нужен интервал заданной длины. С этой точки зрения растягивание комбинации из нескольких неразрывных пробелов является багом, насильственным редактированием задуманного пользователем текста, и желательно к исправлению. Замечу, что тут и правило предецента действует - все остальные браузеры не позволяют себе вольностей такого рода.

Казалось бы, вывод очевиден.

Сделать так, чтобы автоматически растягивался лишь один неразрывный пробел, а не несколько идущих подряд. Но я не знаю, насколько это технически осуществимо. :angry:


Да, по поводу CSS и всего остального - пустой разговор. В блогах эти навороченные теги не работают.

Отредактировано Онторкс (16-05-2011 10:36:05)

Отсутствует

 

№1816-05-2011 11:20:42

Lain_13
Забанен
 
Группа: Members
Откуда: Волшебная Страна
Зарегистрирован: 26-04-2006
Сообщений: 10320
UA: Nightly 6.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Онторкс
Неоднородность поведения элементов — худшее из всех известных мне зол. Если элемент ведёт себя так, то он везде и всегда должен вести себя так, а не иначе. Если, конечно, это не противоречит здравому смыслу и спецификации.
Неразрывный пробел должен быть либо всегда пропорционально растягивающимся, либо всегда фиксированной ширины. В виду того, что действительно ни где не сказано, что неразрывный пробел обязан быть фиксированной ширины и того, что он может встречаться в середине текста, он обязан быть пропорционально расширяемым.
Если кому-то приспичило использовать неразрывные пробелы не по-назначению, то они сами себе злые буратины. Использование чего угодно не по-назначению рано или поздно приводит к проблемам. Если сейчас корректно неразрывный пробел обрабатывает только Firefox это не значит, что это поведение снова нужно ломать в угоду совместимости с некорректной реализацией неразрывного пробела в других браузерах.

Если автор блога не предусмотрел добавление отступа в начале пользовательских сообщений — нефиг выпендриваться. Пишите как есть.
Если же кто-то хочет писать в своей уютненькой жежешечке с отступами — пусть добавит себе в стиль страницы необходимый CSS-код 1 раз и больше не мучает себя форматированием пробелами ибо это идиотизм. Редактировать CSS в LJ и многих других блогах на собственной странице давным-давно можно. Причём даже знать CSS для этого не нужно. Достаточно найти готовый пример и скопировать его себе в настройки. Но кто ж так будет делать если можно лупить тонны nbsp? Вот отсюда и проблема. Вместо того, что б делать 1 раз как надо куча дятлов делают каждый раз как не надо, а под них ещё и подстраиваться…

Кстати, в Google Chrome в статье http://plumbax.livejournal.com/11312.html отступы в начале текста тоже поплыли. :P

А это значит что? А это значит, что в двух из трёх самых популярных браузерах в мире (IE, Firefox, Chrome) неразрывный пробел наконец реализован правильно. Вот тебе и прецедент. Оперу на мировой арене можно не учитывать. Её там нет. Сафари, кстати, тоже (хоть Сафари и больше, чем оперы в 2-3 раза). Хотя как там ведёт себя nbsp я даже не проверял, скорее всего как в Хроме — движок общий, хоть каждый и пилил под себя.

Отредактировано Lain_13 (16-05-2011 11:58:50)

Отсутствует

 

№1919-08-2011 21:41:47

Zai
Участник
 
Группа: Members
Зарегистрирован: 25-03-2011
Сообщений: 4
UA: Foxware 0.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Есть очень простое решение для отбивки красных строк.

Без всяких записей в css типа:
p {
text-indent: X px;
}
где X необходимый отступ в пикселях.

Дело в том, что в этом случае каждый из абзацев отделяется один от другого пустой строкой на манер "западной" или слизанной с нее верстки...
А иногда так хочется написать по-русски: с отступом красной строки и без пустых строк между абзацами.
И при этом, чтобы все браузеры понимали разметку и не "тянули" отбивку красной строки при выключке по ширине, как в случае с неразрывными пробелами последними версиями FireFox или Google Chrome.

Решение следующее.
Вместо неразрывных пробелов используйте пробелы с фиксированной шириной.
Правильно использовать этот: &ensp;
Его понимают ВСЕ браузеры на всех ОС.
Количество подряд идущих таких пробелов определяет размер отступа.

Использовать фиксированный пробел &emsp; для красной строки не рекомендуется. Его назначение несколько другое (ставится, обычно, в конце строки, если, конечно, в этом есть какая то надобность). Да и Opera не читает отбивку красной строки этим пробелом.

Вот и все. Проще некуда...
Не нужно ни растянутых прозрачных gif-ов 1х1; ни набитого текста под цвет фона в области отбивки красной строки; ни неразрывных пробелов, то тянущихся, то нет, при выключке по ширине, в зависимости от браузера; ни css с его иногда "нерусской версткой" (см. выше).

&ensp;  — оцените это решение.

Отредактировано Zai (20-08-2011 10:13:36)

Отсутствует

 

№2020-08-2011 02:09:07

Sid
Участник
 
Группа: Extensions
Зарегистрирован: 10-05-2007
Сообщений: 5676
UA: Nightly 9.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Zai пишет

А иногда так хочется написать по-русски: с отступом красной строки и без пустых строк между абзацами.

Выделить код

Код:

p {
  text-indent: 2em;
  margin: 0 auto;
}

Отсутствует

 

№2120-08-2011 17:02:07

Zai
Участник
 
Группа: Members
Зарегистрирован: 25-03-2011
Сообщений: 4
UA: Foxware 0.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Sid пишет
Zai пишет

А иногда так хочется написать по-русски: с отступом красной строки и без пустых строк между абзацами.

Выделить код

Код:

p {
  text-indent: 2em;
  margin: 0 auto;
}

Код работает...
Но, приходится обрамлять каждый абзац!
А если в пределах страницы еще и разное форматирование: и по выравниванию, и по пропускам между абзацами (иногда, такое бывает нужно: то есть пустая строка, то нет) и т. п., то все становится достаточно мудрено...
А тут просто вставил нужное число пробелов для красной строки, если нужно, и все.
А если не нужно (например, для первого абзаца), то не вставил.
Главное, что отступ из пробелов с фиксированной шириной очень корректно работает в разных браузерах при любых ОС.

Не нужно фиксированную ширину требовать от неразрывного пробела — у него другие функции.
Для рассматриваемого случая нужен как раз пробел по умолчанию с фиксированной шириной - &ensp;

Отредактировано Zai (20-08-2011 17:33:41)

Отсутствует

 

№2220-08-2011 17:27:00

Sid
Участник
 
Группа: Extensions
Зарегистрирован: 10-05-2007
Сообщений: 5676
UA: Nightly 9.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Zai пишет

А если не нужно (например, для первого абзаца), то не вставил.

Тоже не проблема.

Выделить код

Код:

p:first-child {
  text-indent: 0;
}

CSS очень гибкий, в отличие от решения с пробелами.

Отсутствует

 

№2320-08-2011 17:37:17

Tiger.711
&#8204;
 
Группа: Extensions
Откуда: из Лесу
Зарегистрирован: 30-07-2010
Сообщений: 7975
UA: Nightly 9.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Напоминает спор сисадмина с секретарём.
Сисадмин, работая в M$ Word предпочитает один раз настроить все отступы и границы, сохранить шаблон, а уже потом печатать; секретарь же будет выравнивать каждую строчку и выставлять абзацы пробелами.
С точки зрения конечного пользователя, прочитающего документ на бумаге, разницы между их версиями не будет никакой (:

P.S.: Разумеется, я не хотел обидеть ни одного из участников дискуссии. Суть моих слов заключается в последней строчке.


Большой кот... Пуфыстый... Полосатый... Зубастый (:

Отсутствует

 

№2421-08-2011 09:35:36

Zai
Участник
 
Группа: Members
Зарегистрирован: 25-03-2011
Сообщений: 4
UA: Foxware 0.0

Re: Последняя версия Firefox странно читает неразрывные пробелы

Tiger.711 пишет

Напоминает спор сисадмина с секретарём.
Сисадмин, работая в M$ Word предпочитает один раз настроить все отступы и границы, сохранить шаблон, а уже потом печатать; секретарь же будет выравнивать каждую строчку и выставлять абзацы пробелами.
С точки зрения конечного пользователя, прочитающего документ на бумаге, разницы между их версиями не будет никакой (:

P.S.: Разумеется, я не хотел обидеть ни одного из участников дискуссии. Суть моих слов заключается в последней строчке.

Спасибо, Tiger.711
Подмечено правильно...

На самом деле, развивая эту затухшую три месяца назад ветку форума, я преследовал конкретную цель.
Хотелось бы получить конструктивные замечания разработчиков или пользователей по тем или иным проблемам (глюкам), возникающим при использовании пробела с фиксированной шириной для отбивки красной строки в абзацах (&ensp;). Тема актуальна в первую очередь при форматировании "justify;".
Мне это необходимо для конкретных разработок.

Пока же, уяснил для себя следующее.
1) Пробелы с фиксированной шириной корректно, т. е. именно как пробелы, определяются всеми поисковиками (информация из Сети, с форумов, из методических рекомендаций).
2) Практически все браузеры на разных ОС правильно определяют пробелы с фиксированной шириной. Даже самые экзотические (проверено на http://browsershots.org/)
Исключение только для некоторых СТАРЫХ версий Opera, где эти пробелы в начале красной строки браузер не понимает (т. е. строка не отбивается). Также в одной из старых версий (9.80) замечено появление квадратиков вместо пробелов с фиксированной шириной. Этот баг обсужден на многих форумах (применительно к другим вопросам) и в современных версиях Opera исправлен.

Поэтому, буду признателен, если кто-либо расскажет о действительно некорректном показе текста с отбитой красной строкой пробелом с фиксированной шириной в тех или иных условиях, на сайтах, форумах и т. п.

Отредактировано Zai (21-08-2011 11:42:00)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]