Transparenz vererbt sich auf alle Divs

Status
Nicht offen für weitere Antworten.

Kipperlenny

Erfahrenes Mitglied
Moin

dazu gibt es im Internet zwar viel, aber die Vorgeschlagene Lösung "Eindeutige IDs für jedes Divs mit unterschiedlichen Opacity Werten" funktioniert bei mir irgendwie nicht.

Dadurch haben alle Divs die in einander geschachtelt sind die gleiche opacity, wobei aber eigentlich nur der oberste transparent sein soll.

Hier die Homepage: http://www.lhg-augsburg.de

Hier der Quellcode:

HTML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>

<title>Content Center - Mit CSS den Inhalt der Seite mittig Platzieren</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<style type="text/css">

#contentcenter	{

	width: 700px;

	position: absolute;
	left: 50%;

	margin-left: -350px;
	background-color: #F7FC77;
	filter:alpha(opacity=90);
	-moz-opacity:0.90;
	opacity:0.90;
}

#maincontent	{

	width: 698px;

	border: 1px solid #CCC;
	filter:alpha(opacity=100);
	-moz-opacity:1.00;
	opacity:1.00;

}

ul li {
    list-style-type: none;
}

a img {
	display: block;
	border: 0;
}
</style>
</head>

<body style="width:100%;height:100%;background-image:url(./back.png);">
<div id="contentcenter">

	<div id="maincontent">
         <table width="100%" style="background-color: #F7FC77;"><tr style="vertical-align: top; height:160px;">
			<td style="vertical-align: top; width:250px;"><img src="logo.png" /></td>
			<td style="vertical-align: top; width:448px;">Hier ein toller Spruch</td>
			</tr>
			<tr style="vertical-align: top;">
			<td style="vertical-align: top; width:250px;">
			<ul>
			<li><a href="./index.html"><img src="./start.png" /></a></li>
			<li><a href="./programm.html"><img src="./prog.png" /></a></li>
			<li><a href="./kandidaten.html"><img src="./kandi.png" /></a></li>
			<li><a href="./impressum.html"><img src="./impr.png" /></a></li>
			</ul>
			</td>
			<td style="background-color: white;vertical-align: top; width:448px; height: 600px;">
			Hier könnt ihr euch unser Programm runterladen: <a href="./programm.pdf" target="_blank">Wahlprogramm</a>
			</td>
			</tr></table>
			</div>

</div>
</body>
</html>

Kann mir dabei jemand helfen?

lenny
 
Hi,

dir stehen hier grundsätzlich diese beiden Lösungsmöglichkeiten zur Auswahl:

  1. Anstelle des Opacity-Filters ein halbtransparentes PNG als Hintergrund verwenden.
  2. Die Blöcke nicht ineinander verschachteln, sondern mittels der z-index-Eigenschaft übereinander positionieren.
 
Die sind ineinander verschachtelt, weil das auch ne Lösung aus dem Netz ist um es in jedem Browser schön mittig zu haben.

Das mit halbtransparentem PNG teste ich mal eben.
 
Ich hab dir lediglich die beiden Techniken genannt, die das Vererben der Transparenz grundsätzlich verhindern. ;)

Für die älteren IEs bis einschliesslich dem IE6, die bekanntermaßen mit transparenten PNGs nicht umzugehen wissen, empfehle ich dir den Artikel Cross-browser semi-transparent backgrounds.

Achte hierbei aber auf die Dimension / Kantenlänge der PNG-Grafik, denn gewisse Maße führen im IE dazu, dass darüberliegende Links oder Formularelemente nicht genutzt werden können.

In dem empfohlenen Artikel findest du im Abschnitt Addendum: IE Link bug eine tabellarische Übersicht mit den Breiten-/Höhenmaßen, die im IE zum Bug führen, oder eben nicht.
 
Also bei einem halbtransparenten gelben PNG (was auf meinem vorherigen Beispiel die Background Color #F7FC77 war) sieht das ganze nicht mehr wirklich gelb ondern eher leicht bräunlich aus...

Nicht so wunderhübsch :D

Aber warum geht es denn nicht mit eindeutigen IDs und dementsprechend dem Aufheben der opacity?!
 
Solange die Blöcke ineinander verschachtelt sind, nützt da eine Zuordnung von IDs mit den entsprechenden Filterwerten überhaupt nichts.

Da hilft halt nur ein semitransparentes PNG-Hintergrundbild, oder eine Schichtpositionierung der einzelnen Blöcke, wobei letzteres natürlich in den wenigsten Fällen praktikabel ist.
 
Status
Nicht offen für weitere Antworten.
Zurück