CSS hat eine Eigenschaft namenscontent. Sie kann nur mit den Pseudoelementen verwendet werden::afterund::before. Sie wird wie ein Pseudoselektor geschrieben (mit dem Doppelpunkt), aber sie wird Pseudoelement genannt, weil sie nichts auswählt, das tatsächlich auf der Seite existiert, sondern etwas Neues zur Seite hinzufügt. So sieht sie aus
.email-address::before {
content: "Email address: ";
}
Mit diesem CSS könnten wir folgenden HTML haben
<ul>
<li class="email-address">[email protected]</li>
</ul>
Und die Ausgabe wäre wie folgt
• E-Mail-Adresse: [email protected]
Vielleicht lässt Sie dieses Beispiel nicht sabbern, aber Pseudoelement-Inhalte können sehr nützlich sein und coole Dinge tun. Lassen Sie uns einige Ideen und Überlegungen durchgehen.
Hey! Das ist Inhalt, kein Design!
Die erste Bedenken könnten von einem Puristen der Trennung von Inhalt und Design kommen. Sie fügen buchstäblich Textinhalt mit CSS-Inhalt zur Seite hinzu, und das durchbricht diese Barriere. Der Standard ist fertig und die Idee implementiert, aber das bedeutet nicht, dass es nicht diskutierenswert ist. Wenn Sie eine Meinung zu CSS-Inhalt und seiner Verwendung haben, teilen Sie sie bitte in den Kommentaren mit.
Ich finde es fantastisch und perfekt für CSS geeignet. Betrachten Sie das obige Beispiel, bei dem wir allen Elementen mit der Klasseemail-addressden Text „E-Mail-Adresse: “ voranstellen. Das ist eine Design-Entscheidung, bei der entschieden wurde, dass das Voranstellen dieses Textes vor E-Mail-Adressen den Inhalt zur besseren Verständlichkeit klarer macht. Vielleicht gab es bei einem Redesign der Website weniger Platz, wo diese E-Mail-Adressen angezeigt wurden, und es wurde entschieden, dass anstelle des Voranstellens von Text ein kleines Symbol verwendet würde. Das passt zur Idee von CSS, da der HTML-Inhalt überhaupt nicht geändert werden muss; diese Änderung könnte ausschließlich mit CSS erreicht werden.
Ich werde morgen einen Artikel mit dieser Art von Idee veröffentlichen.
Verwendung von Sonderzeichen
Wenn Sie ein Sonderzeichen im CSS-Inhalt verwenden müssen, ist das etwas seltsam. Ich mache es so, dass ich die ASCII-Nummer für das Symbol herausfinde. Diese Tabelle mit Glyphen ist praktisch. Auf dieser Tabelle ist das Copyright-Symbol © © – also ist die ASCII-Nummer 169. Dann gebe ich diese Nummer in den Entity Conversion Calculator ein, der sie in das umwandelt, was Sie für CSS benötigen.

Hier sind einige zufällige nützliche Zeichen
\2018 – Linke einfache Anführungszeichen
\2019 – Rechte einfache Anführungszeichen
\00A9 – Copyright
\2713 – Häkchen
\2192 – Pfeil nach rechts
\2190 – Pfeil nach links
Beispiel-Trick: Verweis auf besuchte Links mit Häkchen
Markieren Sie Ihre besuchten Links mit Häkchen
#main-content a:visited::before {
content: "\2713 ";
}
Verwendung von Attributen
Sie können Attribute der Elemente, die Sie anvisieren, als Inhalt einfügen. Ein Ankerlink könnte beispielsweise ein Titelattribut haben
<a title="A web design community." href="https://css-tricks.de">CSS-Tricks</a>
Sie können auf dieses Titelattribut über die Content-Eigenschaft zugreifen, wie z.B.
a:before {
content: attr(title) ": ";
}
Jedes Attribut kann auf diese Weise angesprochen werden, im Formatattr(name-des-attributs). Wenn Sie etwas in den HTML-Code einfügen möchten, um es für einen CSS-Inhaltszweck zu verwenden (aber nichts anderes), könnten Sie den neuen Präfix data- für Attribute in HTML5 verwenden.
Beispiel-Trick: CSS3 Tooltips
Tooltips für Links basierend auf demTitelAttribut
a {
color: #900;
text-decoration: none;
}
a:hover {
color: red;
position: relative;
}
a[title]:hover::after {
content: attr(title);
padding: 4px 8px;
color: #333;
position: absolute;
left: 0;
top: 100%;
white-space: nowrap;
z-index: 20;
border-radius: 5px;
box-shadow: 0px 0px 4px #222;
background-image: linear-gradient(#eeeeee, #cccccc);
}

Dieses Beispiel verwendet dasTitelAttribut, und andere Beispiele dieser Art, die Sie im Web finden, verwenden ebenfalls das Titelattribut. Es ist wahrscheinlich das richtige. Beachten Sie jedoch, dass Browser ihre eigenen Tooltip-Popups haben. Wenn diese erscheinen, werden sie dies überdecken und komisch aussehen. Ich habe versucht, einen Screenshot des Problems zu machen, aber aus irgendeinem Grund hat es nicht funktioniert. Es gibt keine Möglichkeit, dies zu unterdrücken, außer dasTitelAttribut nicht zu verwenden. HTML5data-Attribute könnten hier erneut nützlich sein.
Zu berücksichtigende Punkte
- Firebug kann Pseudoelemente noch nicht anvisieren. Der Web-Inspektor in WebKit-Browsern kann sie anvisieren, zeigt aber nicht ihre Eigenschaften/Werte an. Ich habe gehört, dass die IE-Entwicklertools sie ebenfalls anvisieren könnten, aber ich bin mir bezüglich der Eigenschaften/Werte nicht sicher.
- In WebKit müssen sie blockfähig sein, um gedreht zu werden. Firefox kann Inline-Elemente/Pseudoelemente drehen.
- In Firefox 3.0 können Pseudoelemente nicht absolut positioniert werden.
- Sie können nicht animiert oder mit Übergängen versehen werden.
Beispiel-Trick: Schicke E-Mail-Link-Popouts
Ich hatte eine Idee, die ich ausprobieren wollte: Eine vertikale Liste von Namen, und wenn man mit der Maus darüberfährt, würden ihre E-Mail-Adressen darunter hervor- oder herausgleiten. Um den HTML-Code so sauber wie möglich zu halten, fand ich es cool, ein::afterPseudoelement und einen -webkit-transition zu verwenden, um das zu erreichen. Aber leider kann man ein Pseudoelement nicht animieren oder mit Übergängen versehen.

Mit der ::after/content-Methode habe ich ein funktionierendes Beispiel erstellt, es gleitet nur nicht heraus, wie ich es mir vorgestellt hätte. Mit<span>s habe ich die Idee umgesetzt, ebenfalls auf der Demoseite.
Beispiel-Trick: Vollständige Links in Druckstilen anzeigen
@media print {
#main-content a[href]:after { " (" attr(href) ") "; }
}
Browserunterstützung / Barrierefreiheit
Alle wichtigen Browser (Firefox 3+, Safari 3+, Chrome 3+, Opera 10+ und Internet Explorer 8+) (Siehe vollständige Tabelle) unterstützen CSS-Inhalte mit den ::after/::before Pseudoelementen, und der Standard hat vollen Kandidatenempfehlungsstatus.
Bezüglich der Barrierefreiheit bin ich mir der Situation einfach nicht 100%ig sicher. Ich habe versucht, VoiceOver mit Safari auf meinem Mac mit dem E-Mail-Popout-Links-Demo zu verwenden. Für beste Barrierefreiheit wäre das Ziel meiner Meinung nach, den gesamten Text vorlesen zu lassen, einschließlich des per CSS hinzugefügten Inhalts. Ich hatte Schwierigkeiten, das zu erreichen, aber ich dachte, ich hätte es einmal irgendwie geschafft. Ich war wirklich schlecht darin, VoiceOver zu benutzen, und fand es frustrierend, selbst auf den grundlegendsten Ebenen das zu erreichen, was ich tun wollte. Wenn jemand mehr über Barrierefreiheit in Bezug auf CSS-Inhalt weiß, würde ich sicher gerne mehr erfahren.
Mehr
Eine ganze Menge erstaunlicher Dinge, die Pseudoelemente tun können
Hallo Chris,
Toller Artikel wie immer.
Obwohl es so aussehen mag, als hätten :before und :after wenig mit Design zu tun, gibt es einen raffinierten kleinen Trick, den Sie ausführen können, der kürzlich auf NetTuts veröffentlicht wurde
Mehrere Rahmen mit CSS
Ihr Skript hat einige Fehler.
Siehe Screenshot.
Das habe ich versucht zu bekämpfen und dachte, ich hätte es geschafft, indem ich den Hover-Zustand des Links auf position: relative; gesetzt habe. Aber anscheinend reicht das für Opera nicht aus, das den generierten Inhalt möglicherweise getrennt behandelt. Versuchen Sie vielleicht, explizit die z-index festzulegen?
Siehe einen ähnlichen Artikel hier http://www.css3.info/tooltips-with-css3/ .
Das liegt wahrscheinlich am Hintergrundverlauf
fügen Sie einfach background: #eee; :D vor den Verläufen hinzu
Was ist mit z-index?
Es kann verwendet werden, um Bilder mit Data-URIs wie
#myimg{content:url(“data:image/png;base64,abcdef…”)}
Wozu ist das gut, fragen Sie vielleicht? Wenn Sie Ihre Bilder für die Portabilität, wie in einem E-Book, in das Dokument aufnehmen möchten.
Funktioniert aber nur in Webkit-Browsern wie Chrome und Safari.
Denken Sie daran, dass der Selektor :after oder :before verwenden muss
Wenn Sie mehr über diese Data-URI-Sache lernen möchten, habe ich hier einiges dazu: https://css-tricks.de/data-uris/
@Chris, es scheint tatsächlich auch *ohne* :before und :after auf dem img-Tag zu funktionieren – genau wie George es gezeigt hat. Hat sich das Verhalten der content-Eigenschaft seit 2010 geändert?
Ich habe es in diesen Situationen verwendet
Gedankenstrich (–) in Listen, um Aufzählungszeichen zu ersetzen;
Semikolon am Ende von Listen und Punkt für das letzte Listenelement;
Anführungszeichen für Blockquotes;
«Warnung: Dies ist ein Phishing-Link» in meinem User-CSS für eine Seite, die oft gefälscht wird (+ [href*=…] und :not[href=…])
Nachteil der Verwendung von :after und :before ist, dass Firebug es nicht sieht (hoffe, sie beheben es in Zukunft).
Firebug sieht es nicht, aber die WebKit-Inspektoren tun die Tricks (zumindest für diese spezielle Demo).
Es wäre jedoch immer noch schön, diese Funktion auch in Firebug zu haben.
Ziemlich raffiniert. Ich entdecke gerade all die Genialität, die :before und :after zu bieten haben. Das sind tolle Tricks. Danke!
fantastisch.
Deshalb liebe ich CSS Tricks, Sie decken immer obskure Attribute auf und wenden sie dann auf praktische Situationen an, toller Beitrag Chris, danke!
Vor ein paar Jahren wollte ich einige „Anforderungen“ und „Ziele“ auflisten.
Es sollte möglich sein, ein Ziel zu einer Anforderung (oder umgekehrt) zu ändern, ohne die Nummerierung neu zu ordnen.
Ich habe das benutzt
und dies
Ich habe es verwendet, um das Nicht-Laden von Bildern zu verhindern, zusammen mit longdesc in HTML
Und um abgerundete Ecken und Schatten als semantische Elemente variabler Größe mit nur einem Bild zu erstellen
http://css.devillasbuenas.es/sombra-semantica/index.html
Grüße
Es gibt eine Möglichkeit, das „title“-Tooltip-Problem zu lösen
Verwenden Sie jQuery, um all dessen Inhalt in ein anderes Attribut zu kopieren, z. B. „tooltip“, und verwenden Sie dann die CSS-Content-Eigenschaft, um das „tooltip“-Attribut anzuzeigen.
Was mir daran am besten gefällt, ist, dass wenn JavaScript deaktiviert ist oder der Browser CSS nicht unterstützt (IE6 und 7), Sie immer noch Ihr natives Browser-Tooltip haben.
Definitiv ein guter Weg. Wie ich im Artikel kurz erwähnt habe, würde ich vielleicht „data-tooltip“ (gültig) statt „tooltip“ (ungültig) wählen.
Beachten Sie, dass diese Methode, wenn ich mich richtig erinnere, den Tooltip von JavaScript abhängig macht, was hier der Sinn der Sache war, nämlich einen CSS-Tooltip zu erstellen.
(vorausgesetzt, das CSS bezieht sich auf das Nicht-„title“-Attribut)
Nicht wirklich…. weil die Links das title-Attribut wie üblich haben werden, was einen normalen Tooltip ohne JavaScript hat. Aber mit JavaScript wird dieses Attribut in etwas geändert, das den Standard-Tooltip des Browsers nicht auslöst, aber immer noch für den CSS-Tooltip verwendet werden kann.
Hallo Chris, toller Artikel, danke.
Ich war schon eine Weile fasziniert von der „content“-Thematik. Anfangs brauchte ich es, um ein Problem mit unseren Formularen zu lösen: Anstatt einen Fehler rot zu färben, wollten wir Fehlertext vor einem Feld mit der Klasse „error“ ausgeben; das funktioniert in diesen Fällen perfekt.
Da wir jedoch eine staatliche Organisation sind, mussten wir die Zugänglichkeitsstandards einhalten, und da war es etwas schwierig.
Ich habe einen Beitrag im Accessify-Forum verfasst und ein freundlicher Herr namens Jordan Gray riet, dass es nicht sehr barrierefrei sei!
Dennoch, für meine persönlichen Bedürfnisse ist es großartig!
Nochmals vielen Dank für den tollen Artikel! :)
SEHR gut zu wissen, danke, dass Sie das teilen, Jonathan!
Ich denke, der erste Satz aus Jordans Kommentar ist es wert, wiederholt zu werden
Es ist wirklich schade, dass Screenreader noch nicht auf dem neuesten Stand sind. Wenn sie auf dem neuesten Stand wären, könnten wir Designer dies in vollem Umfang nutzen, da wir wissen, wie nützlich es sein kann.
Lassen Sie uns kurz etwas wiederholen und überprüfen.
CSS bekommt @var-Variablen
CSS hat fast grundlegende Wenn-Dann-Logik mit @media-Abfragen
(wenn die Gerätebreite kleiner als 600 Pixel ist, dann...)
CSS bekommt mathematische Berechnungen
(calc())
CSS kann Knoten zum DOM hinzufügen
(.email-address:before)
CSS kann auf DOM-Knotenattribute zugreifen
(content: attr(title) „: “;)
Sehe ich als Einziger einen guten Grund, eine gesperrte, vereinfachte Teilmenge von echtem JavaScript zu erstellen, die speziell für die Stiländerung von Inhalten entwickelt wurde?
@Chris Coyier
Wie in diesem Screenshot (http://i.imgur.com/jFbdF.png) gezeigt, zeigt Safari 5s Web Inspector die Pseudo-Selektoren vollständig an und interagiert mit ihnen.
Können Sie erklären, wie Sie zu diesem Punkt gekommen sind? Ich habe Safari 5 und habe den neuesten WebKit Nightly ausprobiert und konnte nicht herausfinden, wie man das Pseudoelement tatsächlich anvisiert.
Wieder lerne ich über eine obskure Ecke von CSS, die ich vergessen hatte – danke.
Ich glaube jedoch, dass Inhalt zu HTML und das Styling zu CSS gehört – ich kann mir vorstellen, dass eine Überbeanspruchung davon Dinge sehr verwirrend macht. Stellen Sie sich vor, Sie verwenden Tabellen in Ihrem HTML und Inhalt in Ihrem CSS…
Ich denke, es gibt Fälle, in denen Sie Inhalte hauptsächlich für Styling hinzufügen möchten.
Dieser Artikel interessierte mich, weil ich gerade eine Linkliste erstellt hatte, bei der ich am Ende jedes Links einen Pfeil nach rechts anzeigen wollte.
In meinem HTML hatte ich nach jedem Link
→, was meiner Meinung nach keine ideale Lösung ist. Diese Methode ist viel sauberer. Es gibt definitiv Situationen (vielleicht selten), in denen Inhalt Stil ist.Sie sind einfach der CSS-Meister!!
Vielen Dank an Sie und auch an all diese nützlichen Kommentatoren!!
Hey Chris, dieser Konverter könnte die Verwendung von Sonderzeichen etwas erleichtern :)
Geben Sie einfach das Zeichen ein und klicken Sie auf konvertieren!
Sie sind der Beste Chris. Liebe CSS Tricks
Ich nutze die content-Eigenschaft intensiv in Druck-Stylesheets :)
Cool! Das ist einfach großartig, ich mag die content-Eigenschaft in Druckstilen.
Du bist der Mann, Chris, tolle CSS-Arbeit
Ja, Pseudoselektoren sind nett. Ein Designer sagte mir, dass sie Anführungszeichen vor und nach einem Slogan haben wollte, aber diese sollten Times statt Cufon-Ersetzung sein.
Eine Verwendung für „content“ ist die Verwendung zusammen mit Zählern, um Bilder zu nummerieren, wie z. B. „Abbildung 1“, „Tabelle 3-2“. Dies könnte leicht über CSS erfolgen und ist einfacher, als es in das Markup einzufügen.
Außerdem verwenden Sie es in Ihrem Code und Ihren
-Tags, um den Besuchern die Sprache des Codes anzuzeigen. Das ist ziemlich raffiniert.toller Artikel über eine sehr wenig besprochene CSS-Eigenschaft!
Hallo Chris, das ist ein sehr interessanter Beitrag. Es scheint, dass :before und :after Pseudoselektoren viel können. Ich habe sie bisher nicht wirklich auf meinen Websites verwendet… vielleicht verpasse ich einen Trick, ich scheine bisher ohne sie zurechtzukommen.
Ich freue mich darauf, wie sich dieses Blog-Thema weiterentwickelt…
Prost.
Oh, das ist so cool. Ich werde das benutzen!
Danke!
Eine Sache, die ich vorher versucht habe, aber nicht erfolgreich war, war die Möglichkeit, HTML-Inhalte nach einem bestimmten Element einzufügen. Ein gutes Beispiel hierfür wäre der Band-Effekt, bei dem Sie nach einem Haupt-Div zwei zusätzliche Divs eingeben müssen. Es wäre großartig, einen Weg zu finden, diese zusätzlichen Divs über den :after-Pseudoselektor einzufügen.
Eine Sache, die ich unintuitiv fand, als ich es für Links einstellte, war, dass man NICHT
a:after {...}verwenden kann, sondern es alsa[href]:after {...}referenzieren muss, obwohl ich verstehe, warum das so sein könnte. Außerdem sollte erwähnt werden, dass bei der Verwendung von Hover- oder Aktivzuständen sowie Klassen und IDs die Syntax in der folgenden Reihenfolge verwendet werden sollte, da sie anfangs nicht sehr offensichtlich wara[attr]:state#id.class:afterGanz zu schweigen von den äußerst nützlichen Fähigkeiten zum Löschen von Floats
Das ist tatsächlich eine ziemlich gute Vorgehensweise. Gut gemacht, Chris!!
Dieser Artikel hätte mir vor etwa einem Jahr Zeit gespart, als ich ein WordPress-Theme basierend auf dem Standard-Theme erstellt habe. Sie haben einige Inhaltselemente in das CSS eingefügt, um die >> hinzuzufügen. Es hat mich ewig gekostet, herauszufinden, woher es kam.
Ehrlich gesagt hätte ich wahrscheinlich jQuery verwendet, um die E-Mail-Adresse vorne einzufügen. Ich verstehe, dass man den HTML-Code nicht überladen möchte, aber gibt es einen Grund, warum man bei so etwas CSS anstelle von JS verwenden würde?
Das ist großartig. Ich habe nach einer einfachen Möglichkeit gesucht, mehrstufige Menüs in WordPress anzuzeigen, und das ist dafür perfekt :D
.haschildren a:before {
content: „»“;
}
und das entfernen von » aus dem Untermenü
.haschildren ul .page_item a:before {
content: normal;
}
Danke!
Verdammt… das funktioniert nicht mit WordPress 3….
Zusätzlich zum von Brendan verlinkten Konvertierungstool lohnt sich auch ein Blick auf http://www.digitalmediaminute.com/reference/entity.
Danke Chris. Ich überlege immer noch, wie ich das auf mein aktuelles Projekt anwenden kann, aber es ist definitiv neu für mich :)
Danke für den tollen Artikel!! Ich habe letzte Woche nach weiteren Informationen zur Verwendung der CSS-Content-Eigenschaft gesucht und nichts gefunden, das geholfen hätte. Das hat meine Fragen so ziemlich beantwortet. Großartig!
Ich habe das CSS-Content-Attribut verwendet, um mein Debug-Stylesheet anzutreiben, das ich über ein Bookmarklet ein- und ausschalte. Funktioniert großartig und das Entwicklungsteam kann schnell potenzielle Probleme in unseren Markup-Strukturen erkennen.
Gibt es eine Möglichkeit, diese Eigenschaft für IE 6 und 7 zu unterstützen?
Ich denke, das wäre großartig für den jüngsten Hype um responsives Webdesign.
Zum Beispiel eine Situation, in der Symbole in einer Seitenleiste auf einem 3x3-Raster bei größeren Auflösungen angezeigt würden, aber bei einem schmaleren Layout in einer Liste mit Wörtern daneben erscheinen.
Tolle Nutzung des Content-Tags, Chris. Ich habe damit ein wenig herumgespielt und mit dem folgenden jQuery-Code funktionieren die Flyouts auch in Firefox (noch keine CSS-Animationen-Unterstützung).
Kombiniert mit Modernizr könnten Sie CSS3-Animationen erkennen und dort verwenden, wo sie unterstützt werden, und das obige jQuery dort verwenden, wo sie nicht unterstützt werden. So könnten Sie allen Benutzern die gleiche Funktionalität bieten.
Ich habe hier eine Demo hochgeladen
Sicher, dass Sie einen maskierten Hex-Wert für Sonderzeichen benötigen? Ich gebe einfach beliebige Unicode-Symbole direkt ein. Es funktioniert und ist lesbarer.
Vergessen Sie natürlich nicht, Ihre CSS-Dateien als UTF-8 über einen HTTP-Header bereitzustellen. Um sicherzugehen, fügen Sie
@charset 'UTF-8';ganz oben in die CSS-Datei ein.Großartiger Artikel, ich mag den CSS-Tooltip-Snippet sehr.
Ich habe bemerkt, dass Sie in Ihrem Code (versehentlich) hatten
z-index: 20px;
aber ich denke, Sie meinten
z-index: 20;
soweit ich weiß, sind für diese Eigenschaft nur ganzzahlige Werte erlaubt, auch wenn sie das ‚px‘ wahrscheinlich einfach ignoriert.
Chris,
Ich habe dies auf meiner neuesten Website ausprobiert und versucht, den Alt-Text eines Bildes darüber zu legen. Aus irgendeinem Grund konnte ich es nicht zum Laufen bringen und musste den Text nehmen und ihn stattdessen in das Title-Attribut des übergeordneten Listenelements einfügen. Ich habe es zum Laufen gebracht und es sieht wirklich gut aus, aber ich fragte mich, ob Sie schon einmal auf einen Fall gestoßen sind oder einen Grund kennen, warum dies nicht mit dem Alt-Text des Bildes als CSS-Inhalt funktionieren würde.
Hallo zusammen,
Mark, ich bin daran interessiert zu erfahren, ob Sie eine Lösung für Ihr Problem gefunden haben, da ich genau dasselbe tun möchte.
Vielen Dank,
Cristi
Ich versuche einzufügen
<div class=”rightArrow”> </div>
als Inhalt :before Die div-Tags werden angezeigt. Ich habe 03c... und <.... versucht, aber nichts. Irgendeine Idee, wie man Tags einfügt?
Danke für die Hilfe.~
Sehr schöner Artikel, um den Tooltip-Stil ohne JS oder jQuery zu ändern.
Nur eine Frage, ist es möglich, die „transition“-Eigenschaften von CSS zu verwenden, um das Erscheinen des Tooltips zu animieren?
Hallo,
Ich weiß, dass dieser Artikel irgendwie alt ist, aber immer noch aktuell für jeden, der nichts über die content-Eigenschaft weiß.
Ich habe einen Kommentar zur Animation oder Übergang eines Pseudo-Elements.
Ich habe es geschafft, aber konnte das Ein- und Ausblenden noch nicht so steuern, wie ich es möchte.
Ist das mittlerweile in CSS aktualisiert?
Ich werde einen Link zu der Seite posten, auf der ich das angewendet habe.
Die Spezifikation besagt, dass die Deklaration
content: '';nur bei Pseudo-Elementen funktionieren sollte, aber dieses Beispiel funktioniert in den neuesten Webkit-Browsern.( „http://www.projectevolution.com/activity/replace-image-when-printing/“ „projectevolution.com/activity/replace-image-when-printing“)
Druckvorschau dieser Seite in Chrome, um den Unterschied zu sehen: ( http://preview.python.org „preview.python.org“)
Wissen Sie, ob Webkit absichtlich nachgiebig ist oder ob sich die Spezifikation lockert?
Das ist cool, aber gibt es mehr...
ref: sass, siehe hint.css unter http://kushagragour.in/lab/hint/
Definitiv ein Loch in das Gefüge des Internets reißen (für ie6, aber...)
(absoluter Akteur hält fixierten Akteur) gehalten von relativem Akteur...
(siehe Chris' Antwort am Anfang dieser Kommentar-Gruppe)
kann ein per Attribut gehaltener Tooltip relativ zur Seite gekippt werden,
so dass die Tooltip-Anzeige flüssig, zentriert, responsiv ist?
Demo bitte oben, Chris.
Wissen Sie, warum tit nicht funktioniert?
[main role=”main” class=”container” data-margin=”20vw”]
danke
Ich denke, man kann Attributwerte nur von einem Element als „content“-Eigenschaft für generierten Inhalt erhalten, nicht als beliebigen Wert für eine CSS-Eigenschaft.
Arbeite an einem responsiven Design, bei dem ich einen en-Gedankenstrich zu Navigationskindern der zweiten Ebene und einen em-Gedankenstrich zu denen der dritten Ebene hinzufügen möchte, wenn das Gerät weniger als 480 Pixel breit ist.
Was mir Schwierigkeiten bereitet, ist das Entfernen, wenn ich den Breakpoint für Geräte über 768 Pixel erreiche. Kann mir jemand sagen, wie ich diese Formatierung entfernen kann?
Ihre Hilfe wird sehr geschätzt.
Um zurückzusetzen, deklariere ich normalerweise content: ”;
Die Idee mit den Links zum Drucken ist cool (aber „content: “ fehlt). Lohnt sich vielleicht, sie zu erweitern, um Links innerhalb der Seite auszuschließen.
@media print {
.main a[href]:after { content: ” (” attr(href) “) “; }
.main a[href^=”#”]:after { content: “”; }
}
Coole Sache...
Heute habe ich mir angesehen, wie GitHub CSS-Content verwendet, um seine Anker zu verzieren. Gehen Sie zu https://github.com/lodash/lodash/blob/master/README.md und bewegen Sie den Mauszeiger über einen der Titel. Die CSS-Datei scheint so auszusehen:
Der Glyph
F05Cist jedoch seltsam. Wenn ichalert('\F05C')ausführe, erhalte ich ein leeres Quadrat. Laut http://www.fileformat.info/info/unicode/char/f05c/index.htm ist es ein asiatischer Glyph...Was fehlt mir?
Höchstwahrscheinlich ein Iconfont, da sie ihre Zeichen normalerweise Glyphen außerhalb des lateinischen Schriftsatzes zuordnen.
Vielen Dank, ‚iconfont‘ war das fehlende Stück. Das hatte ich noch nie gehört, keine Ahnung, was das ist, aber die Suche im Internet nach ‚GitHub‘ und ‚iconfont‘ führte zu https://github.com/styleguide/css/7.0. Fall abgeschlossen.
Das ist ein sehr interessantes Konzept. Vielen Dank für die detaillierte Erklärung. Ich habe nach einer Möglichkeit gesucht, wiederkehrenden Code in eine Klasse mit CSS einzubetten. Zum Beispiel habe ich auf meiner Rezensionsseite Dutzende von Rezensionen aufgelistet. Neben jeder Rezension gibt es Social-Media-Links, mit denen der Benutzer die Rezension auf verschiedenen sozialen Netzwerken teilen kann. Ich möchte nicht den gesamten Code für jede Instanz der Social-Media-Links wiederholen.
Glauben Sie, dass es eine Möglichkeit gibt, den Code in eine Klasse zu legen und die Klasse für jede Instanz aufzurufen?
Nein, ein Server-Side Include wäre der beste Weg, um das zu handhaben. Das Einfügen von ausführbarem HTML in das DOM über CSS und die content-Eigenschaft wäre eine große Sicherheitslücke, wenn es erlaubt wäre. Ich glaube, CSS lässt das nicht zu. Wenn es das zulässt – sagen wir, Sie codieren das HTML per Base64 und lassen es dann irgendwie vom CSS rendern – wäre es möglich, Skript-Injection über CSS durchzuführen.
Vielen Dank für die schnelle Antwort. Haben Sie Ideen, wie man HTML-Code minimiert, wenn man ihn mehrmals auf einer Seite replizieren muss? Sie erwähnten „Server-Side Include“. Damit bin ich nicht vertraut, könnten Sie mir eine Richtung für Hilfe oder andere Ideen geben? DANKE John
Die meisten Programmiersprachen – ASP, PHP, etc. – haben die Mittel, mit denen eine externe Datei referenziert und in die aktuelle Arbeitsdatei „eingebunden“ werden kann. Das ist großartig, um kleine Codefragmente an mehreren Stellen wiederzuverwenden. Wenn Sie nicht mit einer dynamischen Server-Programmiersprache arbeiten, kann etwas Ähnliches mit jQuery und AJAX erreicht werden, wobei eine Codefragmente in bestimmte Teile der Vorlage eingefügt werden kann.
In Ihrem Fall stelle ich mir vor, Sie haben ein leeres Div wie folgt: „und dann ein bisschen JavaScript, das nach diesen Elementen sucht und das richtige HTML innerhalb des Div hinzufügt. Das ergibt auch Sinn für „progressives Enhancement“, denn wenn der Browser JS nicht aktiviert hat (oder es kaputt ist), passiert nichts und die Seite wird nicht mit Social-Sharing-Code überladen, der nicht ausgeführt werden kann.
Ich kann Ihnen nicht genau sagen, wie es geht, da vieles davon abhängt, wie Ihre Website eingerichtet ist, aber das ist die Idee.
Der Unterschied zwischen Inhalt und Design liegt in den allerersten Konzepten des WWW. Leistung und Lesbarkeit.
Die Leistung ist der Grund, warum wir (Entwickler, Designer) ALLES optimieren!!!!
Lesbarkeit oder die Erfüllung des Zwecks der Botschaft wird durch einen Prozess namens „Design“ erreicht.
Wenn diese beiden Vorstellungen klar sind und der aktuelle Stand der Technologie/Technik, lösen Sie das Problem der Unterscheidung zwischen Inhalt und Design.
Und das ist keine bescheidene Meinung...
Lazaros
Cooler Trick für Tooltips. Die Verwendung von data-title wird empfohlen. Wenn Sie einfache Tooltips wünschen, verwenden Sie diese Methode anstelle von jQuery-Plugins.
Danke Chris, jede CSS-Frage, die bei Google gestellt wird, führt zu Ihren Artikeln und jedes Mal wird die beste Antwort gefunden.