Själva <ul> blocket fungerar ju som en container som hjälper till vid positionering. Vill du slippa listor så blir man kanske tvungen att lägga in en extra <div> om man vill få mer kontroll och koden blir då mindre semantisk,
För det är väl egentligen för semantikens skull man kör med listor till menyer.
Dessutom visar ju webläsarna listor på ett ganska prydligt sätt om man skulle koppla bort stilmallen.
När man skapar en meny med CSS är ju det vanligaste att man använder sig av listor. Varför egentligen?
Hmm...
Jag har alltid haft för mig att det beror på att nån kom på den brillianta idén att man rent semantiskt kan betrakta en meny som en lista med länkar ;)
Jo! Title måste man såklart ha! Men hur är det? Skulle det inte bli tydligare för dem som surfar med typ: "text" om man la till <dd>? Bara en tanke...
Om du hade tänkt dölja <dd> med CSS tycker jag att du borde använda TITLE istället. Om du däremot tänkt ha det synligt hela tiden, även med CSS på, så funkar det utmärkt.
TITLE
This attribute offers advisory information about the element for which it is set.
Definition lists vary only slightly from other types of lists in that list items consist of two parts: a term and a description. The term is given by the DT element and is restricted to inline content. The description is given with a DD element that contains block-level content.
Om du anger display:none; så kommer informationen inte visas eller läsas. TITLE-attributet visas i de flesta webbläsare som en "tooltip", och skärmläsare/pratande webbläsare kan konfigureras för att läsa upp TITLE-attribut.
Dock bör man inte gömma väsentlig information i ett TITLE-attribut, eftersom det finns risk för att användaren inte kan ta del av den informationen.
Men är jag helt ute och cyklar när jag tänker att display: none skulle funka? Tar inte text-surfning bort css'n? Man kan ju ha title oxå, väl?
Fördelen skulle ju vara att man då kunde ha en schysstare beskrivning för dem utan CSS... För i title brukar det ju vara bra att hålla sig till ngt lite kortare.
En definitionslista är inte vad du ska använda dig av i en meny på en sajt, såvida inte varje menyalternativ behöver en beskrivande text. Men då finns ju som redan skrivits title-attributet till a-elementet. När jag skapar en meny så använder jag mig av en oordnad lista och lite CSS, och använder title-attributet för att beskriva vad länken leder till:
Att använda sig av en display:none på en definitionslistas definitionsbeskrivning (dd-elementet) är inte heller att föredra. Använd det som är enklast för ditt syfte - en oordnad lista med title-attribut på a-elementen. :)
Så sant så sant
OT:
... och i xhtml2 kommer vi att lära oss att skriva menyer med den nya listtypen <nl> (Navigation List) samtidigt som vi kommer att lära oss att lägga href="URL" direkt som attribut till <li>. Vi kommer alltså på sikt kunna slippa den där extra <a>-taggen helt...
Har inte kollat så noga (än) eftersom specen fortfarande inte är fastställd... Förmodar (hoppas innerligt) att nästnästa generation webbläsare (eller så) tar fart och ger oss både CSS3 och xhtml 2 samtidigt - och i så fall bör det finnas lite mer möjligheter (även om det just nu känns, precis som Nipon säger, ganska långt borta...)
Men oavsett vad - när "majoriteten" av webbläsarna därute stödjer display:table, display:table-cell m.fl (dvs om antingen MSIE skulle börja göra det eller om MSIE plötsligt skulle tappa marknaden helt) kommer vi nog att se lite färre "floats" ;)
... och det känns väl inte heller direkt nära i tiden om man skall vara ärlig :(
Men iallafall - jag skrev ju "Off Topic" :e
260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2