Avatar billede Slettet bruger
18. januar 2008 - 18:38 Der er 11 kommentarer

CSS-skift afhængig af browser

Hej. Jeg vil gerne have mulighed for at vælge stylesheet ud fra hvilken browser, folk anvender. Hvordan gør jeg det og hvor finder jeg en oversigt over de forskellige typer browsere og de betegnelser (f.eks. som Internet Explorer 6 er "ie6"), der skal bruges i JS?
Mvh Jesper
Avatar billede olebole Juniormester
18. januar 2008 - 21:55 #1
<ole>

Hvorfor ikke bare skrive ét stylesheet, som fungerer i alle browsere?  :)

/mvh
</bole>
Avatar billede bauerdata Nybegynder
19. januar 2008 - 02:11 #2
Avatar billede olebole Juniormester
19. januar 2008 - 02:37 #3
Tussegammel kode - og inkompatibel med XHTML. Derudover vil Opera indentificeres som 'IE5_plus'. Løsningen må stadig være ét stylesheet til alle browsere, hvilket ikke er så svært
Avatar billede roenving Novice
19. januar 2008 - 15:35 #4
-- og så kan man evt. gøre det nemmere at lave det ved at benytte conditional comments til de (relativt få !-) tilfælde, hvor du har brug for noget, der under ingen omstændigheder understøttes af de gamle M$-browsere:

<!--[if lt IE 7]>
<script type="text/javascript" src="fil_kun_ie6.js"></script>
<style type="text/css">
  /*IE6- kode */
</style>
<![endif]-->

-- se evt. http://msdn2.microsoft.com/en-us/library/ms537512.aspx for mere !-)
Avatar billede bauerdata Nybegynder
19. januar 2008 - 17:31 #5
Avatar billede bauerdata Nybegynder
19. januar 2008 - 22:28 #6
Olebole "Derudover vil Opera indentificeres som 'IE5_plus'. "
Har du et svar eller er det bare varm luft.
Vis os koden som giver det rigtige svar.
Eller har du bare det hele i  munden ?
Avatar billede olebole Juniormester
19. januar 2008 - 22:57 #7
Da Opera også forstår 'document.all', vil den identificeres som 'IE5_plus'.

Ja, svaret er, at hele koden er forældet, og der bør derfor findes en anden/nyere. Der er masser at vælge imellem 'derude'. Roenvings løsning er et godt eksempel.

Du behøver ikke at føle dig trådt over tæerne. Jeg kritiserer ikke dig, men koden, du linker til  :)
Avatar billede bauerdata Nybegynder
19. januar 2008 - 23:32 #8
Når folk stiller et spørgsmål så syntes jeg ikke at et svar som dette hører hjemme.

"Hvorfor ikke bare skrive ét stylesheet, som fungerer i alle browsere?  :)"

1. Det stiller spørgeren i et dårligt lys. ( får ikke lyst til at spørge igen )

2, Det fremstiller dig som kloge Åge der ved bedre og skal lefles for inden du vil dele ud af dine guldkorn.

3. Det har ikke noget med  mig at gøre , med 30 år i branchen skal der mere til at ryste mig. Det er ikke første gang jeg møder din type.

Du der hamrende dygtig , det ved jeg, så lad være med at opføre dig på denne måde. Det klæder ikke Eksperten og dig.
Avatar billede olebole Juniormester
20. januar 2008 - 00:06 #9
bauerdata >> Er sandheden mon ikke bare, du føler dig pikeret over, jeg påpegede, at den kode, du linkede til, hører til i et andet årtusinde?

At du med 30 år bag dig i branchen ikke føler større forståelse for at være opdateret omkring gældende standarder, ryster til gengæld mig en del!
En helt anden ting er så, at webbranchen vel næppe kan være opstået væsentligt før, Tim Berners-Lee startede den i begyndelsen af 1990'erne ... altså for ca. 15 år siden  ;o)

Hvis du er over 30 år gammel, burde man kunne forvente, du er klar over, der skal meget mere til at 'typebestemme' mennesker end blot nogle indlæg i et webforum. Derfor opfatter jeg da heller ikke "Det er ikke første gang jeg møder din type" for andet end retorisk vrøvl.

Løsningen er at skrive en CSS-kode, der fungerer i alle browsere - hvilket næsten altid kan lade sig gøre. Hvordan ville du have, jeg skulle forklare spørgeren det?
Hvis du har været med siden begyndelsen på WWW, burde du vide, at webkodning er et fuldt fag - og at man ikke kan give et komplet CSS-kursus i en Eksperten tråd. Det er, hvad der kræves for at kunne skrive crossbrowser kode - både indenfor markup, CSS og JavaScript/DOM.
Det har intet med ønske om 'lefleri' at gøre. Det er rent praktisk en umulig opgave at give en fyldestgørende forklaring/løsning. Du vælger altså i stedet at opfatte det, somom jeg angler efter, at der skal 'lefles' for mig, før jeg vil hjælpe. Hvis du tager dig tid til at kikke de små 3.500 spørgsmål, jeg har besvaret, igennem, vil du nok få et meget andet indtryk.

Alt i alt siger dit indlæg vel mest om dig selv  :)
Avatar billede roenving Novice
21. januar 2008 - 00:11 #10
Ingen tvivl om at Ole en gang imellem kan være lidt skarp (eller harsk !-) i sine kommentarer, men jeg har dog svært ved at se, at der i nogensomhelst form skulle være en grund til at fortsætte efter indlægget fra ole 19/01-2008 22:57:24 ...

-- hvis ikke man efter 30 år i web-branchen (hrm, Tim Berners-Lee lavede sin første draft til html i marts 1989 -- http://da.wikipedia.org/wiki/Tim_Berners-Lee -- i øvrigt et grineren eksempel på ekstremt dårlige maskinoversættelser !-) er klar over, at Opera-browseren (start 1994 -- http://da.wikipedia.org/wiki/Opera_%28browser%29 !-) forsøger at gøre ting som IE, og endda forsøger at optræde som denne, bør man vist finde sig et andet fag !o]
Avatar billede olebole Juniormester
21. januar 2008 - 00:28 #11
- okay, jeg tænkte på, da WWW gik i luften i 91 ... men det er helt korrekt, at HTML/HTTP naturligvis allerede var udarbejdet på det tidspunkt  :)
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