NS 4.7 css-background-image:url und anchor
oli
- css
0 Sönke Tesch0 oli
Vorneweg:
meine Idee war, für einen grossen Teil der User (nämlich für diejenigen, die mit IE ab 5.x unterwegs sind) das Erscheinungsbild eines Link-Buttons zu ändern, wenn der entsprechende Link angeklickt wurde. Wofür das gut sein könnte, könnt Ihr an der Testseite sehen:
http://www.e-flame.de/test/test.html
Aus diversen Gründen kann ich dazu nicht das onclick-event verwenden.
Mein Problem ist nun, dass NS 4.7 - frühere Versionen hab' ich noch gar nicht getestet - an der Stelle des transparenten gifs (transparent2x2.gif) überhaupt keinen anchor setzt. Selbst wenn ich im Quelltext hinter das transparente gif einen text (der ja Teil des hrefs sein müsste) schreibe, formatiert NS 4.7 den zwar wie einen Link - mit unterstrichen und allem drum und dran - dem anchor selber kann man aber nicht folgen.
btw der Quelltext:
<html>
<head>
<title></title>
<meta name="author" content="Oli">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<style type="text/css">
<!--
.basket {background-image:url(tobasket.gif); background-repeat:no-repeat; }
.basket a {background-image:url(tobasket.gif); background-repeat:no-repeat; }
.basket a:visited {background-image:url(inbasket.gif); background-repeat:no-repeat; }
-->
</style>
</head>
<body text="#000000" bgcolor="#FFFFFF">
<table width="50%" border="1">
<tr>
<td>Produkt A</td>
<td>Beschreibung Produkt A</td>
<td><div class="basket"><a href="seite2.html"><img src="transparent2x2.gif" width="54" height="20" border="0" alt=""></a></div></td>
</tr>
<tr>
<td>Produkt B</td>
<td>Beschreibung Produkt b.<br> Diesmal mit brs umgebrochen um zu schauen, was das bg-image macht.<br> Wiederholen sollte es sich nämlich keinesfalls .................</td>
<td><div class="basket"><a href="seite3.html"><img src="transparent2x2.gif" width="54" height="20" border="0" alt=""></a></div></td>
</tr>
</table>
</body>
</html
Mir ist durchaus bewusst, dass ein a:visited in dem von mir eingesetzten Fall unter NS4.7 keine Wirkung hat. Nur bin ich bisher davon ausgegangen, das NS die css-Angabe einfach ignoriert und mir somit immer die transparente Grafik als Link zur Verfügung steht.
Ziel des von mir gesuchten Work-Around ist eigentlich nur, dass NS einen anchor in der Zelle zulässt.
Was ich bisher versucht habe:
-den div-Bereich in den a-tag zu setzen
-div durch span zu ersetzen
-über id (und entsprechende Änderungen im style-sheet) den Bereich anzusprechen.
Wie krieg' ich NS<6 dazu, in der Zelle einen Anchor zu setzen?
Vielen Dank im voraus
oli
meine Idee war, für einen grossen Teil der User (nämlich für diejenigen, die mit IE ab 5.x unterwegs sind) das Erscheinungsbild eines Link-Buttons zu ändern, wenn der entsprechende Link angeklickt wurde.
Mein Problem ist nun, dass NS 4.7 - frühere Versionen hab' ich noch gar nicht getestet - an der Stelle des transparenten gifs (transparent2x2.gif) überhaupt keinen anchor setzt.
<style type="text/css">
<!--
.basket a {background-image:url(tobasket.gif); background-repeat:no-repeat; }
.basket a:visited {background-image:url(inbasket.gif); background-repeat:no-repeat; }
-->
</style>
Mit Dingen wie background-image und no-repeat solltest du Netscape 4 besser garnicht belästigen. Ich habe damit bisher die Erfahrung machen dürfen, daß der Browser je nach Sonnenschein mal was anzeigt, mal nichts und mal die Grafik quer über den Bildschirm schmiert.
Das der Verweis nicht erscheint ist zwar neu, aber IMHO auch nur noch einer von vielen Problemen, die Netscape 4 mit CSS hat.
Du solltest mal versuchen, die betreffenden Stylesheet-Angaben mit @import (http://www.w3.org/TR/REC-CSS2/cascade.html#at-import) in die Seiten einbinden - @import kennt dieser Browser nicht und kann dementsprechend auch nicht über die Angaben darin stolpern.
Gruß,
soenk.e
Danke für Deine Antwort.
ABER: das Problem ist gar nicht, dass NS die Hintergrundgrafik nicht anzeigt - sie wird sogar durchaus richtig angezeigt. Mein Problem liegt schlicht darin, dass (so vermute ich) der gesamte Bereich der Tabellenzelle, dem mittels css eine bg-Grafik verpasst wurde, nicht als anchor-Bereich zur Verfügung steht. Und das versteh' ich nicht so ganz.
cu oli
ABER: das Problem ist gar nicht, dass NS die Hintergrundgrafik nicht anzeigt - sie wird sogar durchaus richtig angezeigt. Mein Problem liegt schlicht darin, dass (so vermute ich) der gesamte Bereich der Tabellenzelle, dem mittels css eine bg-Grafik verpasst wurde, nicht als anchor-Bereich zur Verfügung steht. Und das versteh' ich nicht so ganz.
Das hatte ich schon verstanden. Zu dem "durchaus richtig" möchte ich Dir allerdings entgegnen, daß bei meinen Netscape 4.7 bei beiden Zellen sofort die Danke-Grafik angezeigt wird (oder zumindest irgendwie zwei Drittel davon..) - keine Ahnung, ob Du den Salat so haben willst..
<img src="http://kino-fahrplan.de/privat/st/self/eflame.png" border=0 alt="">
Aber davon abgesehen wollte ich lediglich darauf hinweisen, daß es wahrlich nicht der erste Fehler mit CSS bei dieser Browserversion wäre und Du deshalb besser zumindest diesen CSS-Teil "versteckst". Vielleicht hilft es ja schon.
Ich wüsste jedenfalls nicht, daß mir dieser Browser unter Nicht-CSS-Umständen jemals einen Verweis in einer Tabellenzelle verweigert hätte.
Deshalb mein Vorschlag: CSS verstecken und für alte Browser neben die Grafik ein
<div class="versteckt">Bestellen</div>
welches Du in der externen CSS-Datei mittels
.versteckt
{
display:none;
}
bei neueren Browsern ausblendest.
Gruß,
soenk.e