Avatar billede Slettet bruger
22. maj 2005 - 19:11 Der er 17 kommentarer og
1 løsning

Rollover med CSS, perfect i IE, men ikke i opera og firefox

hvad gør jeg forkert i CSS, jeg har brugt kaskadeprincipet, alt virker perfect i IE men opera og firefox viser intet. http://henning1.wi3.ots.dk/opgave_1/ et tilsvarende problem er at finde på http://henning1.wi3.ots.dk/opgave_1a/
Avatar billede foxmulder58 Praktikant
22. maj 2005 - 22:15 #1
En god idé er at angive en DOCTYPE til dine dokumenter således:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">



Prøv at indsætte dette i dine dokumenter, og se om ikke det løse dit problem i firefox.


mvh
Mads
Avatar billede Slettet bruger
22. maj 2005 - 23:50 #2
siden er valideret via W3c.org, sætter jeg DTD til loose.dtd eller strict.dtd virker den heller ikke i IE!!. det er et af de der 1000kg's spørgsmål.
Avatar billede Slettet bruger
23. maj 2005 - 00:00 #3
Html og CSS coder er at finde på disse addresser.

Html: http://henning1.wi3.ots.dk/opgave_1/index.html

CSS:  http://henning1.wi3.ots.dk/opgave_1/typark.css

Mvh Henning Klemme
Avatar billede foxmulder58 Praktikant
23. maj 2005 - 01:54 #4
Problemet I Firefox ligger helt klart i den IFRAME du har på siden.

Jeg synes en bedre design løsning for dig ville være at opbygge hjemmesiden v.h.a. <div> tags der omkranser indhold og tables.

Dette er for mig at se den mest holdbare løsning! ...men vent på brugeren "olebole" giver sin kommentar til din kode ( han er supergo` til at gennemskue koder!)og han ved sikkert hvad du skal gøre for at få dit design til at lykkedes.

Udmiddelbart synes jeg dog ikke om at du IKKE anvender en DTD (loose). Og du har helller ikke defineret dine tabel størrelser som eksempelvis:

<table width="650" border="1" cellspacing="1" cellpadding="1">

Jeg er netop ved at ligge sidste hånd på mit design på min hjemmeside:

http://www.netausupport.frac.dk/

jeg har anvendt <div> og brugt tabeller til at formatere indhold (der er dog enkelte fejl i mine tags samt døde links  jeg ikke har rettet/lavet endnu!....dovenskab! ;-/)

Jeg har anvendt tutorialen på nedestående side:

http://webmaster.hephey.dk/guide/45/

den har en god guide til hvordan du formaterer dine <div> tags v.h.a css.

så den synes jeg du skulle kigge på!

NB! Du kan en hente en gratis WYSIWYG editor som hedder (X)HTML-KIT på www.chami.com den anvendes flittigt på SDU og den er virkelig god!

mvh
mads
Avatar billede olebole Juniormester
23. maj 2005 - 19:23 #5
<ole>

Om siden validerer eller ej, er i forbindelse med DTD'en fuldstændig underordnet. Uden en definitions-URL i DTD'en, kan IE ikke anvende CSS  :)
Desuden bør du aldrig belave dig på, at tomme elementer bliver vist, som forventet - du bør mindst skrive et &nbsp;

/mvh
</bole>
Avatar billede Slettet bruger
29. maj 2005 - 14:34 #6
Det ser ud til jeg selv løber med de 200 point, løsningen er at ind sætte
a {display: block;}
og valideret via W3c dvs. fejl fri. efter W3C standart.
Avatar billede olebole Juniormester
29. maj 2005 - 18:09 #7
Nej, det er ikke løsningen. Uden DTD kan IE simpelhen ikke tolke CSS, så uden den er det et rent held, hvis du får noget til at virke.
Men bevares ... hvis du insisterer på skidt kode, er der jo ikke meget, vi andre kan gøre for at få dig til at kode ordentligt. Det eneste, der undrer i den forbindelse, er vel, at du overhovedet opretter et spørgsmål  :)
Avatar billede Slettet bruger
29. maj 2005 - 19:27 #8
Bevarmig vel. det gør W3C. held og lotto. og Microsoft bruger ikke W3C DTD..
Avatar billede olebole Juniormester
29. maj 2005 - 20:05 #9
Jamen, fordi nogen skriver skodkode, behøver du da vel ikke også at gøre det. Bare fordi, man hedder W3C eller MS, betyder det ikke, man er fejlfri  ;o)

Prøv denne kode i et dokument:

<!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>TITLE</title>
</head>
<body>

<div style="width:200px;height:200px;border:50px solid red;background-color:yellow">&nbsp;</div>
<div style="width:200px;height:200px;background-color:yellow">&nbsp;</div>

</body>
</html>

Prøv den i både Mozilla og IE - med og uden DTD. Så kan du tydeligt se, IE ikke overholder CSS's box-model, når du udelader DTD'en. Du kan også bare slette URL'en i DTD'en ... så fejler IE også.

Du kan med JavaScript teste, om browseren overholder CSS-standarden med dit dokument. Det gør du med:
  alert(document.compatMode)
- som skal returnere 'CSS1Compat'. Returneres 'BackCompat' (eller i Opera 'QuirksMode'), er det fordi, du har disabled CSS med din kode.

Selvom MS skriver skodkode på deres sites, er det såmænd ikke, fodi de ikke selv er klar over, det er skodkode. Du kan evt. læse under The !DOCTYPE "Switch" her:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp

Hvis dine studier skulle bringe dig så dybt, at du skulle falde over W3C's FAQ om XHTML, vil du opdage, at de skriver, standarden stort set er ubrugelig på WWW, som det ser ud idag. Læs evt. også:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538

- der er meget mere i webkodning, end man får indtryk af i de mange web-tutorials, der som oftest er fyldt med fejl og misforståelser og for de flestes vekommende er skrevet uden substantiel baggrundsviden  ;o)
Avatar billede olebole Juniormester
29. maj 2005 - 20:25 #10
PS: Jeg skriver det for din egen skyld. Det at udelade DTD'en er uden sammenligning den kodefejl, der giver anledning til flest spørgsmål om webkodning på Eksperten. Det medfører bunker af visuelle fejl og forskelligheder mellem browsere.

I øvrigt stipulerer W3C's HTML-rekommendationer helt tydeligt, at DTD'en er det mest basale i et HTML-dokument ... en _absolut_ nødvendighed.
Derfor undrer det mig såre, man overhovedet tager sig af standarder, når man udelader dén ... det hænger ovehovedet ikke sammen  :)
Avatar billede Slettet bruger
29. maj 2005 - 21:14 #11
jeg stilte ?, fordi ingen kunne give en godforklaring på CVK.OTS.dk !
Jeg ved at ingen DTD i IE = IE v5, og med DTD = IE v6, mine site havde
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">.
og i dag betyder den mega meget hvordan koderne skal fortolkes af browseren, jeg er mere eller mindre slået over i XHTML, og så vidt mugligt ingen brug af tabeller.
det giver en støre frihed, hvad andgår udsende. <div></div> bruges flitigt så absolute i et relative,kode miljø, Take a look, denne forside http://henning1.wi3.ots.dk/ har jeg lavet lørdag og søndag. hvad jeg selv betegnet som som god rationel kodning, med så meget i CSS2, at det ikke er mugligt at koge HTML længer ned.
det giver et overblik over koderne.
Avatar billede olebole Juniormester
29. maj 2005 - 22:03 #12
Jamen, det har da intet med XHTML at gøre. Der er ikke en eneste browser på kloden, der bruger XHTML-parseren til at behandle den side. Alle browsere vil se koden som værende dårlig HTML, der først skal repareres, inden den kan tolkes.

Siden bliver served som ren HTML, så for det første forvirrer du browseren med en DTD, der fejlagtigt påstår, der er tale om et XHTML-dokument.
Dernæst skal parseren så reparere alle dine XHTML-lukninger af tags, da de ikke er en del af HTML-standarden - og derfor ikke kan bruges af en HTML-parser.

Enhver browser vil have langt mindre arbejde med din side, hvis du skriver koden i valid HTML4.01, da koden jo alligevel ikke kan parses som XHTML. Det kræver langt mere at skrive XHTML, end at huske at lukke tags  ;o)

Denne DTD disable'er også CSS:
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Sådan skal den se ud:
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Slutteligt signallerer du alt andet end professionalisme med brugen af W3C-bannere. Det ser du så at sige aldrig på professionelt kodede sites - og med god grund.
For det første passer de sjældent ind i sidens design - hvad din side jo er et glimrende eksempel på.
For det andet oplyser de ikke andet, end at koderen bag er begavet nok til at læse en manual og gøre, som der står. Det er ikke noget at reklammere med ... det burde være en helt grundlæggende forudsætning for at kode.

Som du ser det med XHTML, kan man såmænd sagtens skrive valid kode, der skodder ganske forfærdeligt.
At kunne skrive valid kode, svarer til at kunne stave rigtigt på en indkøbsseddel. At skrive en roman kræver en langt dybere indsigt i sproget - og på samme måde er valid kode kun en spæd begyndelse på den gode kode.

God kode er valid kode ... men valid kode er ikke nødvendigvis god kode  :)
Avatar billede olebole Juniormester
29. maj 2005 - 22:05 #13
- med XHTML-parseren mener jeg naturligvis XML-parseren  :)
Avatar billede Slettet bruger
29. maj 2005 - 22:48 #14
jeg er i gang! tak.
Avatar billede olebole Juniormester
29. maj 2005 - 22:59 #15
- fino ... selvtak  ;o)
Avatar billede Slettet bruger
30. maj 2005 - 00:09 #16
ja, som du nævner, er jeg også blevet fejl oplyst, og hvad det ikke medføre, det skal der rettes op på, dette er en begyndelse. der vil kommer nok flere ? det næste års tid. det er ikke let. tak olebole
Avatar billede Slettet bruger
30. maj 2005 - 00:14 #17
*****
Avatar billede olebole Juniormester
30. maj 2005 - 01:17 #18
- selvtak, endnu engang  :)
Nøøhh ... det er ikke altid let, men det er de fede ting i livet jo sjældent - og så er det jo altid squide sjovt at lære. På med vanten - og bare stil spørgsmål, når der er noget, du er usikker på  ;o)
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