On Sat, 21 Apr 2001 22:39:21 +0200, Kurt Hansen <kurt@towle.dk> wrote:
Hej Kurt,
>Jeg har i hast sat en side op på
www.dyrevelfaerd.dk. Jeg var sådan
>set forberedt på problemer, da jeg besluttede at forsøge mig med
>spalter og jeg har aldrig rigtig fået sat mig dybere ind i CSS, så det
>blev til en gang Fedtmule-HTML.
Fedtmule-HTML og CSS går ofte galt ;-(
>Siden vises tilfredsstillende i Mickeys Internet explorer
Ja, det ser nydeligt ud. - Men det er jo ofte problemet: At MSIE er så
fejltolerant, at folk - ikke du - tror, at alt går ...
> og nooogenlunde i Opera
I min Opera 3.6 tilter den nu også en del.
Jeg prøvede at køre en validering på:
<URL:
http://validator.w3.org/>
- og det kunne sagtens have været værre, men ...
Noget, der typisk går galt, er hvis HTML'en ikke klart skelner
"block"-elementer fra "inline"-elemneter. Så kan CSS'en ikke finde ud
af, hvad den skal "knytte sig til".
"Block"-elementer er tags som P, H1, TABLE, TR, TD, DIV etc.
"Inline"-elementer er tags som EM, STRONG, SPAN, BR
- og her er det vigtigt, at
** inline-elementer skal være i blok-elementer, aldrig omvendt
(altså:
<P><EM>blabla</EM></P> er ok
<EM><P>blabla</P></EM> er *ikke* ok)
** inline-elementer skal afsluttes inden for samme blok-element
(altså:
<P><EM>blabla</P></EM> er *ikke* ok
<P><EM>blabla</P><P>mere bla</EM></P> er *ikke* ok
<P><EM>blabla</EM></P><P><EM>mere bla</EM></P> *er* ok)
Der er flere tilfælde af samme skuffe, fx hvis man har nestede
elementer:
<P><EM>blabla og <STRONG>mere blabla</STRONG></EM></P> er ok
<P><EM>blabla og <STRONG>mere blabla</EM></STRONG></P> er *ikke* ok
Og endelig en god tommelfingerregel:
** Alt (tekst, grafik, whatever) skal være inde i mindst ét
block-element.
I linie 147 lykkes det dig stort set at overtræde samtlige "regler":
</DIV><BR><DIV class="spbrot"><B><P> .. xxx .. </B>.</P>
Nu skal ...
- hvor den første BR bare skal væk, mens det første B skal hen efter P
(Og så kan du formentlig lige så godt bruge class på P i stedet for på
DIV - men det afhænger lidt af din CSS.) - og teksten efter det sidste
/P skal starte med et P
Resultatet bliver:
</DIV>
<DIV class="spbrot">
<P><B> .. xxx .. </B>.</P>
<P>Nu skal ...</P>
</DIV>
eller måske:
</DIV>
<P class="spbrot"><B> .. xxx .. </B>.</P>
<P>Nu skal ...</P>
Specielt hvis du skal lave spalter, så er det ekstremt vigtigt at have
styr på, hvad der er block-, og hvad der er inline-elementer.
En anden ting er så, om spalter er specielt velegnede til din side.
Prøv fx i MSIE at sætte View/Text Size op til Larger eller Largest, så
vil du opdage, at det går helt galt - medmindre du har fuld skærm og
ret høj opløsning.
På en side som din vil du ofte have ord som:
Dyreetikkens
svineproduktion
Demonstration
- for ikke at snakke om:
Forbrugergruppen
Solstrålehistorie
slagtekyllingeindustrien
- og orddeling er altså endnu ikke HTML's stærkeste side
Men bortset fra alle problemerne: Godt initiativ - og det ser også
pænt og veldisponeret ud!
Lige en lille ting til sidst:
Hvorfor bruger du generelt <DIV> i stedet for <P>?
Det er faktisk forkert. P betyder, at det det er et afsnit, og så skal
der ikke bruges DIV.
DIV bruges til fx at omslutte flere blokelementer og give dem en
bestemt egenskab. Det samme gør SPAN, bare som inline-element, hvor
DIV er et blok-element.
Det kan godt være, at du får det til at se fornuftigt ud, uanset om du
bruger P eller DIV, men det giver en forkert struktur, og fx
svagtseende/blinde vil let få problemer.
Nå, det blev en længere smøre, jeg håber du kan bruge noget af det.
>P.P.S. Gud ved hvordan det ser ud på en Mac? <Gys>
Mvh. Jørn
--
Jørn Andersen
Brønshøj