Обсуждение шаблона:---

Содержимое страницы недоступно на других языках.
Материал из Викитеки — свободной библиотеки

Описание проблемы:

Параметр align (в виде align=center) не работает в Firefox, Safari (IOS). Ни в виде значения, используемого по-умолчанию, ни в явно указанном виде. Причина: стилевой параметр text-align не должен действовать на блоковые элементы, которым является hr. Работоспособность выравнивания в IE - результат неправильного следования IE в этом месте стандарту.

Исправление:

Поскольку параметр align у hr является deprecated, то такая реализация не использована, а элемент hr обернут в div. Идея реализации взята из кода шаблона Rule в en.wikisource, адаптирована к реализации этого шаблона.

Исправление проверено в IE, Firefox, Safari (IOS). Проверьте в других браузерах. Hinote (обсуждение) 21:13, 11 сентября 2012 (UTC)[ответить]

P.S. Автоподтверждение с исправления снял, т.к. шаблон является часто используемым (считаю не вправе такую важную правку в таком часто используемом шаблоне утверждать самому). Проверяйте на отстутсвие проблем в реализации и ставьте подтверждение. Кстати, неплохо было бы его защитить... Hinote (обсуждение) 21:16, 11 сентября 2012 (UTC)[ответить]

В IE 9.0 не работает ни align=left, ни align=right (всё равно показывает по центру). -- Sergey kudryavtsev (обсуждение) 14:18, 12 сентября 2012 (UTC)[ответить]
А в Chrome 21.0 работают все три выравнивания. Вечером смогу проверить в IE 8.0. -- Sergey kudryavtsev (обсуждение) 14:22, 12 сентября 2012 (UTC)[ответить]
Хехе, в IE9 и шаблон Rule из en.wikisource не работает, как оказалось... (я тут когда проверял работу правок ошибся -- в IE заходил не под участником, и он мне не показывал работу моих правок, как оказалось...). Заметил еще ошибку в работе шаблона -- такое ощущение, при для всех размеров используется не em или ex, а пиксели или поинты. Ибо 160em -- это должно быть в ширину 160 букв М, т.е. намного шире, чем сейчас... И относительно отбивки в 5ex то же -- это должно быть 5 ростов букв (если будет исправлено тут поведение, то это значение по-умолчанию надо будет определенно убавить, до 1ex например, т.е. до примерно текущего используемого (неправильного значения) отбивки снизу и сверху -- т.к. 5 высот это все-таки перебор для умолчания... Итого, выходит что align для div тоже не работает как надо. Возможно надо убрать все эти параметры (по-крайней мере align неработающий вообще) и определить центровку для hr в css, только так, чтобы она работала не только в Firefox. Ибо все-таки основное использование этого шаблона -- тогда, когда нужна линия по центру, а не слева... Hinote (обсуждение) 18:09, 12 сентября 2012 (UTC)[ответить]
Если я ничего не путаю, для выравнивания блоков по центру в CSS можно использовать свойства margin-left и margin-right со значеним auto. — Lozman (talk) 19:25, 12 сентября 2012 (UTC)[ответить]


Про margin-* пока не знаю, спасибо, а вот эти примеры работают (выравнивание) в Firefox и в IE (на идею наткнулся где-то в дебрях справки en.wikipedia):


test

{|align="left" width=70%
|-
| <hr>
|}


test 

{|align="center" width=12em
|-
| <hr>
|}


test 

{|align="right" width=70%
|-
| <hr>
|}

Особенности такой реализации:

  • для ширины, как видно, все-равно работают только % и px. Как и в текущей реализации. em у атрибута width трактуется как px (12em в примере выше -- работает не как 12em, а как 12px). Предлагаю и в текущей реализации убрать упоминание о ширине в em, оставить только % и px, а по-умолчанию сделать, скажем, 15% или 20%.
  • почему то после таблицы надо добавлять больше чем 1 пустая строка для начала абзаца. Иначе прилепляется справа от таблицы (т.е. от гориз. разделителя), но не всегда. При реализации, надо отразить это в шаблоне, чтобы при пользовании не надо было об этом заботиться...

Hinote (обсуждение) 19:58, 12 сентября 2012 (UTC)[ответить]

А почему ширина перестала работать? Я откатил изменения Hinote, но это не исправило ситуацию, хотя до недавнего времени ширина управлялась, как в моём варианте, так и в варианте Hinote . -- Sergey kudryavtsev (обсуждение) 13:09, 24 сентября 2012 (UTC)[ответить]

Очевидно, атрибут width тоже перестал поддерживаться как deprecated. Мой экспресс-тест показал, что из трех примеров:
 <hr width=20% align=center />

 <hr style="width:20ex;text-align:center;" />

 <hr style="width:20ex;margin:1em auto;" />
 
линия выравнивается по центру во всех трех случаях только в Опере 12. Но третий пример одинаково центрируется и в остальных браузерах (Firefox 15, Chrome 21, IE8, Safari 5 — на других не имел возможности проверить). Думаю, нужно применить именно этот способ. — Lozman (talk) 17:17, 24 сентября 2012 (UTC)[ответить]
Исправил, прошу тестировать. У меня во всех 5 браузерах работает идентично. — Lozman (talk) 18:39, 24 сентября 2012 (UTC)[ответить]
В IE 9.0 и в Google Chrome 21.0 не работает параметр width. Полоса показывается во всю ширину, за исключением случая, когда параметр width не указан (тогда ширина становится значительно больше 40em). -- Sergey kudryavtsev (обсуждение) 11:02, 25 сентября 2012 (UTC)[ответить]
У меня в Хроме работает. Может, дело в том, что нужно указывать единицы измерения или проценты? Width=20 не работает, а width=20% (20em, 20px, 20cm…) — пожалуйста. — Lozman (talk) 11:33, 25 сентября 2012 (UTC)[ответить]
Я указываю {{---|width=100em}}:

Но ширина линии получается больше ширины родительского тега (примерно 25 см на моём 19 дюймовом экране) из-за чего даже получается горизонтальный скроллер. Примеры на страничке документации работают не правильно линия в 80em едва влезает на экран, а линия в 160em уже не влезает. В общем-то реальная ширина пропорциональна значению параметра width, но исчисляется в каких-то гигантских em'ах... -- Sergey kudryavtsev (обсуждение) 13:14, 25 сентября 2012 (UTC)[ответить]
А вот ширина в сантиметрах {{---|width=2cm}} или в милиметрах {{---|width=2mm}} похожа на истину. -- Sergey kudryavtsev (обсуждение) 13:27, 25 сентября 2012 (UTC)[ответить]
1em равен высоте буквы M в данном шрифте, а это примерно вдвое больше средней ширины символа (которой соответствует 1ex). У меня на экране (тоже 19-дюймовом) в строке помещается примерно 160 символов, т.е. всего около 80em, так что все нормально. — Lozman (talk) 13:32, 25 сентября 2012 (UTC)[ответить]
+ теперь значение width=число рассматривается как указанное в px (для совместимости со старым атрибутом width). — Lozman (talk) 13:49, 25 сентября 2012 (UTC)[ответить]
Проведя ряд экспериментов и сравнив линии разной ширины в различных единицах, должен признать, что ошибался — длина и выравнивание управляются правильно. -- Sergey kudryavtsev (обсуждение) 10:23, 28 сентября 2012 (UTC)[ответить]