¿Cómo puedo reemplazar el texto con CSS usando un método como este:
.pvw-title img[src*="IKON.img"] { visibility:hidden; }
En lugar de ( img[src*="IKON.img"]
), necesito usar algo que pueda reemplazar el texto.
Tengo que usar [
]
para que funcione.
<div class="pvw-title">Facts</div>
Necesito reemplazar " Hechos ".
Respuestas:
O tal vez podría envolver 'Hechos' alrededor de a de la
<span>
siguiente manera:Luego usa:
fuente
Obligatorio : este es un hack: CSS no es el lugar adecuado para hacer esto, pero en algunas situaciones, por ejemplo, tiene una biblioteca de terceros en un iframe que solo puede ser personalizada por CSS, este tipo de hack es la única opción .
Puede reemplazar el texto a través de CSS. Reemplacemos un botón verde con 'hola' con un botón rojo que dice 'adiós' , usando CSS.
Antes de:
Después:
Ver http://jsfiddle.net/ZBj2m/274/ para una demostración en vivo:
Aquí está nuestro botón verde:
Ahora ocultemos el elemento original, pero agreguemos otro elemento de bloque después:
Nota:
visibility
. Notadisplay: none
sobre el elemento original no funciona.fuente
display: none;
no funciona porque::after
realmente significa "dentro de este elemento, pero al final", en caso de que alguien tuviera curiosidad.Si está dispuesto a usar pseudo elementos y dejar que inserten contenido, puede hacer lo siguiente. No asume el conocimiento del elemento original y no requiere marcado adicional.
JSFiddle Ejemplo
fuente
<th>
elemento.line-height: 0
ycolor: transparent
en el elemento principal y el restablecimiento de esos valores en el pseudo hacer el trabajo (sin jugar context-indent
)line-height: normal
lugar deinitial
?Basado en la respuesta de mikemaccana , esto funcionó para mí
§ Posicionamiento absoluto
fuente
Esto es simple, breve y efectivo. No se necesita HTML adicional.
Tuve que hacer esto para reemplazar el texto del enlace, que no sea el hogar, para las migas de pan de WooCommerce
Sass / Less
CSS
fuente
No puedes, bueno, puedes.
Esto insertará contenido después del contenido actual del elemento. En realidad no lo reemplaza, pero puede elegir un div vacío y usar CSS para agregar todo el contenido.
Pero mientras más o menos puedas, no deberías. El contenido real se debe poner en el documento. La propiedad de contenido está destinada principalmente a marcas pequeñas, como comillas alrededor del texto que debe aparecer entre comillas.
fuente
Intenta usar
:before
y:after
. Uno inserta texto después de renderizar HTML y el otro inserta antes de renderizar HTML. Si desea reemplazar el texto, deje el contenido del botón vacío.Este ejemplo establece el texto del botón de acuerdo con el tamaño del ancho de la pantalla.
Botón de texto:
Con
:before
gran pantallaxxx
pantalla grande
Con
:after
pantalla xxxbig
pantalla grande
fuente
Si solo desea mostrar diferentes textos o imágenes, mantenga la etiqueta vacía y escriba su contenido en múltiples atributos de datos como ese
<span data-text1="Hello" data-text2="Bye"></span>
. Mostrarlos con una de las pseudo clases:before {content: attr(data-text1)}
Ahora tiene muchas formas diferentes de cambiar entre ellas. Los usé en combinación con consultas de medios para un enfoque de diseño receptivo para cambiar los nombres de mi navegación a íconos.
Demostración jsfiddle y ejemplos
Puede que no responda perfectamente la pregunta, pero satisfizo mis necesidades y tal vez otras también.
fuente
Tuve mejor suerte al configurar el
font-size: 0
elemento externo yfont-size
el:after
selector a lo que necesitaba.fuente
Esto funcionó para mí con texto en línea. Fue probado en Firefox, Safari, Chrome y Opera.
fuente
Yo uso este truco:
Incluso he usado esto para manejar la internacionalización de páginas simplemente cambiando una clase base ...
fuente
Reemplazo de texto con pseudoelementos y visibilidad CSS
HTML
CSS
fuente
Usando un pseudo elemento, este método no requiere conocimiento del elemento original y no requiere ningún marcado adicional.
fuente
Esto implementa una casilla de verificación como un botón que muestra Sí o No dependiendo de su estado 'marcado'. Por lo tanto, demuestra una forma de reemplazar texto usando CSS sin tener que escribir ningún código.
Todavía se comportará como una casilla de verificación en cuanto a devolver (o no devolver) un valor POST, pero desde el punto de vista de la pantalla parece un botón de alternar.
Los colores pueden no ser de su agrado, solo están ahí para ilustrar un punto.
El HTML es:
... y el CSS es:
Solo lo he probado en Firefox, pero es CSS estándar, por lo que debería funcionar en otro lugar.
fuente
A diferencia de lo que veo en todas las otras respuestas, no es necesario usar pseudo elementos para reemplazar el contenido de una etiqueta con una imagen
fuente
content
solo se aplica a:before
y:after
. CSS3 lo extiende a todo, pero el módulo de Contenido generado todavía está en estado de borrador, por lo que es muy probable que cualquier uso dependa del navegador.Esto no es realmente posible sin trucos. Aquí hay una manera que funciona reemplazando el texto con una imagen de texto.
Este tipo de cosas generalmente se realiza con JavaScript. Así es como se puede hacer con jQuery:
fuente
Tuve un problema en el que tuve que reemplazar el texto del enlace, pero no pude usar JavaScript ni pude cambiar directamente el texto de un hipervínculo ya que se compiló desde XML. Además, no podía usar pseudo elementos, o no parecían funcionar cuando los probé.
Básicamente, puse el texto que quería en un espacio y puse la etiqueta de anclaje debajo de él y los envolví en un div. Básicamente moví la etiqueta de anclaje a través de CSS y luego hice que la fuente fuera transparente. Ahora, cuando pasa el mouse sobre el lapso, "actúa" como un enlace. Una forma realmente hacky de hacerlo, pero así es como puedes tener un enlace con texto diferente ...
Este es un violín de cómo resolví este problema
Mi HTML
Mi CSS
El CSS tendrá que cambiar según sus requisitos, pero esta es una forma general de hacer lo que está pidiendo.
fuente
Encontré una solución como esta donde una palabra, "Oscuro", se acortaría a solo "D" en un ancho de pantalla más pequeño. Básicamente, simplemente hace que el tamaño de fuente del contenido original sea 0 y tiene la forma abreviada como un pseudo elemento.
En este ejemplo, el cambio ocurre al pasar el mouse sobre su lugar:
fuente
Después de ocho años, enfrenté el mismo desafío al tratar de usar la extensión del navegador Stylish para cambiar algo en un sitio web (no el mío). Y esta vez lo hice funcionar mirando el código fuente usando "inspeccionar elemento" y creé el código CSS basado en eso.
Así es como se veía antes:
Este es el mismo fragmento de HTML y CSS que utilicé para modificar el estilo:
Puede ejecutar el código anterior y verá que funciona (probado en Chrome).
Esto es simplemente lo que quería en los días en que hice esta pregunta.
Estaba usando algún tipo de blog de la comunidad / cosas similares de Myspace y lo único que tenía al diseñar su perfil era su editor CSS, y por eso quería seleccionarlo en función del estilo.
Encontré la respuesta aquí:
Selector avanzado de CSS: selección basada en el estilo
Selector CSS por atributo de estilo en línea
fuente
La forma de hacer que esto funcione es agregar altura de línea al contenido CSS. Esto hará que el bloque se vea por encima de lo oculto, por lo tanto, esto no ocultará el texto modificado.
Ejemplo con uso antes :
fuente
Bueno, como muchos dijeron, esto es un truco. Sin embargo, me gustaría agregar un truco más actualizado, que aprovecha
flexbox
yrem
, es decir,flexbox
padding
y / o usarmargin
el texto explícitamentepx
, lo que para diferentes tamaños de pantalla en diferentes dispositivos y navegadores puede dar una salida diferenteAquí está la solución, en resumen,
flexbox
se asegura de que se posicione automáticamente de manera perfecta yrem
sea una alternativa más estandarizada (y automatizada) para píxeles.CodeSandbox con el código a continuación y salida en forma de captura de pantalla, ¡lea
note
el código debajo!Nota: para diferentes etiquetas puede que necesite diferentes valores
rem
, esta se ha justificadoh1
y solo en pantallas grandes. Sin embargo, con@media
usted podría extender esto fácilmente a dispositivos móviles.fuente