Potrzebuję javascript, aby wykryć każdą zawiniętą linię tekstu przeglądarki i zawinąć ją w <span class="line">
.Wykrywanie linii zawijanych przeglądarki za pomocą javascript
Natknąłem się na artykuły mówiące o pomiarze osi Y każdego słowa, ale nie widziałem solidnego rozwiązania.
Oto, co mam do tej pory. Zobacz go na Jsfiddle.
HTML
<div class="inline-bg">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec cursus condimentum metus, et placerat augue rutrum vitae. Donec arcu lorem, eleifend at elementum eget, consectetur vel lacus. Nam euismod iaculis varius. Phasellus sed dui diam. Nullam facilisis, diam sit amet sagittis cursus, metus tortor gravida erat, ut fringilla risus ipsum eu nisl.</div>
JS/jQuery
(function($){
$.fn.inlinebackground = function() {
$.each(this, function(i,t) {
var split = $(t).html().split(' ');
var output = '';
$.each(split, function(i,o){
output += '<span class="line">'+o+'</span>';
if (i < (split.length - 1)) {
output += '<br>';
}
});
$(t).html(output);
});
}
})(jQuery);
/* End Plugin Code */
// Run the plugin on .news-caption
$(function(){
$('.inline-bg').inlinebackground();
});
CSS
.inline-bg { width: 200px; line-height:3em; }
.inline-bg span.line { background-color: black; color: white; padding: 15px; }
Dzięki za odpowiedź. Nie zawija ostatniego słowa z twojego przykładu ... lub jeśli istnieje tylko jedno słowo. – timofey
Nie wiesz, gdzie widzisz ostatnie słowo, nie owijane. Nigdy nie myślałem o jednym słowie. Będę musiał dokonać zmian jutro jest późna noc tutaj. Również ... jakiej przeglądarki? Nie sprawdziłem tej przeglądarki krzyżowej ... to bardzo wczesne etapy i prawdopodobnie będę potrzebował korekt – charlietfl
Jestem w chromie, ale tak jest we wszystkich przeglądarkach.Spójrz na źródło html na twoim przykładzie na jsfiddle. – timofey