Lars J. Helbo, DK skrev:
> Ved hjælp af den er det faktisk lykkedes, at få installeret IE 5.5 og
> 6.0 på computeren ved siden af 7.0. (Eneste problem er, at alle tre
> tror, de hedder IE 7.0, så under testen skal jeg tilpasse mine
> betingede anvisninger). Med denne opsætning er jeg så stødt på et
> problem .....
Jeg har tidligere anbefalet Tredosofts Multiple-IE løsning,
men er nu gået fra den, af flere grunde. Dels det besvær,
som du nævner [1], og dels at denne løsning ikke kan
anvendes i Vista.
> På en side ønsker jeg et billede ude til højre og den tilhørende tekst
> til venstre for billedet. Jeg ønsker, at teksten skal udfylde hele
> området til venstre for billedet, uanset hvor bredt browservinduet er.
> Derfor skriver jeg:
>
> <div style="position:absolute; right:200px; left:0px; top:0px;">
> .... noget tekst ....
> </div>
>
> <div style="position:absolute; width:200px; right:0px; top:0px;">
> <img src="billede.jpg" width="190" height="300">
> </div>
Du får ikke andet end besvær ud af det:
1. Inline styles skal du kopiere fra
det ene element til det andet, måske
endda fra side til side.
2. Absolut position tager det positionerede
element helt ud af sidens normale omløb.
En bedre måde at opnå det du ønsker er:
<div class="container">
<img class="right" src="..." alt="..."
height="300" width="190">
[Tekst]
</div>
Og et stylesheet
img.right {float:right;}
Teksten vil så flyde op på venstre side af
billedet og blive så bred som #container-elementet
tillader.
[1]
Sagen er nemlig den, at Microsoft betingede kommentarer,
som jeg fortæller om herover på side 344, invalideres, hvis
du har flere end én version af Internet Explorer installeret
på din computer.
Er det tilfældet, vil alle dine versioner af IE håndterer
alle betingede kommentarer på samme måde, nemlig som den
originalt installerede IE-version. Lad os for eksempel sige,
at du bruger Windows XP sammen med Internet Explorer 5,
som du har installeret på den ovenfor beskrevne måde. Så
vil begge versioner læse dine betingede kommentarer, som
om de begge var Internet Explorer 6, og eventuelle
formregler, som du ønsker at skjule for IE 6 og kun vise
i IE5, vil blive anvendt i begge tilfælde. /Det gør det i
praksis umuligt at teste for validiteten af din
IE5-specifikke CSS-kode, hvis denne er indeholdt i en
betinget kommentar./
Hvorfor er det et problem? Det er det, fordi Microsoft
stærkt anbefaler at bruge netop betingede kommentarer til at
skelne mellem IE7 og tidligere versioner. Og det er en
fornuftig anbefaling, af følgende grund: Stort alle de
stylesheet hacks, jeg har beskrevet ovenfor, beror på
mangelfuld/forkert fortolkning af formdeklarationer og/eller
formregler i tidligere versioner af Internet Explorer. Og i
IE7 er der i meget betydeligt omfang rettet op på disse
forhold, som det også er beskrevet ovenfor.
(Side 355 i "Webdesign med stylesheets")
--
Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign:
http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets:
http://webdesign101.dk/cssbog/
..