Comment puis-je remplacer du texte par CSS en utilisant une méthode comme celle-ci:
.pvw-title img[src*="IKON.img"] { visibility:hidden; }
Au lieu de ( img[src*="IKON.img"]
), j'ai besoin d'utiliser quelque chose qui peut remplacer le texte à la place.
Je dois utiliser [
]
pour le faire fonctionner.
<div class="pvw-title">Facts</div>
Je dois remplacer " Faits ".
Réponses:
Ou peut-être pourriez-vous boucler les `` faits ''
<span>
comme suit:Utilisez ensuite:
la source
Obligatoire : Il s'agit d'un hack: CSS n'est pas le bon endroit pour le faire, mais dans certaines situations - par exemple, vous avez une bibliothèque tierce dans une iframe qui ne peut être personnalisée que par CSS - ce type de hack est la seule option .
Vous pouvez remplacer du texte via CSS. Remplaçons un bouton vert par «bonjour» par un bouton rouge qui dit «au revoir» , en utilisant CSS.
Avant:
Après:
Voir http://jsfiddle.net/ZBj2m/274/ pour une démonstration en direct:
Voici notre bouton vert:
Cachons maintenant l'élément d'origine, mais ajoutons un autre élément de bloc par la suite:
Remarque:
visibility
. Remarquedisplay: none
sur l'élément d'origine ne fonctionne pas.la source
display: none;
ne fonctionne pas parce que::after
signifie vraiment "à l'intérieur de cet élément, mais à la fin", au cas où quelqu'un serait curieux.Si vous souhaitez utiliser des pseudo-éléments et les laisser insérer du contenu, vous pouvez procéder comme suit. Il ne suppose pas la connaissance de l'élément d'origine et ne nécessite pas de balisage supplémentaire.
Exemple JSFiddle
la source
<th>
élément.line-height: 0
etcolor: transparent
sur l'élément principal et la réinitialisation de ces valeurs sur le pseudo fait le travail (pas de tripotagetext-indent
)line-height: normal
lieu deinitial
?Sur la base de la réponse de Mikemaccana , cela a fonctionné pour moi
§ Positionnement absolu
la source
C'est simple, court et efficace. Aucun HTML supplémentaire n'est nécessaire.
J'ai dû le faire pour remplacer le texte du lien, autre que la maison, pour le fil d' Ariane WooCommerce
Sass / Less
CSS
la source
Vous ne pouvez pas, eh bien, vous le pouvez.
Cela insérera du contenu après le contenu actuel de l'élément. Il ne le remplace pas réellement, mais vous pouvez choisir un div vide et utiliser CSS pour ajouter tout le contenu.
Mais alors que vous le pouvez plus ou moins, vous ne devriez pas. Le contenu réel doit être mis dans le document. La propriété de contenu est principalement destinée aux petits marquages, comme les guillemets autour du texte devant apparaître entre guillemets.
la source
Essayez d'utiliser
:before
et:after
. L'une insère du texte après le rendu HTML et l'autre insère avant le rendu HTML. Si vous souhaitez remplacer du texte, laissez le contenu du bouton vide.Cet exemple définit le texte du bouton en fonction de la taille de la largeur de l'écran.
Texte du bouton:
Avec
:before
grand écranxxx
grand écran
Avec
:after
écran xxxbig
grand écran
la source
Si vous souhaitez simplement afficher différents textes ou images, laissez la balise vide et écrivez votre contenu dans plusieurs attributs de données comme celui-ci
<span data-text1="Hello" data-text2="Bye"></span>
. Affichez-les avec l'une des pseudo-classes:before {content: attr(data-text1)}
Maintenant, vous avez plusieurs façons de basculer entre eux. Je les ai utilisés en combinaison avec des requêtes multimédias pour une approche de conception réactive pour changer les noms de ma navigation en icônes.
démonstration et exemples de jsfiddle
Elle ne répond peut-être pas parfaitement à la question, mais elle satisfait mes besoins et peut-être d'autres aussi.
la source
J'ai eu plus de chance de régler l'
font-size: 0
élément extérieur etfont-size
le:after
sélecteur sur ce dont j'avais besoin.la source
Cela a fonctionné pour moi avec le texte en ligne. Il a été testé dans Firefox, Safari, Chrome et Opera.
la source
J'utilise cette astuce:
Je l'ai même utilisé pour gérer l'internationalisation des pages en changeant simplement une classe de base ...
la source
Remplacement de texte avec pseudo-éléments et visibilité CSS
HTML
CSS
la source
À l'aide d'un pseudo-élément, cette méthode ne nécessite pas la connaissance de l'élément d'origine et ne nécessite aucun balisage supplémentaire.
la source
Cela implémente une case à cocher sous forme de bouton qui affiche Oui ou Non en fonction de son état «vérifié». Il montre donc une façon de remplacer du texte à l'aide de CSS sans avoir à écrire de code.
Il se comportera toujours comme une case à cocher en ce qui concerne le retour (ou le non retour) d'une valeur POST, mais d'un point de vue d'affichage, il ressemble à un bouton bascule.
Les couleurs peuvent ne pas vous plaire, elles ne sont là que pour illustrer un point.
Le HTML c'est:
... et le CSS c'est:
Je ne l'ai essayé que sur Firefox, mais c'est du CSS standard donc ça devrait fonctionner ailleurs.
la source
Contrairement à ce que je vois dans toutes les autres réponses, vous n'avez pas besoin d'utiliser de pseudo-éléments pour remplacer le contenu d'une balise par une image
la source
content
s'applique uniquement à:before
et:after
. CSS3 l'étend à tout, mais le module de contenu généré est toujours à l'état de brouillon, donc toute utilisation est très susceptible d'être dépendante du navigateur.Ce n'est pas vraiment possible sans astuces. Voici une méthode qui fonctionne en remplaçant le texte par une image de texte.
Ce type de chose se fait généralement avec JavaScript. Voici comment cela peut être fait avec jQuery:
la source
J'ai eu un problème où j'ai dû remplacer le texte du lien, mais je ne pouvais pas utiliser JavaScript ni changer directement le texte d'un lien hypertexte car il était compilé à partir de XML. De plus, je ne pouvais pas utiliser de pseudo-éléments, ou ils ne semblaient pas fonctionner quand je les avais essayés.
Fondamentalement, j'ai mis le texte que je voulais dans une étendue et j'ai mis la balise d'ancrage en dessous et enveloppé les deux dans un div. J'ai essentiellement déplacé la balise d'ancrage via CSS, puis rendu la police transparente. Maintenant, lorsque vous survolez la plage, il "agit" comme un lien. Une façon vraiment hacky de le faire, mais c'est ainsi que vous pouvez avoir un lien avec un texte différent ...
Ceci est un violon de la façon dont j'ai pu contourner ce problème
Mon HTML
Mon CSS
Le CSS devra changer en fonction de vos besoins, mais c'est une façon générale de faire ce que vous demandez.
la source
J'ai trouvé une solution comme celle-ci où un mot, "Dark", serait raccourci en "D" sur une plus petite largeur d'écran. Fondamentalement, vous ne faites que la taille de la police du contenu d'origine 0 et avez la forme raccourcie en tant que pseudo-élément.
Dans cet exemple, le changement se produit au survol:
la source
Après huit ans, j'ai été confronté au même défi en essayant d'utiliser l' extension de navigateur Stylish pour changer quelque chose sur un site Web (pas le mien). Et cette fois, je l'ai fait fonctionner en regardant le code source en utilisant "inspecter l'élément" et j'ai créé le code CSS basé sur cela.
Voici à quoi il ressemblait avant:
C'est le même morceau du HTML et du CSS que j'ai utilisé pour modifier le style:
Vous pouvez exécuter le code ci-dessus et vous verrez qu'il fonctionne (testé dans Chrome).
C'est tout simplement ce que je voulais à l'époque où je posais cette question.
J'utilisais une sorte de blog communautaire / des choses similaires sur Myspace et la seule chose que vous aviez lors de la création de votre profil était leur éditeur CSS, et c'est pourquoi je voulais le sélectionner en fonction du style.
J'ai trouvé la réponse ici:
Sélecteur CSS avancé - Sélectionnez en fonction du style
Sélecteur CSS par attribut de style en ligne
la source
La façon de faire fonctionner cela consiste à ajouter une hauteur de ligne au contenu CSS. Cela rendra le bloc visible au-dessus du caché, donc cela ne masquera pas le texte modifié.
Exemple d'utilisation avant :
la source
Eh bien, comme beaucoup l'ont dit, c'est un hack. Cependant, je voudrais ajouter un hack plus à jour, qui tire parti de
flexbox
etrem
, c.-à-d.flexbox
padding
et / oumargin
le texte en utilisant explicitementpx
, ce qui pour différentes tailles d'écran sur différents appareils et navigateurs peut donner des résultats différentsVoici la solution, en bref
flexbox
s'assure qu'il est automatiquement parfaitement positionné etrem
est une alternative plus standardisée (et automatisée) pour les pixels.CodeSandbox avec code ci-dessous et sortie sous forme de capture d'écran, veuillez lire
note
ci-dessous le code!Remarque: pour différentes balises dont vous pourriez avoir besoin de valeurs différentes
rem
, celle-ci a été justifiée pourh1
et uniquement sur de grands écrans. Cependant,@media
vous pouvez facilement l'étendre aux appareils mobiles.la source