Layer im Hintergrund, Link darüber nicht anklickbar
Marian Steinbach
- html
Hallo!
Ich habe ein ganz seltsames und unerwartetes Problem mit Layern, das gerade ein Projekt zu kippen droht :-(
Ich habe einen Layer mit einer Grafik unter einen Text geschichtet, der einen Link enthält. Dieser Link funktioniert aber leider nicht, weder im NN 4.6 noch im IE 4.0. Der untere Layer ist als <div> mit absoluter Positionierung angelegt. Der Rest darüber wird von einem <ilayer>-Tag umrahmt, um den z-index setzen zu können (sonst läge der Text im NN unter dem Layer).
Die angehängte URL enthält eine Demo dieses Problems. Wer mir helfen kann, wird mit Dankbarkeit nicht unter zwei Jahren bestraft!
Ich Danke schon jetzt.
Marian
Hi Marian,
Ich kenne das problem nur vom IE her (hab's beim NN noch nicht beobachten können) und habe es in den griff bekommen, indem ich jedem DIV explizit werte für width und height zugewiesen habe. Mit ilayers arbeite ich nicht und kann daher nicht sagen, welchen anteil die an deinem problem haben. Ich würde an deiner stelle alles auf stinknormale DIVs umstellen.
Zur not kannst du die unten liegende grafik auch noch mit dem gleichen link versehen...keine ahnung, ob das ok ist für dein projekt, nur so eine idee...
Ich hoffe, das hilft dir ein wenig...wenn nicht, mußt du 'mal 'ne url posten, wo man sich den code ansehen kann...
so long...
/*,*/
Wowbagger
Hi Marian,
Ich kenne das problem nur vom IE her (hab's beim NN noch nicht beobachten können) und habe es in den griff bekommen, indem ich jedem DIV explizit werte für width und height zugewiesen habe. Mit ilayers arbeite ich nicht und kann daher nicht sagen, welchen anteil die an deinem problem haben. Ich würde an deiner stelle alles auf stinknormale DIVs umstellen.
Werte für width und height sind für den Hintergrund-Layer (div) definiert. Der Vordergrund-Layer (<ilayer>) soll unabhängig von jeglicher Größe sein. Das Tag dient nur dem z-index. Ich habe es auch mit einem div für den Vordergrund versucht. Dabei funktioniert der z-index aber erst, wenn man für das div im style "position: absolute" setzt. Tut man das, fallen leider beim Netscape die Scrollbalken weg. Inhalte, die über die Fenstergrenze hinausgehen, sind also nicht erreichbar.
Zur not kannst du die unten liegende grafik auch noch mit dem gleichen link versehen...keine ahnung, ob das ok ist für dein projekt, nur so eine idee...
Geht leider nicht. Es können durchaus mehrere Links über dem div liegen.
Ich hoffe, das hilft dir ein wenig...wenn nicht, mußt du 'mal 'ne url posten, wo man sich den code ansehen kann...
Habe ich getan. Leider wurde die überhalb der Nachricht angezeigt, was jetzt wieder der Fall sein dürfte. Deshalb erwähne ich es hier nochmal ausdrücklich und poste sie zusätzlich hier:
http://www.change-it.de/layerproblem/
Ich habe ein ganz seltsames und unerwartetes Problem mit Layern, das gerade ein Projekt zu kippen droht :-(
Wenn Du wirklich mit <layer> arbeitest, dann sollte das Projekt auch kippen. Ersten handelt es sich um ein reines Netscape-Feature und zweitens wird Netscape 4 der einzige Browser bleiben indem dies funktionieren wird.
Ich habe einen Layer mit einer Grafik unter einen Text geschichtet, der einen Link enthält. Dieser Link funktioniert aber leider nicht, weder im NN 4.6 noch im IE 4.0. Der untere Layer ist als <div> mit absoluter Positionierung angelegt.
Wenn Du Layer (<layer><div><ilayer>) verwendest solltest Du in jedem die Hoehe und Weite angeben, da sich andere Layer die Darueber oder links daneben liegen den anderen Layer ueberdecken koennen, obwohl es nicht gleich sichtbar ist.
Der Rest darüber wird von einem <ilayer>-Tag umrahmt, um den z-index setzen zu können (sonst läge der Text im NN unter dem Layer).
Man kann DIV verschachteln, aber auch absolut Positionieren. Insofern solltest DU alle <ilayer> rauswerfen.
Viele Gruesse, Thomas Hieck
Wenn Du wirklich mit <layer> arbeitest, dann sollte das Projekt auch kippen. Ersten handelt es sich um ein reines Netscape-Feature und zweitens wird Netscape 4 der einzige Browser bleiben indem dies funktionieren wird.
Tu ich ja nicht. Der Hintergrund-Layer ist als <div> angegeben, der Vordergrund mit <ilayer>, und das nur, weil bei Netscape sonst der Hintergrund (z-index < 0) über dem Vordergrund (<body>-Inhalte) liegen würde.
Wenn Du Layer (<layer><div><ilayer>) verwendest solltest Du in jedem die Hoehe und Weite angeben, da sich andere Layer die Darueber oder links daneben liegen den anderen Layer ueberdecken koennen, obwohl es nicht gleich sichtbar ist.
Das kann ich leider nur für den Hintergrund-Layer machen. Der Inhalt der Vordergrund-Layers ist variabel.
Man kann DIV verschachteln, aber auch absolut Positionieren. Insofern solltest DU alle <ilayer> rauswerfen.
Jein. Leider interpretiert der Netscape den z-index eines DIV erst, wenn man diesesn auf "position: absolute" setzt. Dann baut Netscape aber keine Scrollbalken mehr, auch wenn der INhalt des vorderen DIVs größer ist, als das Browserfenster.
Viele Gruesse, Thomas Hieck
Danke trotzdem. Hier ist nochmal die URL, unter der die Seite liegt:
http://www.change-it.de/layerproblem/
hi,
so geht es bei mir, NC 4.5 / Mac. Scrollbalken erscheinen auch, wenn das Browserfenster zu klein ist. Bedenke aber: layer gehen erst ab Generation 4, fuer NC brauchst Du eine reload Funktion, falls das Browserfenster veraendert wird.
Gruesse, Gruesse Joachim
<html>
<head>
<title>Ein seltsames Layer-Problem</title>
<style type="text/css">
#inbrief {position: absolute;
left: 1;
top: 1;
width: 423px;
height: 71px;}
#rest {position: absolute;
left: 1;
top: 1;
width: 423px;
height: 71px;}
</style>
</head>
<body bgcolor="#FFFFFF">
<div id="inbrief">
<img src="inbrief.gif" width="423" height="71" alt="in brief">
</div>
<div id="rest"><p>[<a href="einlink.html">Dies ist ein Link</a>]
[dies ist kein Link]</p></div>
</body>
</html>
so geht es bei mir, NC 4.5 / Mac. Scrollbalken erscheinen auch, wenn das Browserfenster zu klein ist. Bedenke aber: layer gehen erst ab Generation 4, fuer NC brauchst Du eine reload Funktion, falls das Browserfenster veraendert wird.
Super! Es funktioniert. Ich werde natürlich die width-Angabe ändern. Auf die Idee, eine Größe für den vorderen DIV zuzuweisen, bin ich noch ganricht gekommen. Zum Dank stelle ich auch Deine Version ins Netz:
http://www.change-it.de/layerproblem/joachim.html
Marian
uii,
zuviel der Ehre :-)
Gruss Joachim
Hallo Marian!
Auch wenn du das nicht mehr brauchst: eine Erkälrung für z-idex kannst du unter <../../sfarchiv/1999_3/t05576.htm#a26819> nachlesen.
(Im Vorschlag von Joachim müssen deshalb keine z-idnex-Werte gesetzt werden, weil der Browser die <div>'s von oben nach unten [im Quelltext] einliest und darstellt, also zuerst wird div1 dargestellt, dann div2, was dann natürlich über div1 "geschoben" wird)
Da mir schient du wolltest nur ein Hintergrundbild positionieren, könntest du es auch so machen: (geht genuso nur ab 4-er wie die 'layer' Variante )
body {
background-image:url(inbrief.gif);
background-color:#000000;
background-repeat:no-repeat;
}
Grüße
Thomas