Transparente CSS-Hintergrundfarbe


Antworten:



43

Beachten Sie diese drei Optionen (Sie möchten # 3):

1) Das gesamte Element ist transparent:

visibility: hidden;

2) Das gesamte Element ist etwas transparent:

opacity: 0.0 - 1.0;

3) Nur der Hintergrund des Elements ist transparent:

background-color: transparent;

14

ja das ist möglich Verwenden Sie einfach die rgba-Syntax für Ihre Hintergrundfarbe.

.menue{
  background-color: rgba(255, 0, 0, 0.5); //semi-transparent red
}

2
Hallo! Wissen Sie etwas über die CSS-Definition von 'Hintergrundfarbe' mit aplha-Kanal, aber indem Sie den # HEX-Wert für Farbe verwenden?
Piotr Stępniewski

@ PiotrStępniewski Wahrscheinlich spät, aber jetzt gibt es eine solche Syntax (siehe meine Antwort )
FZs

10

Hier ist eine Beispielklasse mit CSS-Farben:

.semi-transparent {
  background: yellow;
  opacity: 0.25;
}

Dies fügt einen Hintergrund hinzu, der zu 25% undurchsichtig (farbig) und zu 75% transparent ist.

CAVEAT Leider wirkt sich die Deckkraft auf das gesamte Element aus, an das sie angehängt ist.
Wenn Sie also Text in diesem Element haben, wird der Text ebenfalls auf 25% Deckkraft eingestellt. :-(

Der Weg, dies zu überwinden, besteht darin, die Methoden rgbaoder zu hslaverwenden, um Transparenz als Teil Ihrer gewünschten Hintergrundfarbe anzuzeigen. Auf diese Weise können Sie die Hintergrundtransparenz unabhängig von der Transparenz der anderen Elemente in Ihrem Element festlegen.

Hier sind 3 Möglichkeiten, um einen blauen Hintergrund bei 75% Transparenz festzulegen, ohne andere Elemente zu beeinflussen:

  • background: rgba(0%, 0%, 100%, 0.75)
  • background: rgba(0, 0, 255, 0.75)
  • background: hsla(240, 100%, 50%, 0.75)

8

In diesem Fall background-color:rgba(0,0,0,0.5);ist der beste Weg. Zum Beispiel:background-color:rgba(0,0,0,opacity option);


6

Um dies zu erreichen, müssen Sie background-colordas Element ändern .

Möglichkeiten, eine (halb-) transparente Farbe zu erstellen:

  • Der CSS-Farbname transparenterzeugt eine vollständig transparente Farbe.

    Verwendung:

      .transparent{
        background-color: transparent;
      }
    
  • Verwenden von rgbaoder hslaFarbfunktionen, mit denen Sie den Alpha-Kanal (Deckkraft) zu den Funktionen rgbund hinzufügen hslkönnen. Ihre Alpha-Werte reichen von 0 bis 1.

    Verwendung:

      .semi-transparent-yellow{
        background-color: rgba(255, 255, 0, 0.5);
      }
      .transparent{
        background-color:  hsla(0, 0%, 0%, 0);
      }
    
  • Neben den bereits erwähnten Lösungen können Sie auch das HEX-Format mit Alpha-Wert ( #RRGGBBAAoder #RGBANotation ) verwenden.

    Das ist ziemlich neu (in CSS Color Module Level 4 enthalten), aber bereits in größeren Browsern implementiert (sorry, kein IE).

    Dies unterscheidet sich von den anderen Lösungen, da hierbei der Alphakanal (Deckkraft) ebenfalls als Hexadezimalwert behandelt wird, sodass er zwischen 0 und 255 liegt ( FF).

    Verwendung:

      .semi-transparent-yellow{
        background-color: #FFFF0080;
      }
      .transparent{
        background-color: #0000;
      }
    

Sie können sie auch ausprobieren:

  • transparent::

  • rgba()::

  • #RRGGBBAA::


5

Versuche dies:

opacity:0;

Für IE8 und früher

filter:Alpha(opacity=0); 

Deckkraft-Demo von W3Schools


6
Die Seite, auf die Sie verlinken, ist schrecklich.
John Dvorak

1
@ TheWandererr Ich beginne mit der Seite, die verlinkt wird. Denken Sie daran, es soll beispielhaften Code demonstrieren. Und doch ... Es gibt keine Einrückung. Beachten Sie, dass sie den HTML5-Doctype verwenden, dh sie haben die Seite entweder aktualisiert, nachdem sie hier verlinkt wurde, oder sie haben HTML5 ein halbes Jahr verwendet, bevor sie sich überhaupt im Empfehlungsstatus des Kandidaten befand. Weiter: Inline-CSS ist schlecht, für das Caching und für die Lesbarkeit. Sie müssen es hier irgendwie verwenden, weil sie nur ein Panel für die gesamte Seitenquelle haben, aber wenn sie mehrere Panels verwenden, wie es jsfiddle (2010) tut. Und selbst für eine Seite, die Opazität demonstriert
John Dvorak

1
@ TheWandererr hätten sie besser machen können. Indem Sie den Effekt auf verschachtelte Elemente anzeigen oder eine Hover-Aktion zulassen, um sie zu deaktivieren. Dann gibt es das ganze "vorgeben, das w3-Konsorzium zu sein, und wenn Sie herausfinden, dass Sie ein oder zwei weitere Reskins herausbringen, die auch als w3something bezeichnet werden" - ein bisschen unehrlich, wenn Sie mich fragen. Sie sagen auch, dass ihre Beispiele möglicherweise "aus Gründen der Lesbarkeit vereinfacht" und "ständig überprüft" werden, aber das Entfernen von Leerzeichen hilft nicht bei der Lesbarkeit und die IE7-Unterstützung ist auch nicht gerade der neue Trend. Wer würde nicht 100 Dollar für ein Stück Papier bezahlen, das ihre Glaubwürdigkeit beeinträchtigt?
John Dvorak

1
@ TheWandererr IIRC, sie hatten früher eine Vorschau des Tests. Die Fragen waren eine Mischung aus Trivia und Einstiegsmaterial. Möglicherweise hatten sie auch einige der Antworten leicht falsch. Was den Deckkraftteil ihres CSS-Tutorials betrifft: Drei Überschriften, die Bilder transparent machen sollen - sie ändern nur die CSS-Auswahl. Dann noch zwei Absätze - einer zur Einführung von RGBA (schließlich ist nur der Hintergrund transparent) und einer als "Integrationsbeispiel" (yay! Auch keine Einrückung). Dann ... das war's. An Deckkraft ist nichts mehr. Und nein, später gibt es auch kein Thema "Erweiterte Deckkraft".
John Dvorak

1
@TheWandererr Lassen Sie uns über Javascript sprechen: Alle ihre Beispiele umfassen: keine Einrückung (auch in Javascript-Code); innerHTML =(Hey, zumindest ist es besser als die Warnungen, die document.writesie 2012 durchgeführt haben, aber immer noch keine DOM-Manipulation außerhalb des jQuery-Tutorials, mit Ausnahme des Tutorials, in dem die relevanten Methoden pro Kapitel aufgelistet sind, und selbst dann ist es nur eine Auswahl - und ja, sie listen auf document.write). Das XHR-Tutorial verwendet readyStateChange anstelle von onLoad (unterstützt seit IE7). Oh und ihre Problemumgehung für Funktionen in JSON? Stringifizieren Sie sie, um später ausgewertet zu werden
John Dvorak

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.