No sé por qué este simple CSS no está funcionando ...
.app a {
height: 18px;
width: 140px;
padding: 0;
overflow: hidden;
position: relative;
margin: 0 5px 0 5px;
text-align: center;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
color: #000;
}
<div class="app">
<a href="">Test Test Test Test Test Test</a>
</div>
Debería cortar alrededor de la 4ta "Prueba"
FF only
- sifilter
se aplica, los puntos suspensivos no se mostrarán. error abiertotext-overflow
: bra gratisdeveloper.com/2017/07/29/why-wont-my-text-overflowRespuestas:
text-overflow:ellipsis;
solo funciona cuando se cumple lo siguiente:px
(píxeles). El ancho en%
(porcentaje) no funcionará.overflow:hidden
ywhite-space:nowrap
establecer.La razón por la que está teniendo problemas aquí es porque el
width
de sua
elemento no está limitado. Tiene unawidth
configuración, pero debido a que el elemento está configurado endisplay:inline
(es decir, el valor predeterminado) lo ignora, y nada más limita su ancho tampoco.Puede solucionar esto haciendo uno de los siguientes:
display:inline-block
odisplay:block
(probablemente el primero, pero depende de sus necesidades de diseño).display:block
y asigne a ese elemento un valor fijowidth
omax-width
.float:left
ofloat:right
(probablemente el primero, pero de nuevo, cualquiera debería tener el mismo efecto en lo que respecta a los puntos suspensivos).Sugeriría
display:inline-block
, ya que esto tendrá el mínimo impacto colateral en su diseño; funciona de manera muy similar aldisplay:inline
que está usando actualmente en lo que respecta al diseño, pero siéntase libre de experimentar también con los otros puntos; He tratado de darle la mayor cantidad de información posible para ayudarlo a comprender cómo interactúan estas cosas juntas; Una gran parte de la comprensión de CSS se trata de comprender cómo funcionan varios estilos juntos.Aquí hay un fragmento con su código, con un
display:inline-block
agregado, para mostrar qué tan cerca estaba.Referencias útiles:
fuente
white-space: nowrap
realidad no es necesario. Todavía podemos ver las elipses incluso sin ella. Para varias líneastext-overflow
, vea este SOwhite-space: nowrap
Sin embargo, es obligatorio.width
en absoluto. Todo lo que necesita hacer es configurar unwhite-space: nowrap;
y funciona bien.La respuesta aceptada es asombrosa. Sin embargo, aún puede usar
%
ancho y alcanzartext-overflow: ellipsis
. La solución es simple:Parece que cada vez que usa
calc
, el valor final se representa en píxeles absolutos, lo que en consecuencia se convierte80%
en algo parecido800px
a un1000px
contenedor de ancho. Por lo tanto, en lugar de usarwidth: [YOUR PERCENT]%
, usewidth: calc([YOUR PERCENT]%)
.fuente
Entonces, si llega a esta pregunta porque tiene problemas para intentar que los puntos suspensivos funcionen dentro de un
display: flex
contenedor, intente agregarmin-width: 0
al contenedor externo que desborda a su padre a pesar de que ya lo configuróoverflow: hidden
y vea cómo funciona eso para usted.Más detalles y un ejemplo de trabajo sobre este codepen por aj-foster . Totalmente hizo el truco en mi caso.
fuente
position: sticky
elemento dentro de undisplay: flex
contenedor.También asegúrese de que
word-wrap
esté configurado en normal para IE10 y a continuación.Los estándares a los que se hace referencia a continuación definen el comportamiento de esta propiedad como dependiente de la configuración de la propiedad "ajuste de texto". Sin embargo, la configuración de wordWrap siempre es efectiva en Windows Internet Explorer porque Internet Explorer no admite la propiedad de "ajuste de texto".
Por lo tanto, en mi caso,
word-wrap
se configuró como palabra de interrupción (¿heredada o por defecto?), Lo que hizotext-overflow
que funcionara en FF y Chrome, pero no en IE.ms información sobre la propiedad de ajuste de línea
fuente
anchor
,span
... las etiquetas son elementos en línea de forma predeterminada, en caso de elementos en línea, lawidth
propiedad no funciona. Entonces debes convertir tu elemento en unoinline-block
o másblock level
elementosfuente
Incluya las cuatro líneas escritas después de la información para que funcionen los puntos suspensivos
fuente
Agregar
display: block;
odisplay: inline-block;
a su#User_Apps_Content .DLD_App a
manifestación
fuente
Simplemente agrega una línea css:
fuente
En Bootstrap 4 , puede agregar una
.text-truncate
clase para truncar el texto con puntos suspensivos.fuente
Debe contener
NO DEBE contener
Debería contener
fuente
También puede agregar flotante: izquierda; dentro de esta clase #User_Apps_Content .DLD_App a
fuente
Tuve que hacer elipse de descripciones largas (tomar solo un carril) mientras respondía, por lo que mi solución fue dejar que el texto se ajustara (en lugar de
white-space: nowrap
) y en lugar de ancho fijo agregué altura fija:fuente
Este es el código que permite que:
desbordamiento: se requiere oculto
fuente
Me enfrenté al mismo problema y parece que ninguna de las soluciones anteriores funciona para Safari. Para el navegador que no es de safari, esto funciona bien:
Para Safari, este es el que me funciona. Tenga en cuenta que la consulta de medios para verificar si el navegador es Safari puede cambiar con el tiempo, por lo que solo debe modificar la consulta de medios si no funciona para usted. Con la
line-clamp
propiedad, también sería posible tener múltiples líneas en la web con puntos suspensivos, ver aquí .fuente
https://stackoverflow.com/a/53784508/5626747
No puedo comentar debido a la reputación, así que estoy haciendo otra respuesta:
En este caso, también tendrá que eliminar la
display: block;
propiedad generalmente sugerida del elemento en el que configurótext-overflow: ellipsis;
, o se cortará sin el ... al final.fuente
fuente