XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   IE 6 / 7 / 8: falsches Elternelement bei position - IE BUG? (http://xhtmlforum.de/showthread.php?t=58306)

ebimail 31.08.2009 20:34

IE 6 / 7 / 8: falsches Elternelement bei position - IE BUG?
 
Hallo Leute,

seit Wochen verzweifle ich daran, dass der IE (alle Versionen) meine Position Angabe falsch interpretiert. Im FF läuft es ohne Probleme.

Problem:
Das die Elemente "navlinkscontentoben" und "navkontakt" werden über eine absolute Positionsangabe zum Elternelement "navlinks" positioniert. Der IE jedoch bezieht Position jeweils auf das Element "content" und scheint dies als Elternelement anzusehen. Dabei ist "content" auf der gleichen Ebene wie die beiden positionierten Elemente!


Screenshots

richtig:
http://img154.imageshack.us/img154/4...1201319001.png

falsch:
http://img154.imageshack.us/img154/1...1201638003.png

richtig - nicht erwünscht:
http://img155.imageshack.us/img155/5...1204851002.png

Ich habe den Code einmal auf das nötigste reduziert:

Sandbox:
http://hgg2006.de/temp/iefehler


Code:

HTML-Code:

<html>
<head>
        <link rel="stylesheet" type="text/css" href="design.css">

                <!--[if IE]>
          <style type="text/css">@import url(ie6hack.css);</style>
        <![endif]-->


</head>
<body>
<div id="rahmen_aussen">
        <div id="navlinks">
                <div id="navlinkscontentoben">        vkAKkjkSAD                                </div>
                <div id="navkontakt">                        unten                                        </div>
                <div id="content">                                JAFJAF<BR>lkjasfs<br>        </div>
        </div>
</div>
</body>
</html>

Code:

html, body, div, span, p, h1, h2, ul, a{
  margin: 0;
  padding: 0;
}

body {
  text-align: center;
  background-color: #eeeeee;
}

/* Mit dieser Definition funktioniert es! */  /*

div {
border-style: solid;
}

*/


#rahmen_aussen {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  width: 950px;
 
  margin-bottom: 10px;
}


#navlinks {
  margin: 0px 0px 0px 56px;
  position: relative;
}

#navlinkscontentoben {
  background-color: #F2DCAC;
 
  position: absolute;
  top: 0px;
  left: 0px;
}

#navkontakt
{
  position: absolute;
  bottom: 0px;
  left: 15px;
}

#content {
  min-height: 300px;        /* IE BUG */
  margin: 0px 58px 0px 220px;
  padding: 0px 20px 10px 0px;
  position: relative;
}

Code:

#content {

  min-height: 300px;        /* IE BUG */
  height: auto !important;
  height: 300px;
 
}



Wenn jemand eine Idee hat wieso der IE immer falsch positioniert wäre ich sehr dankbar!
LG ebimail

heiko_rs 31.08.2009 21:09

Ohne Doctype sind alle IE-Versionen im Quirksmode (Google) und möchten hasLayout (Google) für den Containing Block #navlinks. Auch im Standardsmode möchte der IE < 7 dies, und der IE 7 bekommt's am besten auch.

Und wieso musstest Du dafür jetzt einen neuen Thread aufmachen?

ebimail 01.09.2009 12:30

Hat funktioniert! Perfekt.. wäre ich aber niemals selber drauf gekommen. Diese Problematik ist mir bis dato noch nie über den Weg gelaufen.

Vielen Dank!
LG

PS: Im anderen Thread ist es nicht weitergegangen und da er mittlerweile so unübersichtlich geworden ist, habe ich mir Mühe gegeben das Problem auf ein Minimum zu reduzieren und strukturiert darzustellen. Da hätten die vielen Beiträge vorher nur gestört! (kann ihn ja leider nicht löschen!)


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:41 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023