5

css や jQuery を使用してテキストを div で囲み、最終行が最も長くなるようにしようとしています。

そうではなく

__________
|this is |
|text    |
|________|

それは言うだろう

__________
|this    |
|is text |
|________|

を使用してテキストを簡単にラップできます

    white-space: pre-wrap;

しかし、私はこれを可能にするものを見つけることができません。

(テキストを反転し、行の折り返しが発生する場所を見つけ<br/>、同じ場所に a を適用し、テキストを進めたいと思っていました..しかし、行の折り返しを確認する方法がわかりません)

4

2 に答える 2

1

彼らはベーコンと呼ばれるjqueryのプラグインです

これを使用すると、必要に応じて任意の形でテキストを折り返すことができます。それに対して何かを行う必要があることはわかっていますが、役立つと思います。

$(".baconMe").bacon({
    'type' : 'bezier',
    'c1' : { x : 10,        y : 0  },
    'c2' : { x : -115,      y : 170 },
    'c3' : { x : 35,        y : 340 },
    'c4' : { x : 15,        y : 480 },
    'align'  : 'right'
}
于 2012-05-20T07:10:53.110 に答える
0

私は結局、逆に改行がどこにあるかを確認してから、それに応じて挿入するというルートを取りました。私の機能を自由に使ってください。この関数は、jQuery 要素 (すでに折り返されているテキストを含む) を受け入れ、そのテキストを上向きに再折り込みします。

function wrapUp(element){
    width = element.width();
    string = element.text().split(' ');
    element.text('');
    reversed = string.reverse();
    var height = 0;
    for (var i=0;i<reversed.length;i++){
        reversed[i] += ' ';
        element.text(element.text()+reversed[i]);
        if (height != element.height()){
            reversed.splice(i,0,"<br/>");
            i++;
        }
        height = element.height();
        console.log(element.height());
    }
    element.html(reversed.reverse().join(''));
}
于 2012-05-20T20:04:56.000 に答える