validera ul och li

HTML & CSS

4 svar · 329 visningar · startad av Nova

Medlem sedan feb. 2005216 inlägg
Trådstart#1

Jag får inte min lista att validera.

<ul> <span class="advert_lit"><li><A HREF="recept.asp?receptnr=193"  >Vetesallad</a></li><br>
<li><A HREF="recept.asp?receptnr=192"  >Paj med fetaost, broccoli och kassler</a></li><br></span></ul><br>

Vad gör jag för fel?

Medlem sedan juli 20013 378 inlägg
#2

Hmm...

Varje ul-element har en start- och en sluttagg och inuti den får det bara finnas <li>-element!

Det här är ett exempel:

<ul>
<li>Hejsan!</li>
<li>Hejsan!</li>
<li>Hejsan!</li>
</ul>

Jo - det är säkert, men varje li-element du petar in i listan kan i sin tur innehålla "det mesta".
Vill du använda element som <span> eller <br> i en lista, måste altså dessa alltid placeras "inuti" ett <li>-element, dvs <span> och </span> får aldrig placeras så att den ena av dem hamnar någon annanstans än mellan <li> och </li>.

De start- och slut-taggar jag har fetmarkerat i ditt exempel hamnar "utanför" <li> och </li> på ett otillåtet sätt:

<ul> [b]<span class="advert_lit">[/b]<li><A HREF="recept.asp?receptnr=193"  >Vetesallad</a></li>[b]<br>[/b]
<li><A HREF="recept.asp?receptnr=192"  >Paj med fetaost, broccoli och kassler</a></li>[b]<br></span>[/b]</ul><br>

Du måste helt enkelt tänka om din kod så att de hamnar "inuti" ett li-elementen, t.ex. genom att dela upp din "stora span" i smådelar som både "öppnas" och "stängs" inom respektive <li> och </li>

Medlem sedan juni 20014 290 inlägg
#3

Jag skulle ha skrivit den så här:

<span class="advert_lit">
<ul>
<li><a href="recept.asp?receptnr=193"  >Vetesallad</a></li>
<li><a href="recept.asp?receptnr=192"  >Paj med fetaost, broccoli och kassler</a></li>
</ul>
</span>

Som du ser så har jag lagt span utan för ul, skrivit alla taggar med små bokstäver och tagit bort br taggen (eftersom li och ul är block element så behövs inte br efter dom).

Antagligen skulle jag använt div istället för span så att det blir så här:

<div class="advert_lit">
<ul>
<li><a href="recept.asp?receptnr=193"  >Vetesallad</a></li>
<li><a href="recept.asp?receptnr=192"  >Paj med fetaost, broccoli och kassler</a></li>
</ul>
</div>
Medlem sedan aug. 20051 448 inlägg
#4

eller

<ul class="advert_lit">
<li>...
Medlem sedan juli 20013 378 inlägg
#5

GunnarD skrev:

Jag skulle ha skrivit den så här:

<span class="advert_lit">
<ul>
<li><a href="recept.asp?receptnr=193"  >Vetesallad</a></li>
<li><a href="recept.asp?receptnr=192"  >Paj med fetaost, broccoli och kassler</a></li>
</ul>
</span>

Hmm...
UL är ett "blockelement" och SPAN får inte innehålla sådana (bara "inline"element, så det där validerar inte det heller (i varje fall inte i HTML4 Strict). Man måste använda <div> som i det andra exemplet om man vill få godkänt av validatorn samtidigt som man vill koppla utseendet någon annanstans än i UL ;)

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)