Breite eines DIVs für IE6 kleiner machen

Status
Nicht offen für weitere Antworten.

DJTrancelight

Erfahrenes Mitglied
Hi Leute,

ich habe eine generelle Frage, ob und wenn ja, wie kann man für den IE6 einen div-Container kleiner machen? Sprich in einem ext. CSS-File befinden sich 2 Anweisungen für die Breite eines div´s. Eine Anweisung für moderne Browser wie IE7, Firefox 2, etc. und eine Anweisung für den IE6.

Mit der Anweisung:

!important;
margin-left: -3px;

z.B. kann man ein <div> ja nach rechts oder links versetzt positionieren, aber eine andere Breite habe ich noch nicht hinbekommen.

Bis jetzt habe ich mir meist mit einem gesonderten IE6-CSS ausgeholfen, aber oft sind die Anzeigeunterschiede so marginal, dass mir eine andere Lösung (vielleicht über !Important) doch komfartabler wäre :)

Also so etwas wie:
width:200px;
!important;
width: 195px; /*für IE6*/

Wäre toll, wenn mir da jemand eine Lösung hätte!

Vielen Dank für eure Antworten.
Schöne Grüße
DJ Trancelight
 
Hi,

ich weiß jetzt zwar nicht, weshalb du eine Box für den IE6 schmäler gestalten willst, aber hierfür stehen dir mehrere Möglichkeiten zur Auswahl:

  • !important-Regel:
Code:
div#box {
width: 200px !important;
width: 195px;
}
  • Star-HTML-Hack:
Code:
div#box {
width: 200px;
}
* html div#box {
width: 195px;
}
  • Conditional Comment:
Code:
<style type="text/css">
div#box {
width: 200px;
}
</style>
<!--[if lt IE 7]>
<style type="text/css">
div#box {
width: 195px;
}
</style>
<![endif]-->
 
Hi Michael,

vielen lieben Dank für deine rasche Antwort!
Ich werde deine Lösungen heute Abend auf meinem Testrechner testen. Aber ich glaube da wird was für mich dabei sein :)
Ich kann dir das gerne sagen, warum ich im IE6 eine Box schmäler haben möchte. Ich bin gerade an einem 4 Spalten-Layout (pixelgenau mit 1px. dicken Rahmen) und auf den Browsern IE7, Firefox 2, Netscape 7.1 und Opera 9 passt es perfekt. Nur beim IE6 geht es über den Header drüber. Und weil der Platz dann nicht mehr ausreicht, springt die letze Spalte (aufgrund von float:left; ) in die linke untere Ecke.

Das ist nur beim IE6 so.


Ich hab ihn auch im Kombatibilitätsmodus geschaltet:
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

Wenn ich die rechte Div-Box um 6px verkleinere, dann passt es perfekt im IE6, bei den anderen sitzt dann der Rahmen zu weit links. Es geht wirklich nur um die rechte Spalte, die ich im externen CSS bis jetzt mit

#box_rechts{
position:relative;
width:249px;
float:left;
}
festgelegt habe. Alles andere passt.

Dann müßte eigentlich nach deinem Beispiel folgendes die Lösung sein:
#box_rechts{
position:relative;
width: 249px !important;
width: 234px;

float:left;
}

Oder?

Ich berichte natürlich, obs geklappt hat.

Jedenfalls schon einmal vielen lieben Dank!
Schöne Grüße
DJ Trancelight
 
Zuletzt bearbeitet:
Michael du bist der Beste!

Mit dem Star-HTML-Hack konnte ich mein Problem lösen. Vielen Dank

Schöne Grüße
DJ Trancelight
 
Ich weiß ja nicht, wie der komplette Code deines CSS-Layouts lautet, aber ich hab jetzt drei Varianten für einen Vierspalter erstellt, und in keiner mußte ich die Breite eines DIVs für den IE6 verschmälern.

Ich häng die Prototypen hier mal als ZIP-Datei an - vielleicht kannst du daraus neue Erkenntnisse ziehen.
 

Anhänge

Hallo Michael,

ich danke dir vielmals!. Hab mir dein Zip-Packet heruntergeladen und vermutlich lag es bei mir an den Borders rund um die Div-Container herum. Jedenfalls ist das Problem nun gelöst. Vielen DANK

Schöne Grüße
DJ Trancelight
 
Status
Nicht offen für weitere Antworten.
Zurück