Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » HTML: нумерованный список с шрифтом текста

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла тут интересная задача.
 
Нужно было на HTML сверстать многоуровневый нумерованный список. Проблему решил довольно просто, в таблицу стилей добавил строки

Код:
ol>li{display:block;}
ol>li:before{content:counters(item,".") ". ";counter-increment:item;}
ol{counter-reset:item;}
 

Но следом задача немного усложнилась: добавилось требование, чтобы шрифт конкретного пункта был таким же, как и шрифт текста этого пункта. Т.е. если после номера пункта идет текст H2, то чтобы и номер пункта был хотя бы того же размера. И вот как решить эту задачу, в голову идей не приходит, как и подходящего гуглозапроса.
 
Дело усложняется тем, что часть текста задается через WYSIWYG редактор tinymce, который в штатном комплекте не применяет стили к конкретному пункту li. А заставлять юзеров каждый раз открывать HTML код, выискивать нужный фрагмент и плясать вокруг него бубен, как-то не хочется (ну или хочется оставить это как последний способ).
 
Что скажет уважаемый All, есть ли подобное решение? Браузерная платформа вполне современная: IE8+, FF14+, Chrome. Safari пока не наблюдал.

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 15:46 01-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZlydenGL
с помощью js, к примеру.

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 21:11 01-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii, я понимаю, что JS придется привлекать, но как собственно должна выглядеть инструкция? От чего отталкиваться? Или какой гуглозапрос строить?

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 08:10 02-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZlydenGL

Цитата:
но как собственно должна выглядеть инструкция

если jquery, то проще простого - перебрать li, вставить нумерацию, добавить к ней стиль.
а, возможно, и добавлять не нужно, если span с номером внутри li и стиль к нему применится

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 08:14 02-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
проще простого  
Милчел, АЛГОРИТМИЗАЦИЮ я же вроде не просил, правда? Я спрашивал про конкретные узловые точки: инструкции обработки, обращение к нужному элементу DOM, чтение параметров тега, следующего за <li>, и прочая, что может потребоваться. Тупо распарсить HTML страницу с последующим принудительным заданием свойства class тега li я могу и на onSave() повесить в любом программном языке, но хочется сделать красиво и on the fly.
 
Ответ воздухоплавателю, что он находится в корзине воздушного шара, несмотря на абсолютную корректность, мне нафиг не нужен.

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 10:03 02-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZlydenGL

Цитата:
Я спрашивал про конкретные узловые точки: инструкции обработки

приведите больше информаци (например как определяется
Цитата:
как и шрифт текста этого пункта.
), тогда будет конкретизация.  
пример дайте, где у вас текст идет по разному в разных элементах списка

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 10:56 02-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
например как определяется ... шрифт текста этого пункта
Если внимательно прочитать первое сообщение темы, то там есть ответ:

Цитата:
если после номера пункта идет текст H2, то чтобы и номер пункта был хотя бы того же размера


Цитата:
пример дайте, где у вас текст идет по разному в разных элементах списка
Не жалко

Код:
<li><h2>Второй заголовок</h2></li>
Если изначально задать стиль тега li идентичным тегу h2, то при h3 и тем более обычном тексте размеры номера опять же "поплывут".

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 15:33 02-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZlydenGL
ну, например..
http://jsfiddle.net/L7j15mdm/

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 20:19 02-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А, ну да, в сторону коллекции children() я что-то покопать не подумал Спасибо за подсказку!  
 
Хм, а без jquery никак? Только ради этого ее фреймворк имплантировать как-то не комильфо. Или прямо в WYSIWYG встроить, что ли...
 
Добавлено:
Кстати, наверное и без SPAN ведь обойтись можно? Ведь CSS свойства li тоже можно обыгрывать.

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 20:42 02-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZlydenGL

Цитата:
Хм, а без jquery никак?

только пример для небольшой вложенности.
 
ну а как лист будет знать какие у него "особенности" есть внутри и какие именно вы хотите использовать.
 
можно, конечно, вставлять нумерацию прямо в первого ребенка - тогда и стиль его будет наследоваться
 
пример - http://jsfiddle.net/L7j15mdm/1/

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 20:48 02-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все равно как-то нелогично ИМХО. Вместо переопределения свойств li мы его nullим, а между ним и текстом фигарим еще один span. Неспортивно как-то... Надо будет поковырять на досуге.

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 21:08 02-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZlydenGL

Цитата:
Надо будет поковырять на досуге

ок, найдете решение - отпишите )

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 21:09 02-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поскольку jQuery фреймворк ради всего одной задачи подключать не хочется, обошелся простой доработкой модуля onSave (вариант с JS разберу позже).
 
И сразу возник новый вопрос. В моем случае у нумерованных пунктов может быть 2 значения:
 
1. Если внутри есть тег <h> - то нумерация не должна отображаться вообще (ее я вставляю внутрь тега H)
2. Если внутри этого тега нет - выводим обычную нумерацию
 
Для этого в файле styles.css после строк первого сообщения добавил запись  
 

Код:
ol.nonumber { list-style-type: none; }

 
Соответственно HTML конструкция выглядит так:

Код:
<ol class="nonumber"><li><h1>1. Заголовок</h1>
<ol>
<li> Обычный список, пункт 1</li>
<li> Обычный список, пункт 2</li>
</ol>
</li><ol>

 
"Но не клюет!" (с) Т.е. нумерация прет для каждого элемента ol/li. ЧЯДНТ?

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 14:04 06-10-2014 | Исправлено: ZlydenGL, 14:15 06-10-2014
Mitia1973

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Зачем какой-то js? Нужное поведение работает по умолчанию http://codepen.io/_mitia_/pen/ymsev
Надо искать где перебиваются стили

Всего записей: 4 | Зарегистр. 06-02-2011 | Отправлено: 18:21 07-10-2014
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mitia1973, наводка интересная, но работает наоборот: мне-то надо присвоить стиль элементу li, наследовав его от вложенного текста. А с учетом того, что внутри li может храниться еще один контейнер ol/li со своим подкидным дураком и прелестницами - задача получается ОЧЧЧЕНЬ интересной

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4268 | Зарегистр. 22-06-2002 | Отправлено: 18:48 07-10-2014
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mitia1973

Цитата:
Зачем какой-то js?

ну я так понимаю, что автор не знает будет ли там h1, h2 или что то еще?
и где будет.. ему же нужен стиль ребенка.

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 20:52 07-10-2014 | Исправлено: Mavrikii, 20:52 07-10-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » HTML: нумерованный список с шрифтом текста


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru