Avatar billede thedeathart Nybegynder
17. juli 2004 - 14:33 Der er 19 kommentarer og
1 løsning

IE border hack

Hej

Findes der et måde at lave et border hack, så breden på min border ikke tæller border: 3px solid black, med i den endelige brede ?
Avatar billede roenving Novice
17. juli 2004 - 14:37 #1
Hvorfor regner du den ikke bare fra ?-)

-- og det er jo kun hvis du har dtd'en med og altså følger standarden !-)
Avatar billede thedeathart Nybegynder
17. juli 2004 - 14:43 #2
problemet er at det er en billede som er inde i en størrere box, I Firefox er borderen på siden af billedet, men IE vil jo så gerne lave 3 px ekstra, hvilken giver et lille blank stykke.

Standarten er XHTML.
Avatar billede knudgert Nybegynder
17. juli 2004 - 23:05 #3
Du kunne evt. fixe det ved at lave speciel css for IE.

Enten på siden med
    <!--[if IE]>
    <style type="text/css">
div    {din IE-css}
    </style>
    <![endif]-->
eller ved at lave et særskilt cssark med denne forskel og placere linket i denne i stedet for <style ...>div {...} </style>
Skal så stå til sidst.
Avatar billede thedeathart Nybegynder
17. juli 2004 - 23:23 #4
knudgert: det ved du jo godt, at det er umuligt.

Der findes igen funktion som kan aflæse specifik hvilken browsere du bruger.
I javascript f.eks. bliver Ophra forvekslet med IE, og har den også sammen fejl ?

Jeg tænker at der må da være en måde..

//
IE + CSS = 404
Avatar billede roenving Novice
17. juli 2004 - 23:27 #5
>>thedeathart

I ovenstående kodestump vil IE faktisk genkende sig selv ...

-- og man kan også bruge f.eks.

<!--[if IE6]>
  <nogle tags, som kun må være der i IE6>
<![endif]-->

Fidusen er, at alle andre browsere kun ser <!-- og --> !-)
Avatar billede knudgert Nybegynder
17. juli 2004 - 23:48 #6
roenving har svaret.
Avatar billede thedeathart Nybegynder
18. juli 2004 - 01:51 #7
okay, jeg troede at han mente en if-sætning i php eller javascript.

det vil jeg prøve så
Avatar billede thedeathart Nybegynder
18. juli 2004 - 02:12 #8
<--
IE tags
-->

virker.. hvem vil have points ?
btw. dette kan man da lave en del IE hacks med ikke ?
Avatar billede roenving Novice
18. juli 2004 - 02:16 #9
Jo !-)

Hvilket du også vil se, når M$-produkter laver dhtml ...
Avatar billede thedeathart Nybegynder
18. juli 2004 - 02:23 #10
bruger ikke WYSIWYG programmer, de laver slamkode :-)
Avatar billede knudgert Nybegynder
18. juli 2004 - 15:45 #11
;-)
Avatar billede roenving Novice
18. juli 2004 - 15:57 #12
-- og nu fik jeg også lige checket at i hvert fald html 4.01-validatoren er aldeles ligeglad med den slags html-kommentarer ...
Avatar billede mik789 Nybegynder
18. juli 2004 - 16:10 #13
og det validerer også i xhtml strict.
smart! jeg kendte ikke til denne metode.
Avatar billede mik789 Nybegynder
18. juli 2004 - 16:30 #14
knudgert 17/07-2004 23:05:08>
hvis man bruger din anden metode, vil det IE-specifikke stylesheet så automatisk overskrive et evt. default stylesheet (så det i praksis fungerer som en if - else sætning)? Vil altså f.eks. flg. fungere:

<head>
<link rel="stylesheet" type="text/css" href="styles.css">
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="IE_styles.css">
<![endif]-->
</head>

//mik
Avatar billede roenving Novice
18. juli 2004 - 16:55 #15
Ja, for css-standarden definerer at nærhed har forret, så i praksis vil en ny forekomst af den samme style-property til det samme element simpelthen overskrive en tidligere defineret !-)

-- og nærhed har en lidt kringlet definition, som jeg kan prøve at skitsere:

Nærmest er en inline-style altså style="" på selve elementet
Derefter kommer en definition fra et id, og derefter fra en class ...

Efter det traverserer man baglæns i DOM-træet og fylder properties, som ikke er defineret op efter de samme regler, dog med skyldig hensyntagen til at f.eks. en hel del text-properties ikke arves ned i underliggende elementer ...

Dette gøres så ved at der læses 'baglæns' i de stylesheets, som er defineret, så en match bagefter vil have forrang, et godt eksempel er den klassiske, at man har byttet om på pseudo-selektorerne i a-tags, så følgende vil ikke give hover-effekt:

a:visited{color:green}
a:hover{color:red}
a:link{color:black}

Fordi a-tagget er et link, vil den simpelthen ikke nå tilbage til :hover-definitionen, da der er et fuldt gyldigt match i :link-definitionen ...
Avatar billede mik789 Nybegynder
18. juli 2004 - 17:05 #16
roenving> OK, det er derfor (det med rækkefølgen af hover).

Hvor ser man dokumentation vedr. denne særlige form for "kommentar-scripts"?
Avatar billede knudgert Nybegynder
18. juli 2004 - 22:38 #17
roenving er altid hurtigere til at svare end jeg er, det var derfor jeg skrev at IE-only css skulle stå til sidst.
Avatar billede roenving Novice
19. juli 2004 - 21:38 #18
Conditional comments:

http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000441

-- det skal nævnes at det de kalder 'Downlevel-hidden Conditional Comments' validerer til alt, inklusive xhtml1.1, mens 'Downlevel-revealed Conditional Comments' ikke validerer til nogle korrekte doctypes, som har en dtd med, dvs. du skal validere til HTML3.2 !-)

Det virker dog vistnok i alle browsere !o]
Avatar billede thedeathart Nybegynder
22. juli 2004 - 00:00 #19
joo, nu var dette bare en side som ikke skulle være 100% valid, men det meste af mit css, fungere ikke rigtigt i IE ! uden et rigtigt docype.

Og da jeg typisk bruger xhtml, så derfor :-)
Avatar billede roenving Novice
22. juli 2004 - 00:12 #20
Næh, nej, men mik789s tillægsspørgsmål skulle jo også have et rigtigt svar !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester