Netscape-Problem : DIV-Tag soll 100% einer Tabellen-Zelle ausfüllen
Jens Menke
- dhtml
0 Harald Legler0 Jens menke
Hi
Ich hab der einfachheit halber mal folgenden Code
erstellt :
<table border=1>
<tr><td><div style="background-color: #FFFFFF;"><a href="#">TEST</a></div></td></tr>
<tr><td><div style="background-color: #FFFFFF;">TEST-4711</div></td></tr>
</table>
Das Problem : beim IE werden die Zellen alle komplett
mit weissem Hintergrund dargestellt , bei Netscape aber
nur der Bereich wo Schrift ist , auch width-Angaben
oder so führen zu nix.
Da ich die Hintergrundfarben der Zellen im Orginalcode
geändert werden (Hover-Effekt für Netscape) würde mir
auch eine Festlegung der Hintergrundfarbe der Zelle
nicht weiterhelfen.
Hat jemand vielleicht nen Tip wie ich Netscape dazu
bewegen kann das der div-Tag die kompltte Zelle füllt ?
Sorry übrigens.. ich konnte mich nicht recht entscheiden
ob das nun CSS , DHTML , Browser oder sonstwas ist vom
Thema her ..
gruss
Jens
Hallo Jens,
Ich hab der einfachheit halber mal folgenden Code
erstellt :<table border=1>
<tr><td><div style="background-color: #FFFFFF;"><a href="#">TEST</a></div></td></tr>
<tr><td><div style="background-color: #FFFFFF;">TEST-4711</div></td></tr>
</table>Das Problem : beim IE werden die Zellen alle komplett
mit weissem Hintergrund dargestellt , bei Netscape aber
nur der Bereich wo Schrift ist , auch width-Angaben
oder so führen zu nix.
Du hast gerade die Erfahrung gemacht, daß NS bei background-color nur den Texthintergrund färbt.
Du solltest auch noch layer-background-color schreiben. Das füllt dann den ganzen Layer/Div mit der Farbe.
Ich nehme an, damit könnte Dein Problem gelöst sein.
Viele Grüße
Harald Legler
Du hast gerade die Erfahrung gemacht, daß NS bei background-color nur den Texthintergrund färbt.
Du solltest auch noch layer-background-color schreiben. Das füllt dann den ganzen Layer/Div mit der Farbe.
Ich nehme an, damit könnte Dein Problem gelöst sein.
Ähh.. sorry.. leider nicht..
also
<div style="layer-background-color: #FFFFFF;">
oder wie jetzt ?? macht zumindest garnix.
Und in Javascript haben
document.layers[onLayer].document.layers[div].document.bgColor=backColor;
und
document.layers[onLayer].document.layers[div].bgColor=backColor;
beide auch genau den gleichen Effekt.
Also wenn du mir noch mal im Klartext sagen könntest
wie die genau Eigenschaft , vor allem in JavaScript
heisst wäre ich dankbar.
gruss
Jens
Hallo Harald, Hallo Jens!
Ich nehme an, damit könnte Dein Problem gelöst sein.
Ähh.. sorry.. leider nicht..
also
<div style="layer-background-color: #FFFFFF;">
oder wie jetzt ?? macht zumindest garnix.
Das ist zwar als propietäres Attribut richtig, wird aber nichts ändern, da die Breite von <div> ist nach wie vor die Breite des erhaltenen Textes.
Ich habe versucht, aber fand auch nichts was hier helfen könnte 'width="100%"' ist in NS ja bugbehaftet wenn es in <td> steht.
Aber vielleicht hat doch jemand eine Lösung.
Grüße
Thomas
Ich habe versucht, aber fand auch nichts was hier helfen könnte 'width="100%"' ist in NS ja bugbehaftet wenn es in <td> steht.
Hi.. naja.. hab das schon vermutet.. hab da selbst auch
schon Tage dran rumgebastelt. immerhin ändert sich die
hintergrundfarbe der Schrift beim Mouseover jetzt, als
minimal Hover-Effekt zumindest besser wie nix.. lol
Der hintergrundfarbe eines Layers mit 100% ändert sich
übrigens auch wenn es nicht inner Tabelle steht auch nur
dann wenn das Teil noch ne border hat.. :(
gruss
Jens
Hallo Jens,
habe mal etwas probiert (So habe ich jedenfalls dein Thema verstanden).
Macht farbige Zellen (auch wechselnde Farben) in einem DIV.
Wenn es das nicht war - o.k. habe ich geübt ;-).
Gruß
Harald Legler
<html>
<head>
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<title>Jens Menke</title>
</head>
<script language="JavaScript">
function showLayer(x){
if (document.layers)
document.layers[x].visibility="show";
else
document.all[x].style.visibility="visible";
}
function hideLayer(x){
if (document.layers)
document.layers[x].visibility="hide";
else
document.all[x].style.visibility="hidden";
}
function changeColor1(x){
if (document.layers)
document.layers[x].bgColor="green";
else
document.all[x].style.background="green";}
function changeColor2(x){
if (document.layers)
document.layers[x].bgColor="blue";
else
document.all[x].style.background="blue";}
</script>
<body vlink="#FFFFFF" alink="#FFFFFF" link="#FFFFFF" >
<h1>layer füllt Zelle komplett</h1>
<form name="meinFormular">
<br>
<input type="button" name="Knopf3" value="Info" onClick="showLayer('ebene1')">
<input type="button" name="Knopf4" value="Info löschen" onClick="hideLayer('ebene1')">
</form>
<br>
<table border="1" width="100%"><tr><td>
<div id="ebene1" style="position:relative; background-color:blue; visibility:hidden">
<table border="0" width="100%"><tr><td><h5><font color="#FFFFFF"><a href="#bleibda" onmouseover="changeColor1('ebene1')" onmouseout="changeColor2('ebene1')">Dies ist ein Test! </a></font></h5></td></tr></table>
</div>
</td><td><h2>Dies ist auch ein Test;</h2></td></tr></table>
</body>
</html>
Hi
schaus dir mal mit Netscape an.. da ändert sich bei dir
nicht mal der Hintergrund der Schrift.
naja.. immerhin haste geübt.. *gg*
gruss
Jens
Hi
schaus dir mal mit Netscape an.. da ändert sich bei dir
nicht mal der Hintergrund der Schrift.naja.. immerhin haste geübt.. *gg*
gruss
Jens
Komisch,ich benutze NS und es ändert sich die Farbe der kompletten Zelle. Von Schrift war nicht die Rede. Ist aber doch für dich eine kleine Übung ;. Zumindest füllt der DIV die gesamte Zelle - wie gewünscht.
Gruß
Harald Legler
Ups.. sorry.. ich hatte nur auf den Button geclickt
da tat sich bei Netscape nix , erst beim Mouseover
gehts.
Hm.. also ist dei Notlösung denn in jede Zelle noch
wieder ne Komplette Tabelle zu packen.. naja.. immerhin
besser wie nix.. *g*
gruss
jens