iframe Inhalt mit <div position + z-index geht im Firefox, aber IE nicht!

Begonnen von gg, 01 August 2005, 15:17:00

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

gg

Hallo, liebe Leutz,

habe ein eigenes iFrame-Modul, in dem ich unsere Lieferanten-Partnerseite laufen lasse.

Da aber darauf im oberen Bereich (35px oben) eine interne Navileiste ist, die dann die Inhalte ausserhalb unserer Page öffnen würde, habe ich einen weissen Block oben darüber positioniert, sodass man diese Leiste nicht mehr bemerkt oder sieht.

Beim Firefox wird das genauso angezeigt, wie ich es möchte, aber beim IE wird die Partnerseite unterhalb des eigentlich drüberzuliegenden Block gezeigt. ???

<style type="text/css">
#frame { position:relative; top:0px; left:0px; width:100%; z-index:0; }
#box_weiss { position:relative; top:0px; left:0px; width:100%; height:34px; z-index:1; }
</style>

<?php
//GG iFrame
echo "<div id=\"frame\" style=\"border:0px;\">";
echo "";
echo "";
echo "</div>";
//GG weisser Bock zur Abdeckung
echo "<div id=\"box_weiss\" style=\"background:#FFFFFF; border:0px; height:34px;\"></div>";
?>

<?php
include(
"footer.php");
?>



Bei selfhtml steht, dass diese Positionierung ab IE 4.0 geht und ich hab zum Anzeigen den IE 6.02!

Woran liegt das bloß?????????
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

Hallo !
Poste mal bitte einige Zeilen mehr von dem Quelltext.
So wie es dort sthet sollte es vom Prinzip her gehen. Bei relativer Positionierung kommt es aber auch darauf an, welches das Elternelement ist von dem aus positioniert wird.

MfG
jubilee

gg

Hallo, Jubilee,
lieben Dank, dass Du Dich so kümmerst,

es ist zu dumm, dass ich ausgerechnet jetzt gleich weg muss, sodass ich jetzt leider nicht mehr antworten kann;
Vielleicht hast Du morgen bzw. am Montag Zeit, das wäre toll;

Ich möchte nicht so erscheinen, dass ich mich nicht um meine eigenen Fragen kümmere....

Bis dann;
Gabi
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

Hallo !
ZitatVielleicht hast Du morgen bzw. am Montag Zeit, das wäre toll;


Jo, schreib wenn Du wieder Zeit hast ;)

MfG
jubilee

gg

Hallo, hat etwas länger gedauert, das Büro stand gestern Kopf!

Quelltext meines eigenen Iframe-Modules:

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$module_name = basename(dirname(__FILE__));
    mxGetLangfile($module_name);
//GG enable for use in vkpMx 2.1 END

$index = 0; //GG right blocks visible = 1 or no = 0
include("header.php");

//###########################################
$version = '1.0';
//GG Framecontent
$framesource ='http://www.xyz.de';
// $modulename = "";
$contentname1 = "<font class=\"paxcat_sw\">pax</font>"
."<font class=\"paxdoppelpunkt\">:</font>"
."<font class=\"paxcat\">highspeed</font>";
$contentname2 = "<font class=\"paxcat_sw\">pax</font><font class=\"paxdoppelpunkt\">:</font><font class=\"paxcat\">highspeed</font>";
//table attributes
$tablewidth = '100%';
$tablealign = 'center';
//Frame attributes
$framewidth = '100%';
$frameheight = '1200';
$frameborder = '0';
$framealign = 'left';
//GG colors
$bgcolor1frame ='#FFFFFF';
$textcolor1frame ='#808080';
$textcolor2frame = $bgcolor1frame;
//############################################

//GG could be disable, if you don't need or like this table
// echo "<TABLE width=\"$tablewidth\" ALIGN=\"$tablealign\">"
// ."<TR HIGHT=\"12px\" ALIGN=\"$framealign\" BGCOLOR=\"$bgcolor1frame\">"
// ."<TD>"
// ."<FONT COLOR=\"$textcolor1frame\" SIZE=\"0\">"
// .""._NAVIGATE_TEXT1.""
// ."$contentname1"
// .""._NAVIGATE_TEXT12.""
// .""._NAVIGATE_TEXT2.""
// ."$contentname2"
// .""._NAVIGATE_TEXT22.""
// ."</FONT>"
// ."</TD>"
// ."</TR>";
//echo "</table>";
//GG END could be disable, if you don't need or like this table
?>
<style type="text/css">
<!--#frame { position:relative; top:0px; left:0px; width:100%; z-index:1; }-->
#frame { position:relative; top:0px; left:0px; width:100%; z-index:0; }
<!--#box_weiss { position:relative; top:0px; left:0px; width:100%; height:34px; z-index:2; }-->
#box_weiss { position:relative; top:0px; left:0px; width:100%; height:34px; z-index:1; }
</style>

<?php
//GG iFrame
echo "<div id=\"frame\" style=\"border:0px;\">";
echo "";
echo "";
echo "</div>";
//GG weisse Bock zur Abdeckung
echo "<div id=\"box_weiss\" style=\"background:#FFFFFF; border:0px; height:34px;\"></div>";
?>


<?php

include(
"footer.php");
?>

Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

Hallo !
Vorher/hinterher bitte OpenTable() und CloseTable() setzen.

Zitat
<?php
//GG iFrame
   OpenTable();
echo "<div style=\"position:relative; top:0px; background:#FF0000;  height:34px; left:0px; border:0px;width:100%; z-index:1;\">";
   echo "Hier der Frame";
   echo "</div>";
//GG weisse Bock zur Abdeckung
   echo "<div style=\"position:relative; top:-34px; width:100%; left:0px; background:#FFFFFF; border:0px; height:-XXXpx; z-index:2;\"></div>";

   CloseTable();
   include("footer.php");
?>
Anscheinend nimmt er die CSS-Definitionen aus den Classendefinitionen nicht.
Also die CSS-Definitionen bei den Divs direkt dazuschreiben.
den 2. DIV mit einem NEGATIVEN Wert für TOP an die Stelle des ersten DIVS bewegen, wo die  Nav-Leiste liegt.
So sollte das gehen ....

gg

Hallo, hab jetzt alle möglichen varianten probiert, wobei die variante mit negativer Höhe total nicht geht;

Die untenstehende Variante funktioniert so wie meine vorher auch nur in Firefox;

Wenn ich den div-Block der Überdeckung über dem iframe einsetze, ist beim IE zwar der weisse block oben, aber verschoben nach unten beginnt der Frame erst darunter....

<?php
//GG iFrame
   
OpenTable();
echo 
"<div style=\"position:relative; top:0px; height:34px; left:0px; border:0px;width:100%; z-index:1;\">";
   echo 
"";
echo "";
   echo 
"</div>";
//GG weisse Bock zur Abdeckung
   
echo "<div style=\"position:relative; top:-34px; width:100%; left:0px; background:#FFFFFF; border:0px; height:34px; z-index:2;\"></div>";

CloseTable();
include("footer.php");
?>

Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

Hallo !
ZitatHallo, hab jetzt alle möglichen varianten probiert, wobei die variante mit negativer Höhe total nicht geht;

Sorry, aber  die Variante mit negativem TOP geht.
Siehe hier mein Beispiel :
http://www.marx-city.de/modules.php?name=DIVISOR

Quelltext Beispiel 1 :
Zitat
<div style="position:relative; top:0px; background:#FF0000; border:thin solid blue; height:234px; left:0px; width:100%; z-index:1;">DIV1</div>
<div style="position:relative; top:0px; width:100%; left:0px; background:#ffff00; border:thin solid blue; height:34px; z-index:2;">DIV2</div>

Quelltext Beispiel 2:
Zitat
<div style="position:relative; top:0px; background:#FF0000; border:thin solid blue; height:234px; left:0px; width:100%; z-index:1;">DIV1</div>
<div style="position:relative; top:-224px; width:100%; left:0px; background:#ffff00; border:thin solid blue; height:34px; z-index:2;">DIV2</div>




gg

 :wall:  :-\ also....
mit dem nachstehenden Code gehts im Firefox, NICHT in IE!

Erstaunlich ist bei beiden die Gemeinsamkeit, dass der Text "DIV 2" direkt unterhalb des contents des iframes steht, andererseits beim Firefox trotzdem oben der 34px hohe weisse Block den oberen Bereich des iframes 34px überlagert!

<?php
OpenTable();
//GG iFrame
echo "<div style=\"position:relative; top:0px; left:0px; width:100%; border:0px; z-index:1;\">";
echo "";
echo "";
echo "</div>";
//GG weisse Bock zur Abdeckung
echo "<div style=\"position:relative; top:0px; left:0px; width:100%; border:0px; height:34px; background:#FFFFFF;z-index:2; \">DIV 2</div>";
CloseTable();
?>

:wall:

Ich kann mir das wirklich nicht erklären, ausser, dass es was mit meiner xampp 1.4.11 zu tun hat?!?!
:wall:
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

Hallo !
Wenn Du meinen Beispiellink ansurfst, sind denn dort die beiden Beispiele korrekt ?
Wenn ich mir das mit dem IE ansehe, ist alles so wie es sein soll:
Beispiel 1 beide untereinander
Beispiel 2 Div2 auf DIV1 liegend um 10 px tiefer  beginnend (bzw. um -224 px höher beginnend als das ende von DIV1).
MfG
jubilee

MarcoA

@ jubilee

stimmt - habs mit mehreren browsern und an verschiedenen pc's getestet... bei deinem beispiel wird es richtig angezeigt ;)

bye
MarcoA
Kein Support über (ungefragter) PN, Mail oder ICQ, ausschließlich direkt im Forum!

Andi

Moin :)

denke, die obere Ebene muss innerhalb der Ebene mit dem iframe liegen, damit sie auch mit der innerhalb der Seite verschoben wird...

Ohne php-Krimskrams drumrum:
<center>
<div style="position: relative; left: 0px; top: 0px; width: 500px; background: #CCCCFF; z-index: 1; height: 500px;">
<iframe src="http://www.pragmamx.de" width="500" height="500" marginwidth="0" marginheight="0" frameborder="0">iFrame...</iframe>
<div style="position: absolute; top: 0px; left: 0px; width: 500px; background: #0000E0; border: 1px solid; border-color: #00000; z-index: 2; height: 150px;">versteck den Kram</div>
</div>
</center>


guggst du hier: http://www.pragmamx.de/temp/layer.php
schön´s Grüssle, Andi

gg

Hallo, und guten Morgen!  :'(

ich krieg ne Kriese...

Zum zigsten Mal probiert, ich glaube, dass das vielleicht deswegen nicht geht, weil es sich um ein Module handelt, was zwangsläufig php-code in der Datei haben muss.

Beim untenstehender Datei ist der DIV 2 jetz oben am Browserrand auf meinem header, der iframe beginnt (ohne Abdeckung) da, wo das Modul eben anfängt.
Zitat

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$module_name = basename(dirname(__FILE__));
    mxGetLangfile($module_name);

$index = 0;
include("header.php");

OpenTable();
?>
<div style="position: relative; top: 0px; left: 0px; width: 100%; border:0px; z-index:1;">
[color=Red]Hier kommt mein iframe rein, wird aber hier im post immer rausgeschnitten! Der iframetag ist wohl gesperrt....[/color]
</div>
<div style="position: absolute; top: 0px; left: 0px; width:100%; border:0px; height:34px; background:#FFFFFF;z-index:2;">DIV 2</div>
<?php
CloseTable();
include("footer.php");
?>


Jetzt brat mir einer 'nen Storch, oder hab ich mich irgendwo verschrieben?

Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

Andi

Moin :)

das hat mit php, nix zu tun :)
Zitatdie obere Ebene muss innerhalb der Ebene mit dem iframe liegen
hier mein Beispiel als Modul

<?php
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$index = 0;
include("header.php");
OpenTable();
?>

<div style="position: relative; left: 0px; top: 0px; width: 500px; background: #CCCCFF; z-index: 1; height: 500px;">
<iframe src="http://www.pragmamx.de/" width="500" height="500" marginwidth="0" marginheight="0" frameborder="0">
iFrame...
</iframe>
<div style="position: absolute; top: 0px; left: 0px; width: 500px; background: #0000E0; border: 1px solid; border-color: #00000; z-index: 2; height: 120px;">
versteck den Kram
</div>
</div>

<?php
CloseTable();
include("footer.php");
?>


Demo:
http://demo.pragmamx.org/modules.php?name=gg
schön´s Grüssle, Andi

gg

Mensch, Andi, Du Clonekrieger....

Das mit dem doppelten </div> am Ende und dem weggelassenen ersten </div> beim Frame ist schon erstaunlich...

Jetzt klappt es "FAST".

Will heissen, im Firefox sowieso, im IE ist der weisse Block drübergelegt und zu sehen, aber....

In dem zum überdeckenden Bereich ist bei der einzubindenden Seite eine Link-Dropdown-Box, die weiterhin zu sehen ist :-[

Und genau wegen der soll die Überdeckung sein....

Jetzt hab ich nen weisses pixel in den div-Bereich des Blocks gepackt und den z-index auf 1001 gesetzt, bringt aber auch nichts.

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$module_name = basename(dirname(__FILE__));
mxGetLangfile($module_name);
$index = 0;
include("header.php");

OpenTable();
?>


<div style="position: relative; left: 0px; top: 0px; width: 100%; z-index: 1; height: 1200px;">


<div style="position: absolute; top: 0px; left: 0px; width: 100%; background: #FFFFFF; border: 0px; z-index: 1001; height: 34px;">
<img src="./../own/lay/pixel_white.gif" height="34" width="600px" border="0" alt="">
</div>
</div>

<?php
CloseTable
();
include(
"footer.php");
?>



Da lässt sich anscheinend nicht mehr machen......
P.S.
Wenn ich statt weiss eine dunkle Farbe nehme, ändert sich auch nichts, das Dropdown ist und bleibt koplett original zu sehen....

Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

Andi

Hi Gabi :)

das problem hatte ich auch mit den div-Popups im Kalender.
Da gab es dann auf der Overlib-Seite ein spezielles plugin.
Muss mal nachsehen, wie das funktioniert...

EDIT:
da ist die Beschreibung von dem Ding:
http://www.bosrup.com/web/overlib/?Plugin_-_Hideform

Kann hier im Geschäft leider nichts machen, vielleicht kommst du damit klar.
schön´s Grüssle, Andi

RiotheRat

Ich kenne leider die Struktur der einzubindenden Seite nicht  :-\ Aber wenn "allow_url_fopen" zur Verfügung steht hätte ich einen Denkansatz ... den Inhalt der eingebunden werden soll einlesen, die Zeichenkette bearbeiten (unerwünschtes fliegt raus) und frisch formatiert ausgeben ...

<?php
$quelle = fopen("http://www.irgendwo.tld", "r");
while($line = fgets($quelle))
{
// Beispiel für Zeichenkettenbearbeitung
$cleaned = strip_tags("$line", "AUSNAHME DEFINIEREN");
// AUSNAHME bleibt erhalten
echo "{$cleaned}";
}
fclose($quelle);

Dann könnte man sich das mit dem drübergelegten Balken evtl. schenken - ist aber ...
a. nur ein Gedankenspiel
b. ungetestet

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

Andi

Yop, das ist mit Sicherheit die sauberere Methode.  :thumbup:
Webseite einlesen, die benötigten Inhalte rausholen, umformatieren, ausgeben...
schön´s Grüssle, Andi

gg

@Andi
Hallo, Andi  ;)

danke für den Tipp; habs gedownloadet und als ich nach der Position der overlib mi tAM code-serach suchte, fand ich in meiner Theme.php folgende Zeile

xists('Overlib')) {
$newheader .= "<!-- overLIB (c) Erik Bosrup, http://www.bosrup.com -->\n\n\n";
}

sodass das Teil jetzt eingebunden ist, nachdem ich dieses hideform in den Ordner kopiert habe.

....Aber es ändert sich nichts!

Na gut (oder auch nicht), ist jedenfalls lieb, wie Du mir hilfst.

Ich werd jetzt mal noch ein paar Restarbeiten machen und versuchen, bis morgen das vkp auf den Webspace zu packen.

@RioTheRat

Das hört sich so kompliziert an; allerdings glaube ich nicht, dass das mit einer 1und1-Site gehen wird?
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!