Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

hintergrund transperent im IE





Frage

Hallo Leute mir ist aufgefallen, dass auf manchen myspace-seiten der hintergrund der tabellen transparent ist, das funktioniert auch im internet explorer. nun wollt ich das auch mal umsetzten, aber im opera und beim firefox geht es, nur beim ie nicht. mit dem css befehel hab ichs gemacht: background-color:transparent; woran liegt dass? hab deswegen extra schonmal das doctype weggelassen (myspace nutzt glaub ich auch keins) aber hat nichts gebracht. was kann ich jetzt tun? mfg mirwald

Antwort 1 von rfb

Zitat:
mit dem css befehel hab ichs gemacht:
background-color:transparent;

background-color ist kein Befehl sondern eine Eigenschaft

Und "transparent" ist der Initialwert - wenn du nix angibst wird das genau so gemacht wie gewünscht.

Wenn es also Probleme gibt müssen die woanders liegen (auch nicht am Quirksmodus - der beeinflusst meines Wissens im IE nicht die Hintergrundfarben, siehe DOCTYPE-Switch).

Poste doch mal den relevanten Quellcode.

Antwort 2 von mirwald

HI

ich hatte vergessen zu erwähnen dass es sich um ein iframe handelt.

habe mal 2 dateien gemacht:

die hauptdatei:
<html>
<head>
</head>
<body bgcolor="#ffffaa" >

<table style="position:absolute; left:100px; top:50px; background-color:transparent;" >
<tr>
<td>
<iframe src="transparent2.html" name="content" width=100% height=100% scrolling="auto" frameborder="0"> </iframe>
</td>
</tr>
</table>

</body>
</html>
__________________________________________________
_________________________________________
und die datei transparent2 welche ins iframe kommt:

<html>
<head>
<style>
body {
background-color:transparent;
}
</style>
</head>
<body >

<table style="position:absolute; left:100px; top:50px; background-color:transparent;" >
<tr>
<td>
adsf jasdfkjaö dkjkfak
sdfkajsd öfjasdlkfja sdlfjasdf
aks fjasdkjfaölsdfj asdkljfasldfas
dkfajlsdjfasdfasdfasdfsdfadsfa
</td>
</tr>
</table>

</body>
</html>

_____________________________________
______________________________________

einfachheitshalber habe ich mal auf eine css datei verzichtet.

vielen dank schonmal..

mfg
mirwald

Antwort 3 von rfb

es gibt wohl eine IE-eigene Syntax:
Ein Attribut allowtransparency="true" im IFrame-Tag soll helfen.

Richtige Browser machen das auch so ohne invailden Code .

Allerdings sieht dein Grundgerüst (Tabellenlayout + IFrame) nicht gerade gut aus - das ist Layouten aus dem vorigen Jahrhundert!

Antwort 4 von mirwald

Ah mit dem funktioniert es. DANKE!

zum grundgerüst, meintest du dass einrücken? sprich so:

<table>
<tr>
<td>
Text text text
</td>
</tr>
</tabelle>

oder wie war das gemeint?

mfg
mirwald

Antwort 5 von rfb

Zitat:
wie war das gemeint?
Tabellenlayouts nutzte man zur Zeit von Netscape 4 - inzwischen verstehen aber alle Browser CSS und diese Layouttechnik ist nicht mehr notwendig.

Genau wie IFrames ist sie eine Barrieretechnik, die daher zB in Deutschland auf Seiten des Bundes (und vieler Länder und Kommunen) so nicht zulässig sind.

Antwort 6 von mirwald

verstehe ich nicht...wie sieht sowas von netscape 4 dann aus?

Antwort 7 von rfb

Mit <table> leitet man eine Tabelle ein, also eine Form der Darstellung miteinander verknüpfter Daten (zB. ein kassenbon mit den Spalten Ware und Preis).

Wo sind bei dir tabellarische Daten? Ein IFrame gehört jedenfalls nicht dazu.

Du vergewaltigst eine Tabelle zu Layoutzwecken - das nennt man Layouttabelle.

Vor ca. 10 Jahren waren die Browser - insbesondere der gängige Netscape 4 - nur beschränkt in der Lage, Layout mit CSS richtig darzustellen. Damals hat man sich mit dieser Krücke Layouttabelle behelfen müssen. Heutzutage gibts dafür keinerlei Gründe mehr. Alle gängigen Browser verstehen CSS1, die meisten CSS2 und einige schon CSS3. Also verzichte auf Tabellen und nutze CSS zum Layouten der Seite!

Wenn du dem Link in Antwort 5 gefolgt wärst wüsstest du auch, dass das Layouten mittels Tabellen und IFrames Probleme bereitet bei all den Internetnutzern, die nicht in der Lage sind "normale" Browser zu bedienen. Ein weiterer Grund derlei veraltete Techniken nicht mehr zu verwenden!

Antwort 8 von mirwald

Das habe ich deswegen gemacht, dass jeder user seine komplette bildschrimbreite und höhe in der seite nutzen kann.
und im iframe ist der eigentliche inhalt, in dem gescrollt wird.
hier der ganze code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="html/style.css" />

</head>
<body bgcolor="#000000" topmargin="0" leftmargin="0" >



<table border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse; width:100%; height:100%; color: #000000;">
<tr>
<td align=center valign="bottom" height="110" >
menü

</td>
<td align=center valign="bottom" height="110" colspan="2" >
info oben rechts
</td>


</tr>
<tr>

<td >
<iframe bgcolor="#E6E6D1" src="inhalt.html" name="content" width=100% height=100% scrolling="auto" frameborder="0"> </iframe>
</td>
<td width="180" align="top" >
inhalt rechs infos...
</td>
<td width="26" >
</td>
</tr>
</table>



<body>
</html>
________________________________
________________________________

das will ich sehen, wie einer es schafft mit css das selbe hinzubekommen und, dass es im IE / Opera / Firefox richtig dargestellt wird.

mfg
mirwald