Att göra en HTML5 Description list?

Permalänk
Medlem

Att göra en HTML5 Description list?

Hej!

Nybörjare på HTML och skulle behöva lite hjälp hur man ställer upp en HTML5 Descriptionlist. Listan ska se ut som nedan:

Misc.

Predators
Eagle

Passerine
Staling

Songbirds
Nightingale

Tacksam för hjälp!

Permalänk
Medlem
Permalänk
Medlem

Tack för svar!
Detta fick jag ihop men jag får inte så jag kan validera filen med blankraden mellan. Vad kan man använda? Har testad ex nbsp; och <br> och det fungerar ju men det går inte igenom valideringen. Jag får meddelandet:

"Element br not allowed as child of element dl in this context. (Suppressing further errors from this subtree.) Contexts in which element br may be used:
Where phrasing content is expected.
Content model for element dl:
Zero or more groups each consisting of one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements."

Hänger inte med och vet inte hur jag ska lösa detta.

Permalänk
Medlem

Använd CSS för att styra layout/utseende. Mellanrum mellan element fixar du med CSS attributet margin.

Ex.

CSS: dt { margin-top: 1em; } HTML: <h1>Misc.</h1> <dl> <dt>Predators</dt> <dd>Eagle</dd> <dt>Passerine</dt> <dd>Starling</dd> </dl>

Visa signatur

The difference between stupidity and genius - the latter has limits

Permalänk
Medlem
Skrivet av Zevon:

Använd CSS för att styra layout/utseende. Mellanrum mellan element fixar du med CSS attributet margin.

Ex.

CSS: dt { margin-top: 1em; } HTML: <h1>Misc.</h1> <dl> <dt>Predators</dt> <dd>Eagle</dd> <dt>Passerine</dt> <dd>Starling</dd> </dl>

Detta fungerar inte då jag inte kan lägga varannan med <dt> då indragen blir väldigt konstiga. De hamnar så att säga inte på samma radposition.

Permalänk
Medlem

Lösning:

Så här löste jag det nu:

HTML5:
<dl>
<dt>Misc.</dt>
<dd class="listor">Predators</dd>
<dd class="listor2">Eagle</dd>
<dd class="listor">Passerine</dd>
<dd class="listor2">Staling</dd>
<dd class="listor">Songbirds</dd>
<dd class="listor2">Nightingale</dd>
</dl>

CSS:
dt {background-color: #FFFFFF;
color: #990033;
margin-right: 20px;
margin-left: 20px;
margin-bottom: 20px;
font-weight: bold;}

.listor { color: #666666; }
.listor2 { color: #666666;
margin-bottom: 20px;}

Vet inte om detta är det bästa men det var det första som ser ut som jag vill ha det samt att det gick igenom valideringen.

Permalänk
Medlem
Skrivet av Märta:

Så här löste jag det nu:

HTML5:
<dl>
<dt>Misc.</dt>
<dd class="listor">Predators</dd>
<dd class="listor2">Eagle</dd>
<dd class="listor">Passerine</dd>
<dd class="listor2">Staling</dd>
<dd class="listor">Songbirds</dd>
<dd class="listor2">Nightingale</dd>
</dl>

CSS:
dt {background-color: #FFFFFF;
color: #990033;
margin-right: 20px;
margin-left: 20px;
margin-bottom: 20px;
font-weight: bold;}

.listor { color: #666666; }
.listor2 { color: #666666;
margin-bottom: 20px;}

Vet inte om detta är det bästa men det var det första som ser ut som jag vill ha det samt att det gick igenom valideringen.

Om du kan skita i IE8 så använd nth-child(odd) istället:

http://jsfiddle.net/VCven/2/

Visa signatur

Programmerare -> PHP | HTML | CSS | JS | Java.

Permalänk
Medlem
Skrivet av Märta:

Detta fungerar inte då jag inte kan lägga varannan med <dt> då indragen blir väldigt konstiga. De hamnar så att säga inte på samma radposition.

Återigen, utseende ska inte påverka vilka taggar du använder.. Styr utseendet med CSS, ex. för att ta bort indenteringen på dd elementen så använder du:

dd { margin-left: 0; }

Skrivet av Märta:

Så här löste jag det nu:

HTML5:
<dl>
<dt>Misc.</dt>
<dd class="listor">Predators</dd>
<dd class="listor2">Eagle</dd>
<dd class="listor">Passerine</dd>
<dd class="listor2">Staling</dd>
<dd class="listor">Songbirds</dd>
<dd class="listor2">Nightingale</dd>
</dl>

CSS:
dt {background-color: #FFFFFF;
color: #990033;
margin-right: 20px;
margin-left: 20px;
margin-bottom: 20px;
font-weight: bold;}

.listor { color: #666666; }
.listor2 { color: #666666;
margin-bottom: 20px;}

Dold text

Vet inte om detta är det bästa men det var det första som ser ut som jag vill ha det samt att det gick igenom valideringen.

Valideringen berättar bara om ditt dokument är syntaktiskt korrekt (om koden är korrekt), men den säger ingenting om huruvida dokumentet är semantiskt korrekt (om koden används på rätt sätt).

I ovanstående fall så missbrukar du descriptionlistan, och du har helt supit bort den semantiska kopplingen mellan ex. "Predator" och "Eagle". Om du inte var intresserad av att ha en semantisk koppling mellan orden så bör du istället använda en o-ordnad lista (ol), "ingen semantik" är alltid bättre än "felaktig semantik".

Visa signatur

The difference between stupidity and genius - the latter has limits