2012-05-20 14 views
5

Estoy tratando de ajustar texto en un div usando css y/o jQuery de manera que el resultado final sea el más largo.texto de ajuste de jquery/css de abajo a arriba

tan más bien que

__________ 
|this is | 
|text | 
|________| 

diría

__________ 
|this | 
|is text | 
|________| 

puedo envolver fácilmente el texto usando

white-space: pre-wrap; 

Pero no puedo encontrar nada de lo que me impedía hacer esta.

(lo único que pensé era invertir el texto, encontrar dónde ocurre el ajuste de línea, aplicar un <br/> en los mismos lugares, con el texto en el futuro ... pero no sé cómo comprobar dónde se ajusta la línea)

+0

Un duplicado más moderno es http://stackoverflow.com/questions/22423951/wrap-text-from-bottom-to-top. –

Respuesta

0

Terminé tomando la ruta, invirtiendo, comprobando dónde estaban los saltos de línea, y luego insertándolos en consecuencia. Por favor, siéntete libre de usar mi función. Esta función acepta un elemento jQuery (con texto que ya se ajusta) y vuelve a envolver su texto hacia arriba.

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('')); 
} 
+1

¿Cómo está probando los saltos de línea? – vol7ron

+0

Básicamente, lo que hace esta función es tomar el contenedor, eliminarlo, colocarlo uno a la vez, comenzando por el último. Comprueba si la altura del contenedor cambia después de cada inserción, donde sea que la altura cambie, debe haber un salto de línea. Por lo tanto, recuerda dónde deben ir los saltos de línea y los coloca de acuerdo con el texto no invertido. – BananaNeil

1

su es un plugin de jQuery llamado bacon

con esto se puede ajustar el texto de acuerdo a sus necesidades en cualquier forma que desee, sé que tiene que hacer una cosa sobre él, pero creo que puede ayudarle.

$(".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' 
} 
+0

Lo siento, lo intenté, pero realmente no pude hacer que esto funcionara. – BananaNeil

+0

En primer lugar, no veo cómo esto podría funcionar para lo que estoy buscando. Quiero que el texto se ajuste de abajo hacia arriba, dejando que la línea superior sea la más corta, no una forma (no puedo hacer un caso especial, porque este podría ser cualquier cosa). En segundo lugar, terminé descifrando la forma de escribir una respuesta correcta y la publiqué a continuación. En tercer lugar, traté de aplicar una línea recta con una pendiente negativa, hizo que mi texto fuera invisible, traté de solucionar problemas, pero no sabía cómo estaba tratando de hacerlo (y la documentación no está a la altura), así que me di por vencida. y escribió el mío – BananaNeil

Cuestiones relacionadas