XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   Explorer float Problem (http://xhtmlforum.de/showthread.php?t=43836)

elBoB 11.01.2007 14:52

Explorer float Problem
 
sicher schon oft gestellt aber in der Fülle von IE Bugs hab ich es jetzt nicht gefunden :roll:

Ich floate einen div left und stelle einen zweiten daneben. wenn ich in diesem jetzt einen Rand einstellen möchte, sollte dieser laut CSS von ganz links losgehen oder? Im IE rechnet er aber die Breite des gefloateten div dazu.

Danke schonmal!

heiko_rs 12.01.2007 06:38

Zitat:

Zitat von elBoB (Beitrag 320501)
Ich floate einen div left und stelle einen zweiten daneben.

D.h. das zweite floatet nicht? (falls doch, wäre das von Dir beschriebene Verhalten normal.)

Zitat:

Zitat von elBoB (Beitrag 320501)
wenn ich in diesem jetzt einen Rand einstellen möchte, sollte dieser laut CSS von ganz links losgehen oder?

Wenn das zweite div nicht floatet, ja. Abgesehen davon, daß der IE dieses div komplett neben den Float stellt, wenn der Non-Float "Layout" (z.B. in Form einer Dimension) hat, erhöht er dessen margin allerdings nur um 3px, jedoch nicht um die volle Breite des Floats (Double-Float-Margin-Bug fällt auch aus, denn dieser beträfe den margin des Floats, nicht den des Non-Floats).

Zitat:

Zitat von elBoB (Beitrag 320501)
Im IE rechnet er aber die Breite des gefloateten div dazu.

Das kann ich nicht nachvollziehen, poste bitte mal Deinen Code.

elBoB 12.01.2007 10:38

war wohl eher mein problem
 
Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" >
<head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
  <title>floatTest</title>
  <style type="text/css" media="all">
    <!--
        * {
        margin: 0;
        padding: 0;
        }
       
        #left {
        float: left;
        width: 200px;
        height: 100px;
        background-color: #f00;
          }
         
        #right {
        float: left;
        width: 100px;
        margin-left: 10px;
        height: 100px;
        background-color: #0f0;
        }
        -->
  </style>
</head>
<body>

<div id="left">
<p>div mit float: left</p>
</div>

<div id="right">
<p>ein zweiter div</p>
</div>

</body>
</html>

ich fasse zusammen.

der erste div bleibt immer gleich: float: left, breite und höhe gesetzt.

beim 2. gibt es jetzt mehrere möglichkeiten:
nicht floaten & keine Breite angeben: dann ist der margin von ganz links zu zählen.

nicht floaten und breite setzen: hier gibts den unterschied. wenn kein margin gesetzt wird spinnt (?) der firefox und setzt den div in die nächste zeile. allerdings ohne die hintergrundfarbe zu setzen. nachdem ich dem firefox vertraue, nehme ich an der fehler liegt bei mir. explorer stellt das so dar wie ich es mit gedacht haette. (bis auf 3px bei älteren versionen)

auch der zweite div wir left gefloatet. dann MUSS die breite gesetzt werden (hab ich mal wo gelesen :) ) wie es aussieht zählt dann der margin vom ersten div weg.

ich muss mich bei meinem code also irgendwo vertan haben. generell gehts wie ich das gedacht habe. vielleicht umliegende container divs, die das beeinflussen...?

danke für die hilfe auf jeden fall

elBoB 12.01.2007 10:43

update
 
nochwas zum firefox

der zweite div liegt hinter dem ersten (deshalb sieht man seine hintergrundfarbe nicht). die schrift rutscht raus und liegt dann darunter.

gibt man einen margin in der breite des ersten div an erscheint das ganze rechts daneben.

ob das die korrekte darstellung ist, weiss ich nicht.

ich haette bei float left erwartet, dass das folgende teil auf jeden fall links daneben platziert wird. ist aber anscheinend nur so wenn es ebenfalls gefloatet wird. jetzt wo ich das so schreibe, kommen mir auf einmal auch wieder die tutorials in den sinn (und ergeben plötzlich sinn :) - aus dem fluss genommen und so weiter)


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:59 Uhr.

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

© Dirk H. 2003 - 2023