Tengo una etiqueta en mi html como esta:
<h1>My Website Title Here</h1>
Con CSS quiero reemplazar el texto con mi logotipo real. Tengo el logotipo allí sin problemas al cambiar el tamaño de la etiqueta y poner una imagen de fondo a través de css. Sin embargo, no puedo entender cómo deshacerme del texto. Lo he visto antes, básicamente, empujando el texto fuera de la pantalla. El problema es que no recuerdo dónde lo vi.
Respuestas:
Esta es una forma:
Aquí hay otra forma de ocultar el texto evitando el enorme cuadro de 9999 píxeles que creará el navegador:
fuente
¿Por qué no simplemente usar:
fuente
color: transparent;
funciona junto conuser-select: none;
, a menos que anule el color.Simplemente agregue
font-size: 0;
a su elemento que contiene texto.fuente
La forma más amigable para los navegadores cruzados es escribir el HTML como
luego use CSS para ocultar el lapso y reemplazar la imagen
Si puede usar CSS2, entonces hay algunas formas mejores de usar la
content
propiedad, pero desafortunadamente la web aún no está al 100%.fuente
Ocultar texto con accesibilidad en mente:
Además de las otras respuestas, aquí hay otro enfoque útil para ocultar texto.
Este método oculta efectivamente el texto, pero permite que permanezca visible para los lectores de pantalla. Esta es una opción a considerar si la accesibilidad es una preocupación.
Vale la pena señalar que esta clase se usa actualmente en Bootstrap 3 .
Si está interesado en leer sobre accesibilidad:
Iniciativa de Accesibilidad Web (WAI)
Documentación de accesibilidad de MDN
fuente
Jeffrey Zeldman sugiere la siguiente solución:
Debería ser menos intensivo en recursos que
-9999px;
Por favor, lea todo sobre esto aquí:
http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
fuente
Vea mezzoblue para un buen resumen de cada técnica, con fortalezas y debilidades, además de ejemplos html y css.
fuente
Tantas soluciones complicadas.
La más fácil es simplemente usar:
fuente
simplemente puede ocultar su texto agregando este atributo:
fuente
!important
cláusula es realmente necesaria en su caso. En mi caso funcionó bien sin él también.No utilizar.
{ display:none; }
Hace que el contenido sea inaccesible. Desea que los lectores de pantalla vean su contenido y lo visualicen al reemplazar el texto con una imagen (como un logotipo). Mediante el uso detext-indent: -999px;
un método similar, el texto sigue ahí, pero no visualmente allí. Usedisplay:none
, y el texto se ha ido.fuente
Lo anterior también funciona bien en el último Thunderbird.
fuente
puede usar la
background-image
propiedad css yz-index
asegurarse de que la imagen permanezca delante del texto.fuente
z-index
aplica a labackground-image
.¿Por qué no usas:
Si no tiene ningún elemento span o div, funciona perfectamente para enlaces.
fuente
La respuesta es crear un lapso con la propiedad
{display:none;}
Puedes encontrar un ejemplo en este sitio
fuente
Esta es en realidad un área propicia para el debate, con muchas técnicas sutiles disponibles. Es importante que seleccione / desarrolle una técnica que satisfaga sus necesidades, incluidos: lectores de pantalla, combinaciones de activación / desactivación de imágenes / CSS / secuencias de comandos, SEO, etc.
Aquí hay algunos buenos recursos para comenzar en el camino de las técnicas estándar de reemplazo de imágenes:
http://faq.css-standards.org/Image_Replacement
http://www.alistapart.com/articles/fir
http://veerle.duoh.com/blog/links/#l-10
fuente
Use la etiqueta de condición para un navegador diferente y use CSS que debe colocar
height:0px
ywidth:0px
también debe colocarfont-size:0px
.fuente
Si el objetivo es simplemente hacer que el texto dentro del elemento sea invisible, configure el atributo de color para que tenga 0 opacidad usando un valor rgba como
color:rgba(0,0,0,0);
simple y limpio.fuente
No recuerdo dónde lo recogí, pero lo he estado usando con éxito durante años.
Mi mixin está sass, sin embargo, puede usarlo de la manera que mejor le parezca. En buena medida, generalmente mantengo una
.hidden
clase en algún lugar de mi proyecto para adjuntarla a elementos para evitar duplicaciones.fuente
fuente
Prueba este código para acortar y ocultar texto
o para ocultar el uso en su clase CSS
.hidetxt { visibility: hidden; }
fuente
repalce contenido con el CSS
fuente
Usualmente uso:
fuente
Si podemos editar el marcado, la vida puede ser más fácil, simplemente elimine el texto y sea feliz. Pero a veces el marcado fue colocado por el código JS o simplemente no se nos permite editarlo, demasiado mal CSS resultó ser la única arma puesta a nuestra disposición.
No podemos colocar una
<span>
envoltura del texto y ocultar toda la etiqueta. Por cierto, algunos navegadores no solo ocultan elementosdisplay:none
sino que también deshabilitan los componentes en su interior.Ambos
font-size:0px
ycolor:transparent
pueden ser buenas soluciones, pero algunos navegadores no los entienden. No podemos confiar en ellos.Yo sugiero:
El uso
overflow:hidden
impone nuestro ancho y alto. Algunos navegadores (no los nombrarán ... IE ) pueden leer ancho y alto comomin-width
ymin-height
. Quiero evitar que la caja se agrande.fuente
Usar el valor cero para
font-size
yline-height
en el elemento me ayuda:fuente
Para ocultar texto de HTML, use la propiedad de sangría de texto en CSS
/ * para el texto dinámico, necesita agregar espacios en blanco, para que su CSS aplicado no se vea afectado. nowrap significa que el texto nunca se ajustará a la siguiente línea, el texto continúa en la misma línea hasta que
<br>
se encuentre una etiquetafuente
Una de las formas en que lo logro es usar
:before
o:after
. He usado este enfoque durante varios años, y particularmente funciona muy bien con los iconos de vectores de glifos.fuente
Esto funcionó para mí con span (validación de eliminación).
fuente
Una solución que me funciona:
HTML
CSS
fuente
La mejor respuesta funciona para texto corto, pero si el texto se ajusta simplemente aparece en la imagen.
Una forma de hacerlo es detectar errores con un controlador jquery. Intenta cargar una imagen, si falla, arroja un error.
Ver CÓDIGO DE MUESTRA
fuente
fuente