opera Additionsfehler?

Status
Nicht offen für weitere Antworten.

geos

Mitglied
Ich bereite gerade ein Layout mit drei nebeneinander liegenden Boxen vor;
jeweils 33.33% in einer äußeren Box von 100%
HTML:
..
<div id="content">
<div id="contentLeft">links</div>
<div id="contentMiddle">mitte</div>
<div id="contentRight">rechts</div>
</div>
klappt soweit in den aktuellen Browserversionen außer Opera, der lässt rechts ca. 10px frei.
Selbst bei 33.4% ändert sich nichts.
Ist das Problem bekannt - ich habe nichts gefunden

Gruß
Geos
 
Ansonsten versuche es mal mit folgendem Stylesheet:

Code:
html, body {
margin: 0;
padding: 0;
}

#content {
width: 100%;
}

#contentLeft {
width: 33.33%;
float: left;
background: #dfdfdf;
}

#contentRight {
width: 33.33%;
float: right;
background: #dfdfdf;
}

#contentMiddle {
margin: 0 33.33%;
background: #efefef;
}
Und beachte hierbei die Reihenfolge der DIVs:

HTML:
<div id="content">
     <div id="contentLeft">contentLeft</div>
     <div id="contentRight">contentRight</div>
     <div id="contentMiddle">contentMiddle</div>
</div>
 
Danke,
habe es getestet und es funktioniert.
Nur zum Verständnis bei Lösung ähnlicher Probleme:
Rechnet Opera bei Dezimalwerten grundsätzlich falsch? Ich habe mit anderen Breiten getestet und der Fehler tritt dann auch auf.
Allerdings ist mir die Logik der Lösung nicht ganz klar:

Liegt die mittlere Box sozusagen über den anderen?

Danke und gruß Geos
 
Ob und warum der Opera bei Dezimalstellen Probleme hat, entzieht sich meiner Kenntnis.

Nein, die mittlere Box liegt nicht über der linken und rechten Box, sondern umfliesst sie mit dem entsprechenden Seitenabstand, und liegt somit zwischen ihnen.

Würde sie darüber liegen, wären die äußeren Spalten garnicht sichtbar ;)
 
Opera rechnet offensichtlich nur mit ganzzahligen Prozentwerten.

Der Lösungsvorschlag von michaelsinterface zeigt für den mittleren Block mit Opera9 eine verbleibende Breite von 34% des übergeordneten Blockelements.

Test:
HTML:
<div id="content">
    <div id="contentLeft">links</div>
    <div id="contentRight">rechts</div>
    <div id="contentMiddle">mitte</div>
    <div style="clear:both;width:34%;margin-left:33%;background-color:red;color:white;">Blockbreite: 34%</div>
</div>
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück