Andreas Haugstrup Pedersen skrev:
>> Kan du give en mere specifik henvisning?
>
> Nej, det gider jeg ikke grave i.
O.k. - så er referencen bare ikke så meget værd.
Google hjælper heller ikke:
<
http://www.google.com/search?q=hr+site%3Aopera.com>
> Så må du jo selv til at bruge hovedet. Border angiver farven
> på borderen, og på en hr uden defineret height er det det
> eneste synlige da højden på et tomt element er .. tom.
Det kommer vel an på om man opfatter linjen som indhold eller kant.
Jeg kan se tre forskellige måder at opfatte hr-elementets
standardværdi på:
1) En boks uden kant eller baggrund med et pseudo-billede som
streg:
<div style="border: none;"><img src="streg" /></div>
2) En boks uden kanter men men en baggrundsfarve forskellig fra den
almindelige baggrundsfarve og en given højde.
<div style="border: none; background-color: gray; height:
2px;"></div>
3) En boks uden højde, men med kanter.
<div style="border: solid 1px gray;"><div>
1, 2 og 3 svarer (sådan cirka) til IE, Mozilla og Operas måde at
opfatte hr på. Jeg skal gerne medgive at 1 virker underlig (jeg kan
dog ikke afvise den som direkte forkert), men jeg kan ikke se at 3
skulle være mere korrekt end 2.
Baggrundsfarven på et element med højden nul kan naturligvis ikke
ses - men er det mere logisk at ændre standardværdien for border-
styles (none) end at ændre standardværdien for højde?
>> (size) på en hr at defaultværdien er afhængig af browseren.
> Der står også at size er deprecated.
Fordi size som alle andre attributter vedr. udseende er afløst af
css. Men css-specifikationen fortæller ikke hvordan hr skal
fortolkes.
> Du får nok mere ud af tage en tur over i CSS specifikationen og
> slå height op.
Jeg kan ikke se hvad standardværdien for højde på et hr-element er
i css-definitionen. Boksmodellen beskriver hvordan man beregner
størrelser for elementer der indeholder andre elementer. Men der er
ikke - så vidt jeg kan se - nogen beskrivelse af et element som hr.
Man kan opfatte det som et tomt blokelement - men det vil være det
samme som at sige det ikke skal vises medmindre man styler det
speicielt. Og det er hverken tilfældet i praksis eller i
intentionerne med hr.
> Hvis du bare vil have en hr med en gennemsigtig baggrund, og
> farvede borders så behøver du heller ikke sætte en height.
> Hvis du vil have en hr med en farvet baggrund så skal du sætte
> en height.
Hvis jeg bare vil have en farvet hr klarer jeg mig fint med at
sætte farven for color, background-color og border-color. Jeg kunne
sikkert opnå samme effekt ved at udskifte border-color med en højde
- men så skal jeg også sætte højden på kanterne for ikke at få
meget forskellige resultater i forskellige browsere.
> Du kan aldrig være sikker på at browserfabrikanterne bliver
> ved at vise en ren hr uden CSS med borders,
Øh - siger du at <hr /> uden nogen style-definition bliver
ubrugelig? Det har jeg mere end svært ved at tro. Så længe hr
findes i (X)html-definitionen skal browserfabrikanterne nok sørge
for at den som standard vises på en eller anden måde.
> så derfor kan du lige så godt vænne dig til at skrive alle
> dine CSS-regler, og ikke håbe på at browsernes
> standardinstillinger er ens (og uændrede over tid).
Min nuværende model[1] lader størrelsen af hr-elementet være op til
browseren, mens farven sættes alle de steder det kan sættes. Jeg
tvivler på at det vil komme til at give et uønsket resultat i
overskuelig fremtid.
> hr {
> border:none;
> height:2px;
> }
Nu er almindelige hr-elementer usynlige i Opera. Så jeg skal altså
også definere en fast farveværdi hvis det skal virke.
Det er da ikke det store problem med de ekstra par kodelinjer. Men
jeg kan ikke lide at pille ved andre indstillinger end dem jeg rent
faktisk gerne vil have ændret.
> Så har du også den fordel at din hr har den samme højde i alle
> browsere!
Jeg har ikke behov for at vide at højden er præcis den samme i alle
browsere. Jeg har fuld tiltro til at hver enkelt browsers
standardværdi er forholdsvis fornuftig. I praksis er Opera og IE
ikke til at skelne fra hinanden, mens Mozillas hr'er er en smule
bredere.
Noter:
======
[1] Som jeg i parantes bemærket ikke bruger i praksis da jeg endnu ikke
har haft behov for farvede hr'er
--
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