/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
If IE?
Fra : Christoffer


Dato : 05-06-05 21:47

Hej, jeg har et lille spørgsmål ang. specielle IE værdier.
Jeg er klar over at der IF sætninger i css som kun læses af IE, men jeg har
hørt noget om at man kan få IE til ignorerer en værdi hvis man indsætter
underscore inden..
Lyder forvirrende?
eks.
li { padding: 5px; _10px; }

Normalt ville jeg selv rode med det, men hører desværre til den gruppe som
skal læse til studentereksamen, så stiller spørgsmålet her istedet.


--
Christoffer B.



 
 
Jens Gyldenkærne Cla~ (05-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 05-06-05 23:24

Christoffer skrev:

> li { padding: 5px; _10px; }

Ovenstående vil hverken med eller uden understreg give mening - for
IE såvel som for alle andre browsere. Hvis du mener:

li { padding: 5px _10px; }

- har understregen givetvis en effekt. Spørgsmålet er bare hvilken,
og om der er forskel på IE og andre browsere her. Det er helt
sikkert at brugen af understreg vil give en valideringsfejl. Jeg er
også ret overbevist om at alle browsere vil ignorere den værdi der
ligger efter understregen. Derudover *tror* jeg at de fleste
browsere vil ignorere hele den tildeling som understregen er en del
af (altså hele padding-reglen, ikke bare de 10px).

Hvis du har brug for IE-specifik css, så brug de conditional
comments som du også omtaler. Jeg kan ikke tro at du kan få noget
godt ud af understregsmetoden.


En lignende metode kan dog være fin nok til midlertidigt at fjerne
en regel i en css-blok (uanset browser).

Har man fx følgende:

   body{ background: white; text-align: justify; }

- kan man hurtigt fjerne det ved fx at sætte x foran selektoren:

   xbody{ background: white; text-align: justify; }

Det er stadig valid css, men xbody påvirker ikke noget.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Christoffer (06-06-2005)
Kommentar
Fra : Christoffer


Dato : 06-06-05 09:57


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns966D40F69C00jcdmfdk@gyrosmod.cybercity.dk...
> Christoffer skrev:
>
>> li { padding: 5px; _10px; }
>
> Ovenstående vil hverken med eller uden understreg give mening - for
> IE såvel som for alle andre browsere. Hvis du mener:
>
> li { padding: 5px _10px; }
>
> - har understregen givetvis en effekt. Spørgsmålet er bare hvilken,
> og om der er forskel på IE og andre browsere her. Det er helt
> sikkert at brugen af understreg vil give en valideringsfejl. Jeg er
> også ret overbevist om at alle browsere vil ignorere den værdi der
> ligger efter understregen. Derudover *tror* jeg at de fleste
> browsere vil ignorere hele den tildeling som understregen er en del
> af (altså hele padding-reglen, ikke bare de 10px).
>
> Hvis du har brug for IE-specifik css, så brug de conditional
> comments som du også omtaler. Jeg kan ikke tro at du kan få noget
> godt ud af understregsmetoden.
Fandt det ved et tilfælde herinde
http://www.webmasterworld.com/forum83/5629.htm (#5), og blev lidt nysgerrig,
kunne jo have været det var en valid metode at omgå IE conditional.

--
Christoffer



Jens Gyldenkærne Cla~ (06-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-06-05 14:37

Christoffer skrev:

> Fandt det ved et tilfælde herinde
> http://www.webmasterworld.com/forum83/5629.htm (#5), og blev lidt nysgerrig,
> kunne jo have været det var en valid metode at omgå IE conditional.

Den metode som "monkeythumpa" omtaler går ud på at præfikse egenskaben
med en understreg - ikke værdien. Altså "_padding: 1em;" i stedet for
"padding: _1em;".

Den er ikke valid - og den er også helt uden dokumentation (virker den
fx både i standardmode og i quirksmode i IE?)

Hvorfor søger du en måde at omgå conditionals på? Conditionals er en
glimrende måde at servere specialkode til IE på - dels er det valid kode
(ingen andre browsere vil forsøge at tolke det), dels er det
veldokumenteret fra Microsofts side hvad conditionals gør.


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Christoffer (06-06-2005)
Kommentar
Fra : Christoffer


Dato : 06-06-05 18:21

> Hvorfor søger du en måde at omgå conditionals på? Conditionals er en
> glimrende måde at servere specialkode til IE på - dels er det valid kode
> (ingen andre browsere vil forsøge at tolke det), dels er det
> veldokumenteret fra Microsofts side hvad conditionals gør.
Er jeg skam hellere ikke, er bare interesseret i at lære noget nyt og komme
videre fra det niveau jeg ligger på nu. Men sagen er ligesom klar, det er
ikke værd at spilde mere tid på, så lader det ligge.
Tak for hjælpen.

--
Christoffer



Erik Ginnerskov (06-06-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 06-06-05 22:43

Christoffer wrote:
> Hej, jeg har et lille spørgsmål ang. specielle IE værdier.

Der er i forbindelse med IE og css to regler, det er godt at kende.

Læses kun af IE (indsættes i sidens head):

<!--[if IE]>
<style type="text/css" media="screen">
#foo {
foo:foo;
}
</style>
<![endif]-->

__________


Læses ikke af IE:

body>div#foo {
foo:foo;
}

På den måde kan man lave sine regler præcis som de forskellige browsere
bedst kan lide det.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Christoffer (07-06-2005)
Kommentar
Fra : Christoffer


Dato : 07-06-05 09:11


> body>div#foo {
> foo:foo;
> }
Aldrig rigtig gået op for mig hvad foo egentlig betyder/gør, så den kendte
jeg ikke.

--
Christoffer



Kristian Thy (07-06-2005)
Kommentar
Fra : Kristian Thy


Dato : 07-06-05 09:58

Quoth Christoffer:
>> body>div#foo {
>> foo:foo;
>> }
> Aldrig rigtig gået op for mig hvad foo egentlig betyder/gør, så den kendte
> jeg ikke.

<URL:http://catb.org/~esr/jargon/html/F/foo.html> (mening #3)

--
\\kristian

Erik Ginnerskov (07-06-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 07-06-05 16:30

Christoffer wrote:
>> body>div#foo {
>> foo:foo;
>> }
> Aldrig rigtig gået op for mig hvad foo egentlig betyder/gør,

Foo er i forklaringssammenhæng at betragte som et joker-tegn.

Det vil sige at i ovenstående kode kan første foo forstås som en div med et
hvilket som helst id efter forfatterens ønske.
Andet foo betyder en hvilket som helst lovlig definition.
Tredje foo gælder så for en hvilken som helst lovlig værdi til den valgte
definition.

Foo kan 'in real life' aldrig bruges til hverken definitioner eller dertil
hørende værdier - her skal man bruge de i standarden specifiserede navne.

Eksempler:

body>div#menu { /* foo kan bruges i stedet for menu */
display: block; /* foo kan ikke bruges */
}

body>div#indhold { /* foo kan bruges i stedet for indhold */
font-family: verdana, sans-serif; /* foo kan ikke bruges */
}

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Christoffer (07-06-2005)
Kommentar
Fra : Christoffer


Dato : 07-06-05 16:52


"Erik Ginnerskov" <erik@donotspammmeplease.invalid> skrev i en meddelelse
news:42a5bd5f$0$18638$14726298@news.sunsite.dk...
> Christoffer wrote:
>>> body>div#foo {
>>> foo:foo;
>>> }
>> Aldrig rigtig gået op for mig hvad foo egentlig betyder/gør,
>
> Foo er i forklaringssammenhæng at betragte som et joker-tegn.
>
> Det vil sige at i ovenstående kode kan første foo forstås som en div med
> et
> hvilket som helst id efter forfatterens ønske.
> Andet foo betyder en hvilket som helst lovlig definition.
> Tredje foo gælder så for en hvilken som helst lovlig værdi til den valgte
> definition.
>
> Foo kan 'in real life' aldrig bruges til hverken definitioner eller dertil
> hørende værdier - her skal man bruge de i standarden specifiserede navne.
>
> Eksempler:
>
> body>div#menu { /* foo kan bruges i stedet for menu */
> display: block; /* foo kan ikke bruges */
> }
>
> body>div#indhold { /* foo kan bruges i stedet for indhold */
> font-family: verdana, sans-serif; /* foo kan ikke bruges */
> }
Altså en god gammel variabel fra matematiktimerne.. Tak for det.




Jens Gyldenkærne Cla~ (07-06-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-06-05 09:47

Erik Ginnerskov skrev:

> Læses kun af IE (indsættes i sidens head):
>
> <!--[if IE]>

IE skal i denne sammenhæng forstås som IE til Windows. Mac-udgaverne af
IE forstår ikke conditional comments.

Kommentaren kan også specificere udvalgte IE-versioner - fx vil følgende
kommentar kun gælde for IE-versioner mindre end 6 (lt = less than)

<!--[if lt IE 6]>
IE 5.0 - 5.5
<![endif]-->

Man kan bruge operatorerne lt, lte, gt, gte (gt = greater than, e'et
læses som "or equal".


> Læses ikke af IE:
>
> body>div#foo {

Det er korrekt at IE ikke læser ovenstående - da IE ikke forstår
child-selektoren (X>Y). Hvis man bare vil bruge reglen til at holde IE
udenfor, vil det dog nok være bedre at bruge den således:

html>body #foo

Reglen herover vil fange ethvert element med id="foo" i browsere der
forstår child-selektoren (stort set alle andre end IE).

Den første regel (body>div#foo) vil kun fange en div med id="foo" hvis
den står direkte under body-elementet.

Eksempler:
A) <body><div id="foo">...</div></body>
B) <body><div><div id="foo">...</div></div></body>

A bliver fanget af begge regler, B bliver kun fanget af nr. 2

Man kan i øvrigt også bruge head+body i stedet for html>body. Det første
betyder et body-element der følger lige efter head, det andet betyder et
body-element der ligger direkte under html-elementet. I et korrekt
udformet html-dokument vil begge dele altid gælde - men da IE hverken
forstår > eller + i selektorer, vil den blot ignorere regler i disse
selektorer.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste