Ich habe Probleme, dieses Rendering in meinem Browser (Chrome) richtig zu machen. Ich habe einen Wrapper, der alle Elemente des HTML-Codes enthält, und ich möchte einen DIV (nennen wir ihn div-1), der ein Bild enthält, und einen Overlay-Div darüber links, wie ich hier skizziert habe Bild ... irgendwelche schnellen Lösungen?
75
pointer-events: none;
, dem.dimmed:after
Selektor etwas hinzuzufügen . Siehe auch stackoverflow.com/questions/1009753/… . Bitte lassen Sie uns wissen, ob es in diesem speziellen Anwendungsfall funktioniert.Mit CSS3 müssen Sie mit der Transparenz kein eigenes Bild erstellen.
Haben Sie einfach ein div mit dem folgenden
position:absolute; left:0; background: rgba(255,255,255,.5);
Der letzte Parameter im Hintergrund (.5) ist die Transparenzstufe (eine höhere Zahl ist undurchsichtiger).
Beispiel Geige
quelle
.foo { position : relative; } .foo .wrapper { background-image : url('semi-trans.png'); z-index : 10; position : absolute; top : 0; left : 0; } <div class="foo"> <img src="example.png" /> <div class="wrapper"> </div> </div>
quelle
top:0; left: 0;
die.wrapper
opacity:0.4; filter:alpha(opacity=40); /* For IE8 and earlier */
Für ein div-Element können Sie die Deckkraft einfach über eine Klasse festlegen, um den Effekt zu aktivieren oder zu deaktivieren.
.mute-all { opacity: 0.4; }
quelle
Wie die vorherige Antwort, aber ich würde :: vorher setzen, nur zum Stapeln. Wenn Sie Text über das Overlay einfügen möchten (ein häufiger Anwendungsfall), sollte dies durch die Verwendung von :: before behoben werden.
.dimmed { position: relative; } .dimmed:before { content: " "; z-index: 10; display: block; position: absolute; height: 100%; top: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.5); }
quelle