Wie kann ich Text mit einer Methode wie der folgenden durch CSS ersetzen:
.pvw-title img[src*="IKON.img"] { visibility:hidden; }
Anstelle von ( img[src*="IKON.img"]
) muss ich stattdessen etwas verwenden, das Text ersetzen kann.
Ich muss es benutzen [
]
, um es zum Laufen zu bringen.
<div class="pvw-title">Facts</div>
Ich muss " Fakten " ersetzen .
Antworten:
Oder vielleicht könnten Sie 'Fakten'
<span>
wie folgt umschließen:Dann benutze:
quelle
Obligatorisch : Dies ist ein Hack: CSS ist nicht der richtige Ort, um dies zu tun, aber in einigen Situationen - z. B. wenn Sie eine Drittanbieter-Bibliothek in einem Iframe haben, der nur von CSS angepasst werden kann - ist diese Art von Hack die einzige Option .
Sie können Text über CSS ersetzen. Ersetzen wir eine grüne Schaltfläche durch "Hallo" durch eine rote Schaltfläche mit der Aufschrift "Auf Wiedersehen" mithilfe von CSS.
Vor:
Nach:
Eine Live-Demo finden Sie unter http://jsfiddle.net/ZBj2m/274/ :
Hier ist unser grüner Knopf:
Lassen Sie uns nun das ursprüngliche Element ausblenden, aber anschließend ein weiteres Blockelement hinzufügen:
Hinweis:
visibility
. Hinweisdisplay: none
zum Originalelement funktioniert nicht.quelle
display: none;
funktioniert nicht, weil es::after
wirklich "in diesem Element, aber am Ende" bedeutet, falls jemand neugierig war.Wenn Sie bereit sind, Pseudoelemente zu verwenden und sie Inhalte einfügen zu lassen, können Sie Folgendes tun. Es setzt keine Kenntnis des ursprünglichen Elements voraus und erfordert kein zusätzliches Markup.
JSFiddle-Beispiel
quelle
<th>
Elements enthalten.line-height: 0
undcolor: transparent
auf dem Hauptelement und das Zurücksetzen dieser Werte auf dem Pseudo erledigen Sie den Job (kein Fummeln mittext-indent
)line-height: normal
statt seininitial
?Basierend auf Mikemaccanas Antwort funktionierte dies für mich
§ Absolute Positionierung
quelle
Dies ist einfach, kurz und effektiv. Es ist kein zusätzlicher HTML-Code erforderlich.
Ich musste dies tun, um anderen Linktext als Home für WooCommerce- Brotkrumen zu ersetzen
Sass / Less
CSS
quelle
Sie können nicht, na ja, Sie können.
Dadurch wird der Inhalt nach dem aktuellen Inhalt des Elements eingefügt. Es ersetzt es nicht wirklich, aber Sie können ein leeres div auswählen und CSS verwenden, um den gesamten Inhalt hinzuzufügen.
Aber während Sie mehr oder weniger können, sollten Sie nicht. Der tatsächliche Inhalt sollte in das Dokument aufgenommen werden. Die Eigenschaft content ist hauptsächlich für kleine Markups gedacht, z. B. Anführungszeichen um Text, der in Anführungszeichen gesetzt werden soll.
quelle
Versuchen Sie es mit
:before
und:after
. Einer fügt Text ein, nachdem HTML gerendert wurde, und der andere fügt Text ein, bevor HTML gerendert wurde. Wenn Sie Text ersetzen möchten, lassen Sie den Inhalt der Schaltfläche leer.In diesem Beispiel wird der Schaltflächentext entsprechend der Größe der Bildschirmbreite festgelegt.
Schaltflächentext:
Mit
:before
großer Bildschirmxxx
großer Bildschirm
Mit
:after
xxxbig Bildschirm
großer Bildschirm
quelle
Wenn Sie nur verschiedene Texte oder Bilder angezeigt werden sollen, halten das Tag leer und Ihre Inhalte in mehreren Datenattribute schreiben so
<span data-text1="Hello" data-text2="Bye"></span>
. Zeigen Sie sie mit einer der Pseudoklassen an:before {content: attr(data-text1)}
Jetzt haben Sie verschiedene Möglichkeiten, zwischen ihnen zu wechseln. Ich habe sie in Kombination mit Medienabfragen für einen reaktionsschnellen Entwurfsansatz verwendet, um die Namen meiner Navigation in Symbole zu ändern.
jsfiddle Demonstration und Beispiele
Es mag die Frage nicht perfekt beantworten, aber es hat meine Bedürfnisse und vielleicht auch andere befriedigt.
quelle
Ich hatte besseres Glück, das
font-size: 0
äußere Element und dasfont-size
des:after
Selektors auf alles einzustellen, was ich brauchte.quelle
Dies funktionierte bei mir mit Inline-Text. Es wurde in Firefox, Safari, Chrome und Opera getestet.
quelle
Ich benutze diesen Trick:
Ich habe dies sogar verwendet, um die Internationalisierung von Seiten durch einfaches Ändern einer Basisklasse zu handhaben ...
quelle
Textersetzung durch Pseudoelemente und CSS-Sichtbarkeit
HTML
CSS
quelle
Bei Verwendung eines Pseudoelements erfordert diese Methode keine Kenntnis des ursprünglichen Elements und kein zusätzliches Markup.
quelle
Dies implementiert ein Kontrollkästchen als Schaltfläche, die je nach aktiviertem Status entweder Ja oder Nein anzeigt. Es zeigt also eine Möglichkeit, Text mithilfe von CSS zu ersetzen, ohne Code schreiben zu müssen.
Es verhält sich immer noch wie ein Kontrollkästchen, wenn ein POST-Wert zurückgegeben wird (oder nicht zurückgegeben wird), aber aus Sicht der Anzeige sieht es aus wie eine Umschalttaste.
Die Farben mögen nicht Ihren Wünschen entsprechen, sie dienen nur dazu, einen Punkt zu veranschaulichen.
Der HTML-Code lautet:
... und das CSS ist:
Ich habe es nur unter Firefox versucht, aber es ist Standard-CSS, daher sollte es woanders funktionieren.
quelle
Im Gegensatz zu dem, was ich in jeder anderen Antwort sehe, müssen Sie keine Pseudoelemente verwenden, um den Inhalt eines Tags durch ein Bild zu ersetzen
quelle
content
nur für:before
und:after
. CSS3 erstreckt sie sich auf alles, aber das erzeugte Inhalte Modul befindet sich noch im Entwurfsstatus, so dass jeder Einsatz ist sehr wahrscheinlich sein browserabhängig.Dies ist ohne Tricks nicht wirklich möglich. Hier ist eine Möglichkeit, den Text durch ein Textbild zu ersetzen.
Diese Art von Dingen wird normalerweise mit JavaScript ausgeführt. So geht das mit jQuery:
quelle
Ich hatte ein Problem, bei dem ich den Linktext ersetzen musste, aber ich konnte weder JavaScript verwenden noch den Text eines Hyperlinks direkt ändern, da dieser aus XML kompiliert wurde. Außerdem konnte ich keine Pseudoelemente verwenden, oder sie schienen nicht zu funktionieren, als ich sie ausprobiert hatte.
Grundsätzlich habe ich den gewünschten Text in eine Spanne eingefügt und das Ankertag darunter gelegt und beide in ein Div gewickelt. Ich habe das Ankertag im Grunde genommen über CSS nach oben verschoben und dann die Schriftart transparent gemacht. Wenn Sie jetzt über die Spanne fahren, "verhält" es sich wie ein Link. Eine wirklich hackige Art, dies zu tun, aber so können Sie einen Link mit einem anderen Text haben ...
Dies ist eine Frage, wie ich dieses Problem umgangen habe
Mein HTML
Mein CSS
Das CSS muss sich je nach Ihren Anforderungen ändern. Dies ist jedoch eine allgemeine Methode, um das zu tun, was Sie verlangen.
quelle
Ich habe eine Lösung wie diese gefunden, bei der das Wort "Dunkel" auf einer kleineren Bildschirmbreite auf "D" gekürzt wird. Grundsätzlich machen Sie einfach die Schriftgröße des ursprünglichen Inhalts 0 und haben die verkürzte Form als Pseudoelement.
In diesem Beispiel erfolgt die Änderung stattdessen beim Schweben:
quelle
Nach acht Jahren stand ich vor der gleichen Herausforderung, als ich versuchte, den Stylish zu verwenden Browser-Erweiterung etwas auf einer Website zu ändern (nicht auf meiner). Und dieses Mal habe ich es geschafft, indem ich den Quellcode mit "inspect element" betrachtet und den darauf basierenden CSS-Code erstellt habe.
So sah es vorher aus:
Dies ist das gleiche Stück HTML und CSS, mit dem ich den Stil geändert habe:
Sie können den obigen Code ausführen und sehen, dass er funktioniert (in Chrome getestet).
Dies ist einfach das, was ich damals wollte, als ich diese Frage stellte.
Ich habe eine Art Community-Blog / Myspace verwendet ähnliches Material verwendet und das einzige, was Sie beim Stylen Ihres Profils hatten, war der CSS-Editor. Deshalb wollte ich es basierend auf dem Stil auswählen.
Ich habe die Antwort hier gefunden:
Erweiterte CSS-Auswahl - Auswahl basierend auf dem Styling
CSS-Selektor nach Inline-Stilattribut
quelle
Um dies zu erreichen, müssen Sie dem CSS-Inhalt eine Zeilenhöhe hinzufügen. Dadurch wird der Block über dem ausgeblendeten angezeigt, sodass der geänderte Text nicht ausgeblendet wird.
Beispiel mit Verwendung vor :
quelle
Nun, wie viele sagten, ist dies ein Hack. Ich möchte jedoch einen aktuelleren Hack hinzufügen, der den Vorteil von
flexbox
und nutztrem
, dhflexbox
padding
und / odermargin
den Text nicht explizit verwendenpx
, was für unterschiedliche Bildschirmgrößen auf unterschiedlichen Geräten und Browsern möglicherweise unterschiedliche Ausgaben ergibtHier ist die Lösung, kurz gesagt,
flexbox
stellt sicher, dass es automatisch perfekt positioniert ist undrem
eine standardisiertere (und automatisiertere) Alternative für Pixel darstellt.CodeSandbox mit Code unten und Ausgabe in Form eines Screenshots, bitte lesen Sie einen
note
unter dem Code!Hinweis: Für verschiedene Tags, für die Sie möglicherweise unterschiedliche Werte benötigen
rem
, ist dieser Werth1
nur für große Bildschirme gerechtfertigt . Mit können@media
Sie dies jedoch problemlos auf mobile Geräte ausweiten.quelle