bedingtes HTML für IE
Chris
- browser
Hallo,
ich finde den Thread nicht wieder mit den Hinweisen zum bedingten HTML für den IE. Weiß noch jemand, unter was das lief? Ich habe gesucht unter "bedingt HTML IE" und es nicht gefunden.
Ich will versuchen, den Float-Fehler mit dem left-margin beim IE auszugleichen, indem ich die Angabe des margin-left:##px durch die Bedingte Anweisung mit dem halben Wert überschreibe, da der IE das erste Element ind er Float-Elemente-Kette immer mit doppeltem Margin darstellt.
Oder gibt's da sonst noch eine wirklich gute Idee? Ich muss unser CMS dafür schließlich auch irgendwie vergewaltigen und die Floats zählen lassen. Jedenfalls darf immer nur das erste Element nach einem Clear "behandelt" werden.
Grüße
Chris
Hello Chris,
da können wir uns mal wieder zusammentun *gg*
Ich finde leider über diese tolle <hr> keine vernünftigen Angaben. Wollte das Separationsproblem der verschiedenen Elemente damit lösen, aber ich bekomme den Zwischenraum über der Linie nicht weg.
<div><!-- Seite Anfang -->
<div style="position:relative;
margin-left:20px;
margin-top:30px;
width:100px;
height:60px;
float:left;
background-color:red;">
</div>
<div style="position:relative;
margin-left:20px;
margin-top:30px;
width:100px;
height:80px;
float:left;
background-color:green;">
</div>
<hr noshade
style="position:relative;
clear:both;
margin-top:0px;
margin-bottom:0px;
border-style:none;
border-width:0px;
padding:0px;
height:1px;
" />
<div style="position:relative;
margin-left:20px;
margin-top:20px;
width:100px;
height:60px;
float:left;
background-color:yellow;">
</div>
<div style="position:relative;
margin-left:20px;
margin-top:20px;
width:100px;
height:80px;
float:left;
background-color:blue;">
</div>
</div><!-- Seite Ende -->
Was muss man machen, dass die Linie quasi unsichtbar wird, auch was den Abstand zu den beiden DIVs darüber betrifft?
Das Problem mit dem linken Float-Element beim IE beginnt tatsächlich nach jedem Clear:both neu. Darauf hatte ich noch gar nicht geachtet. Danke.
Leider weiß ich auch nicht, unter was der Thread mit dem bedingten HTML-Code lief. Gelesen habe ich das aber auch. Über Google habe ich auch noch nichts vernünftiges finden können, das ist wie verhext.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Ich finde leider über diese tolle <hr> keine vernünftigen Angaben. Wollte das Separationsproblem der verschiedenen Elemente damit lösen, aber ich bekomme den Zwischenraum über der Linie nicht weg.
Du setzt ja auch nur den margin-top des hr. Nicht jedoch die margin-bottom der über dem hr befindlichen div...
cu,
Andreas
Hello,
Du setzt ja auch nur den margin-top des hr. Nicht jedoch die margin-bottom der über dem hr befindlichen div...
Das habe ich versucht. Das klappt auch nicht. Es sind immer ca. 10px Abstand, von denen ich nicht weiß, woher sie kommen.
Außerdem bekomme ich das Ding nicht "unsichtbar". Allenfalls Border-Color:<hintergrund> hilft. Aber die Farbe des Hintergrundes ist nicht immer bekannt bzw eben nur durch viel Aufwand beschaffbar.
Sowas wie color:transparent; würde schon helfen, funktioniert aber nicht.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo Tom,
Sowas wie color:transparent; würde schon helfen, funktioniert aber nicht.
Nach meinen Erfahrungen nehmen gewisse Browser bei <hr>
die mit "color" angegebene Farbe, andere die mit
"background-color" angegebene...
HTH + Gruesse,
Thomas
Hello Thomas,
Hallo Tom,
Sowas wie color:transparent; würde schon helfen, funktioniert aber nicht.
Nach meinen Erfahrungen nehmen gewisse Browser bei <hr>
die mit "color" angegebene Farbe, andere die mit
"background-color" angegebene...
Man kann border-color setzen, aber nicht auf transparent. Muss man eben die Hintergrundfarbe kennen. Und den blöden Spalt von ca. 15px zwischen den mit <hr> getrennten Bereichen bekomme ich auch nicht weg, dabei war ich schon mal der Meinung, es geschafft zu haben, aber den Versuch find ich einfach nicht wieder.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Man kann border-color setzen, aber nicht auf transparent.
Warum nicht?
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-color
'border-color'
Value: <color>{1,4} | transparent | inherit
Initial: see individual properties
Und für die einzelnen border-left-color/border-right-color/border-top-color/border-bottom-color ist es in den Errata erlaubt worden:
http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#s-8-5-2
cu,
Andreas
Hello,
Man kann border-color setzen, aber nicht auf transparent.
Warum nicht?
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-color
In den Browsern, die mir im Moment zur Verfügung stehen, wird die Farbe der Linie dann schwarz, wenn man sie auf Transparent stellt. Das kann es doch nicht sein! Ich bekomme weder die Linie weg noch den Zwischenraum. Als einzige effektive Eigenschaft will ich eigentlich clear:both; nutzen. das scheint aber nicht zu funktionieren. Oder ich bin eben zu blöd. :-((
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Als einzige effektive Eigenschaft will ich eigentlich clear:both; nutzen. das scheint aber nicht zu funktionieren. Oder ich bin eben zu blöd. :-((
Warum benutzt Du dann ein hr?
Wie wäre es mit <br style="clear:both">
Oder notfalls ein div, falls an der Stelle kein Inline erlaubt ist.
Oder dem FOLGENDEN Element das clear:both verpassen.
cu,
Andreas
Hello Andreas,
Warum benutzt Du dann ein hr?
Wie wäre es mit <br style="clear:both">
Das bekommt auch plötzlich eine Höhe von ca. 25px, wenn man es mit clear:both bedenkt.
Oder notfalls ein div, falls an der Stelle kein Inline erlaubt ist.
Produziert auch eine Lücke
Oder dem FOLGENDEN Element das clear:both verpassen.
Dann folgt das darauffolgende Element wieder nicht so wie es soll.
+---------+ +----------+
| | | |
| | | |
| | | |
+---------+ +----------+
------------------------------------- und diese Lücke soll verschwinden
+---------+ +----------+
| | | |
| | | |
| | | |
+---------+ +----------+
Ich glaube, ich habe nun alle Elemente durch, die hier erlaubt sind. Es geht einfach nicht. Es scheint am clear zu liegen, dass immer eine Lücke zwischen den Blockelementen entsteht. Kann man wohl nix machen. Wenn noch einer eine gute Idee hat, ich würde mich freuen...
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Wie wäre es mit <br style="clear:both">
Das bekommt auch plötzlich eine Höhe von ca. 25px, wenn man es mit clear:both bedenkt.
line-height, font-size, margin, padding, height alle auf 0.
Ggf. vor und nach dem br KEINEN Whitespace verwenden.
cu,
Andreas
Moin,
ich finde den Thread nicht wieder mit den Hinweisen zum bedingten HTML für den IE. Weiß noch jemand, unter was das lief? Ich habe gesucht unter "bedingt HTML IE" und es nicht gefunden.
Das richtige Stichwort ist auch http://www.google.de/search?q=conditional comments (url-encoded um den Archivindex nicht zu verwässern).
Ich will versuchen, den Float-Fehler mit dem left-margin beim IE auszugleichen, indem ich die Angabe des margin-left:##px durch die Bedingte Anweisung mit dem halben Wert überschreibe, da der IE das erste Element ind er Float-Elemente-Kette immer mit doppeltem Margin darstellt.
Nicht ganz, die Fehler des IE bei float sind viel schlimmer, und versionsabhängig: http://www.positioniseverything.net/articles/float-bugs-1.html und http://www.positioniseverything.net/articles/towards.html.