Wie gebe ich einen Text oder ein Bild mit einem transparenten Hintergrund mit CSS Stack-Überlauf

Für eine einfache halbtransparenten Hintergrundfarbe, die oben genannten Lösungen (CSS3 oder bg Bilder) sind die besten Optionen. Allerdings wollen etwas schicker (zum Beispiel Animation, mehr Hintergründe, etc.) zu tun, oder wenn Sie nicht auf CSS3 verlassen wollen, können Sie die „pane Technik“ versuchen:

Die Technik arbeitet mit Hilfe von zwei „Schichten“ innerhalb des äußeren Scheibenelementes:

  • eine (die „Rückseite“), die die Größe des Scheibenelementes paßt, ohne den Fluss von Inhalten betreffen,
  • und eine (die „CONT“), die den Inhalt enthält, und hilft dabei, die Größe der Scheibe zu bestimmen.

Die Position: relative auf Scheibe ist wichtig; es sagt Rückschicht auf die Scheibe der Größe zu passen. (Wenn Sie die

Tag absolut zu sein, die Scheibe aus einem ändern

zu einem und wickeln alles, was in einer absolut-Position

-Tag.)

Der Hauptvorteil dieser Technik hat über ähnliche oben genannten ist, dass die Scheibe nicht eine bestimmte Größe sein muss; wie oben kodiert, wird es mit voller Breite (normal Blockelement-Layout), und nur so hoch ist wie der Inhalt passen. Die äußere Scheibe Element kann beliebig dimensioniert sein, und bitte Sie, solange es rechteckig ist (das heißt Inline-Block arbeiten; plain-alt Inline nicht).

Außerdem gibt es Ihnen viel Freiheit für den Hintergrund; Sie sind frei, wirklich etwas in den Rücken Element zu setzen und haben es nicht den Fluss von Inhalt beeinflussen (wenn Sie mehrere Full-Size-Unterschichten wollen, so stellen Sie sicher, dass sie auch Position haben: absolute, Breite / Höhe: 100%, und oben / unten / links / rechts: auto).

Eine Variation Hintergrund Inset Einstellung zu ermöglichen (über oben / unten / links / rechts) und / oder Hintergrund Pinning (über eine der links / rechts oder oben / unten Paare zu entfernen), das Folgendes CSS zu verwenden, anstatt:

Wie schon geschrieben, das funktioniert in Firefox, Safari, Chrome, IE8 + und Opera, obwohl IE7 und IE6 erfordern zusätzliche CSS und Ausdrücke, IIRC, und ich das letzte Mal überprüft, wird die zweite CSS Variation in Opera nicht.

Dinge zu achten:

Und hier ist eine Live-Demo der Technik ausgiebig zum Einsatz:

Das Problem ist, dass der Text tatsächlich voll Opazität in Ihrem Beispiel. Es hat die volle Opazität innerhalb des p-Tages, aber der p-Tag ist nur halbtransparent.

Sonst wird es nicht möglich sein.

Hier ist, wie ich dies tun (es könnte nicht optimal sein, aber es funktioniert):

Erstellen Sie die div, dass Sie semi-transparent sein wollen. Geben Sie ihm eine Klasse / id. Lassen Sie es leer, und schließen Sie es. Geben ihm eine festgelegte Höhe und Breite (sagen wir, 300 Pixel mal 300 Pixel). Geben Sie ihm eine Opazität von 0,5 oder was auch immer Sie mögen, und eine Hintergrundfarbe.

Dann direkt unter dieser div, erstellen Sie ein anderes div mit einer anderen Klasse / id. Erstellen Sie einen Absatz im Innern, wo Sie Ihren Text platzieren werden. Geben Sie die div position: relative und oben: -295px (das ist NEGATIVE 295 Pixel). Geben Sie ihm einen Z-Index von 2 für eine gute Maßnahme, und sicherstellen, dass ihre Opazität 1. Style Ihr Absatz ist, wie Sie möchten, aber stellen Sie sicher, dass die Abmessungen kleiner sind als die des ersten div so ist es nicht überläuft.

Das ist es. Hier ist der Code:

Dies funktioniert in Safari 2.x, ich weiß nicht, über das Internet Explorer.

5 Umdrehungen, 5 Benutzer 57%
paris ionescu

Während Hintergrund-Farbe von allen gängigen Browsern (nicht neu zu CSS3) unterstützt wird [1] die alpha Durchsichtigkeit kann schwierig sein, vor allem mit dem Internet Explorer vor Version 9 und mit Randfarbe auf Safari vor Version 5.1. [2]

Mit so etwas wie Compass oder SASS kann wirklich Produktion und Cross-Plattform-Kompatibilität helfen.

CSS3 hat eine einfache Lösung des Problems. Benutzen:

Hier steht rgba für Rot, Grün, Blau und Alpha-Wert. Grün-Wert erhalten wird, da 255 und halbtransparent ist, um 0,5 & alpha; -Wert erhalten.

Wenn Sie ein Photoshop-Typ sind, können Sie auch:

Sie können dies für den Internet Explorer 8 lösen, indem (ab) die Steigung Syntax. Das Farbformat ist ARGB. Wenn Sie den Sass Präprozessor verwenden, können Sie Farben mit der integrierten Funktion „ie-hex-str ()“ konvertieren.

Hier ist ein Beispiel:

beantwortet 14. September '14 um 19:21 Uhr

Wenn Sie mit weniger. Sie können verblassen (Farbe, 30%) verwenden.

Juni beantwortet 3 '15 um 7:28

alex
293K ● 146 ● 695 ● 857

Um den Hintergrund eines Elements halbtransparent, sondern haben den Inhalt zu machen - opak (Textbilder) des Elements. Sie müssen CSS-Code für das Bild schreiben, und Sie haben ein Attribut namens Opazität mit Minimalwert hinzuzufügen. z.B.

// weniger mehr der Wert der Transparenz sein wird, Erz der Wert kleiner wird die Transparenz sein.

Juni beantwortet 3 '16 um 12:09

Dies ist eine Möglichkeit, es in modernen Browsern zu tun. Ich kombiniere sie mit den RGBA-Werte als Ausweich - Tahir Khalid 14. Juli '16 um 14:57 Uhr

Ja richtig. Dies ist eine der Art und Weise mit modernem Browser zu beschäftigen. - Pushp Singh 21. Juli '16 um 13:05 Uhr

Es gibt eine einfachere Lösung ein Overlay über ein Bild auf dem gleichen div zu setzen. Es ist nicht der richtige Einsatz dieses Werkzeugs. Aber funktioniert wie ein Zauber, den Overlay zu machen mit Hilfe von CSS.

Verwenden Sie einen Einsatz Schatten wie folgt aus:

In Verbindung stehende Artikel