Pull to refresh

Плагин для выделения последней строки

Reading time1 min
Views3.2K
В моей текущей задаче нужно было расположить текст по ширине с выравниванием последней строки по центру. Решением могло быть CSS свойство text-align-last, но оно поддерживается только в Internet Explorer'е. Поиск подобных плагинов JQuery не дал результатов, поэтому был написан свой.

Готовый плагин я выложил сюда

Пример использования


$(selector).lastLine({
   'display':'block',
   'text-align':'center'
});

Как видно из примера, в качестве параметра передаётся CSS для последней строки.


Дополнительные опции


endLineTag — Имя тега для распорки. По умолчанию «div».
endLineClass — Имя класса для распорки. По умолчанию «endLine».
lastLineTag — Имя тега для последней строки. По умолчанию «span».
lastLineClass — Имя класса для последней строки. По умолчанию «spanLastLine».
anchorPrefix — Префикс класса для якоря, на случай конфликтов. По умолчанию «an». Имя класса всегда случайное. Префикс+случайное число от 0 до 100000.

Пример

Нам нужно у всех абзацев обернуть последнюю строку в DIV с классом LastLineOfP:
$("p").lastLine({},{
      'lastLineClass':'LastLineOfP',
      'lastLineTag':'div'
});


UPDATE
Сделав работу над ошибками добавил в плагин следующее:
  1. Поиск последней строки идет путем добавления якоря с конца текста, а не перебором слов. Спасибо, egorinsk
  2. Идет определение приблизительной ширины колонки. Нужно чтоб поставить правильную распорку. (Нужна оптимизация)
  3. Если последней строке указать выравнивание по ширине, то так оно и будет. Спасибо Dmitry_f за пример.
  4. Если конец строки находится внутри другого объекта, например в span, то этот объект закрывается.
  5. Изменился синтаксис использования плагина, появились настройки.
Tags:
Hubs:
+15
Comments54

Articles