Transparente CSS-Hintergrundfarbe

85

Ich möchte den Hintergrund des Listenmenüs mithilfe der Deckkraft verschwinden lassen, ohne die Schriftart zu beeinflussen. Ist das mit CSS3 möglich?

Saranya
quelle
Ja sicher! Sie können es mit diesem Trick tun: stackoverflow.com/a/15351192/366884 Viel Glück
Saud Alfadhli

Antworten:

115

Jetzt können Sie rgba in folgenden CSS-Eigenschaften verwenden:

.class {
    background: rgba(0,0,0,0.5);
}

0,5 ist die Transparenz , ändern Sie die Werte entsprechend Ihrem Design.

Live-Demo http://jsfiddle.net/EeAaB/

Weitere Informationen http://css-tricks.com/rgba-browser-support/

Rohit Azad Malik
quelle
Vielen Dank. aber ich möchte die Standardpfeilmarkierung im
Listenmenü anzeigen,
1
Gibt es eine Möglichkeit, dies kürzer zu schreiben rgba('black', 0.5)?
Phil294
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;
jordanb
quelle
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
}
oezi
quelle
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)
SherylHohman
quelle
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);

dasdasdasdasd
quelle
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::

FZs
quelle
5

Versuche dies:

opacity:0;

Für IE8 und früher

filter:Alpha(opacity=0); 

Deckkraft-Demo von W3Schools

Vinod
quelle
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
2

Ja, Sie können einfach nur Text als

.someDive{
    background:transparent 
}
Emin Adiloğlu
quelle