- Loģisks un strukturāls (X)HTML
- 27.1.04 15:27
-
Sākumā vienosimies, ka mēs abstrahējamies no pārlūku savietojamības problēmām.
Šeit es Jums (tiem, kurus interesē) paprovēšu parādīt, ko es teorētiski domāju par nepelnīti piemirstajām (X)HTML bagātībām - sarakstiem (piem.,
ul
unli
)Mani nebeidz mākt viena doma. Es naktīs murgoju (gadās:) par to. Iedomāsimies, ka mums ir ieraksts, kuram ir jāpievieno klāt kaut kādā veidā divi parametri - datums, autors un komentāru skaits. Lielākoties cilvēki ko tādu veido šādi:
<p class="entrydescr"> <span class="date">2002. gada 15. janvārī</span> <span class="author">Vārds Uzvārds</span> <span class="comments">6 komentāri</span> </p>
Ir skaidrs, ka tādējādi tiek grupēti kopā vienādas loģiskās nozīmes lauki. Bet vai tad tam nav domāti saraksti? Jo kas tad tas ir, ja ne saraksts? Tad kālab lai mēs neizmantotu
ul
unli
elementus, lai to visu arī semantiski padarītu par sarakstu?<ul class="entrydescr"> <li class="date">2002. gada 15. janvārī</li> <li class="author">Vārds Uzvārds</li> <li class="comments">6 komentāri</li> </ul>
Sekojošais kods katram
ul.entrydescr
saraksta elementam labajā pusē piekārto1em
lielu atkāpi un padarot šos elementus par inline, novieto tos vienu otram blakus:ul.entrydescr li { display: inline; margin-left: 1em; }
Es labprātāk būtu
margin-left: 1em
novietojis atsevišķā selektorā:div.entry ul.entrydescr li { display: inline; } div.entry ul.entrydescr li+li { margin-right: 1em; }
Kāpēc? Tīrības mīlestības dēļ :) Pirmajā variantā katram
li
elementam kreisajā pusē pieliekas klāt1em
liela atstarpe. Taču, loģiski, ka pēdējam elementam man šo atstarpi vairs nevajag, ne? Tāpēc, es labprātāk pielieku labajā pusē1em
lielu atkāpi katramli
elementam, pirms kura irli
elements.Aizmirstam par sākumā aizmirsto. IE nesaprot...
Kā jau viegli nojaust,
li+li
selektors nevar tikt izmantots, ja ir vēlme Firebird identisku izskatu iegūt arīdzan Internet Explorer pārlūkā. Jā, kārtējo reizi IE mums piedāvā savu jauko spēju nesaprast to, kas tik labi noderētu.Attiecīgi, zināmas grūtības (bet ar pāris viltībām arī tās var apiet!) rada, piem., horizontālu svītriņu ieviešana starp šī saraksta elementiem, bet ne pirmā elementa kreisajā un pēdējā elementa labajā pusē. Bet kas tad ir kvalitatīva, loģiska, strukturēta, arī koda līmenī pievilcīga weba veidošana, ja ne zināmu un ne tik ļoti grūtību pārvarēšana?