Avatar billede hkb-x Nybegynder
16. februar 2007 - 13:19 Der er 16 kommentarer og
1 løsning

CSS prioritet

Jeg har noget css i et stylesheet og noget skrevet direkte i det enkelte html tag (style="")... mit problem er at jeg gerne vil have browseren til at give style informationerne i stylesheetet højest pririortet...

Hvordan gør jeg det?
Avatar billede mclemens Nybegynder
16. februar 2007 - 13:22 #1
font-size:12px!important;
... Hvad med !important efter css'en i stylesheetet ?
Avatar billede notes2c Nybegynder
16. februar 2007 - 13:22 #2
Det kan du ikke.... Lokale styles vil altid vinde...

Du kan fjerne / påvirke lokale styles via javascript...
Avatar billede notes2c Nybegynder
16. februar 2007 - 13:23 #3
!importent virker KUN for IE vedkommende i version 7
Avatar billede mclemens Nybegynder
16. februar 2007 - 13:26 #4
???

!important virker i FF, IE7 og IE6


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
div { font-size:20px!important;}
</style>

</head><body>
<div style="font-size:50px;">a</div>
</body></html>
Avatar billede hkb-x Nybegynder
16. februar 2007 - 13:27 #5
mit problem er at jeg gerne vil fjerne alle baggrundbilleder når der udskrives...

jeg har så desværre angivet et baggrundsbillede i et tag (baggrundsbilledet er nød til at være der pga noget PHP script)

er der en måde automatisk at fjerne alle baggrundsbilleder?
Avatar billede mclemens Nybegynder
16. februar 2007 - 13:29 #6
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
div { background:transparent!important;}
</style>

</head><body>
<div style="background-image:url('http://www.eksperten.dk/img/elogo.png');">a</div>
</body></html>
Avatar billede Slettet bruger
16. februar 2007 - 13:29 #7
Du kan fjerne alle dine inline-styles vha. et regulært udtryk i php i stedet.
Avatar billede hkb-x Nybegynder
16. februar 2007 - 13:30 #8
!important ser ud til at virke...

tak for hjælpen... ;)
Avatar billede hkb-x Nybegynder
16. februar 2007 - 13:31 #9
kan man gøre hele styleshetet !important uden at skulle definere det ved hver statement?
Avatar billede mclemens Nybegynder
16. februar 2007 - 13:31 #10
Velbekom, og tak for point :)
Avatar billede mclemens Nybegynder
16. februar 2007 - 13:32 #11
Det ved jeg ikke om man kan :-/
Avatar billede notes2c Nybegynder
16. februar 2007 - 13:39 #12
!important virker ikke efter hensigten...

Når jeg tester dit eksempel i IE6 får jeg et a som er 50px. Og Hvis man fjerne den lokale style vil give en font-size 10 px i IE6, og en font-size 20px i FF

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
div {
font-size:20px!important;
font-size:10px;
}
</style>

</head><body>
<div style="font-size:50px;">a</div>
</body></html>
Avatar billede hkb-x Nybegynder
16. februar 2007 - 13:42 #13
det er fint for mig da det kun skal virke i FF ;)
Avatar billede notes2c Nybegynder
16. februar 2007 - 13:49 #14
fint
Avatar billede mclemens Nybegynder
16. februar 2007 - 14:50 #15
Notes2c:

"!important virker ikke efter hensigten..."
Nej, det kan jeg godt se at den ikke gør i dit
eksempel. Din dobbeltdefinering af width i
samme css blok forvirrer åbenbart IE 6.


"Når jeg tester dit eksempel i IE6 får jeg et a som er 50px."
Nej, det gør du ikke, det er når du tester dit eksempel - ikke mit.
Min IE6 viser a i 20px højde med mit eksempel - 50px højde med dit eksempel.
... Læg mærke til den ekstra font-size definering, som du har sat ind.


"Og Hvis man fjerne den lokale style vil give en font-size 10 px i IE6, og en font-size 20px i FF"
Ja, IE har sommetider en speciel måde at håndtere forskellig css, jeg
var ikke selv klar over problemet ved dobbelt definering af samme css værdi
i samme css blok, da jeg ikke selv dobbelt definerer css værdier så tit ...


... Men, IE6, IE7 og FF understøtter alle !important. At IE6 så åbenbart har en bug
ved flere defineringer af samme css i den samme css blok er korrekt, men derfor
understøtter browseren stadig !important medmindre man forårsager css fejlen.
Avatar billede mclemens Nybegynder
16. februar 2007 - 14:53 #16
Ups, i ovenstående skulle "Din dobbeltdefinering af width i"
have været "Din dobbeltdefinering af font-size i"
Avatar billede notes2c Nybegynder
16. februar 2007 - 15:04 #17
For mig er det en bug, hvilket betyder at det ikke virket som specifikationen foreskriver. Ved da godt at det virker i dit eks, og ændrede det for at påvise fejlen. Nuvel der blev fundet en løsning og det er jo fint.
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