Sé que puede usar una combinación de reglas CSS para hacer que el texto termine con puntos suspensivos (...) cuando sea el momento de desbordar (salir de los límites de los padres).
¿Es posible (siéntase libre de decir simplemente no) lograr el mismo efecto, pero dejar que el texto se ajuste a más de una línea?
Aquí tienes una demostración .
div {
width: 300px;
height: 42px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Como puede ver, el texto termina con puntos suspensivos cuando es más ancho que el ancho del div. Sin embargo, todavía hay suficiente espacio para que el texto se ajuste en una segunda línea y continúe. Esto es interrumpido porwhite-space: nowrap
, que es necesario para que la elipsis funcione.
¿Algunas ideas?
PD: No hay soluciones JS, CSS puro si es posible.
Respuestas:
No estoy seguro si has visto ESTO , pero el excelente CSS-Tricks.com de Chris Coyier publicó un enlace a esto hace un tiempo y es una solución CSS pura que logra exactamente lo que busca.
(Haga clic para ver en CodePen)
HTML:
CSS:
Por supuesto, ser una solución CSS pura significa que también es bastante complicada, pero funciona de forma limpia y elegante. Asumiré que Javascript está fuera de discusión porque esto es mucho más fácil de lograr (y posiblemente más degradable) con Javascript.
Como beneficio adicional, hay un archivo zip descargable del proceso completo (si desea comprenderlo y todo), pero también un archivo de mezcla de SASS para que pueda plegarlo en su proceso fácilmente.
¡Espero que esto ayude!
http://www.mobify.com/blog/multiline-ellipsis-in-pure-css/
fuente
Las propiedades CSS fáciles pueden hacer el truco. Lo siguiente es para una elipsis de tres líneas.
fuente
Eche un vistazo a esta versión css pura: http://codepen.io/martinwolf/pen/qlFdp
fuente
text-overflow
ydisplay
reglas?CSS a continuación debería hacer el truco.
Después de la segunda línea, el texto contendrá ...
fuente
overflow:hidden
Use esto si lo anterior no funciona
fuente
Mi solución reutiliza la de amcdnl, pero mi alternativa consiste en usar una altura para el contenedor de texto:
fuente
-webkit-line-clamp
no funciona para IE11, Edge o Firefox.Basado en una respuesta que vi en stackoveflow, creé este mixin MENOS ( use este enlace para generar el código CSS ):
Uso
fuente
Parece más elegante combinar dos clases. Puede abandonar la
two-lines
clase si solo necesita ver una fila:fuente
La restricción a unas pocas líneas funcionará en casi todos los navegadores, pero no se mostrará una elipsis (3 puntos) en Firefox e IE. Demostración: http://jsfiddle.net/ahzo4b91/1/
fuente
Encontré una combinación de trabajos de sujeción de línea y altura de línea: D
fuente
En mi aplicación angular, el siguiente estilo me funcionó para lograr puntos suspensivos en el desbordamiento de texto en la segunda línea :
Espero que ayude a alguien.
fuente
Para aquellos que trabajan en scss , debe agregar
!autoprefixer
al comienzo del comentario para que se conserve para postcss:Me enfrenté a ese problema, por eso lo publiqué aquí.
Referencia
fuente
Puede usar un efecto de disolución en lugar de puntos suspensivos, CSS puro y un aspecto más profesional:
Aquí he asumido que su color de fondo es blanco.
fuente
Este es un truco total, pero funciona:
http://jsfiddle.net/2wPNg/
Tiene problemas ... podría cortar una letra de forma incómoda y probablemente tendrá algunos resultados extraños en un sitio receptivo.
fuente
Aquí hay un script simple para administrar los puntos suspensivos usando jQuery. Inspecciona la altura real del elemento y crea un nodo original oculto y un nodo truncado. Cuando el usuario hace clic, cambia entre las dos versiones.
Uno de los grandes beneficios es que la "elipsis" está cerca de la última palabra, como se esperaba.
Si usa soluciones CSS puras, los tres puntos aparecen distantes de la última palabra.
fuente
No estoy seguro de cuál es su objetivo, pero ¿desea que el texto aparezca en la segunda línea?
Aquí está su jsFiddle: http://jsfiddle.net/8kvWX/4/ acaba de eliminar lo siguiente:
No estoy seguro de si esto es lo que estás buscando o no.
Saludos,
Mee
fuente