Jump to content
php.lv forumi

2 (un vairāk) līmeņu <ul>


ansis

Recommended Posts

Sveiciens!

Man atkal ir šāds jautājums.

Kā rakstīt ir pareizi, ja listē grib iekļaut citu listi?

 

1. variants:

<ul>
 <li>1</li>
  <ul>
	  <li>1.1</li>
	  <li>1.2</li>
  </ul>
</ul>

 

vai 2. variants:

<ul>
 <li>1</li>
 <li>			//vai šis li ir vajadzīgs?
  <ul>
	  <li>1.1</li>
	  <li>1.2</li>
  </ul>
 </li>		   //vai šis li ir vajadzīgs?
</ul>

 

Principā strādā abi. Esmu šur un tur redzējis lietojam arī abus.

Bet kā ir ar noteikumiem - vai drīkst kaut kas atrasties starp </li> un <li>

<ul><li>x</li> tas ir te... <li>x</li></ul>

 

Šis (vismaz man) rada lielas savietojamības problēmas pielāgojot CSS priekš IE un FF

Link to comment
Share on other sites

Pirmais tak ir absolūti nepareizs. UL child elementi drīkst būt tikai un vienīgi LI elementi. Zem UL tieši kā bērns nedrīkst būt UL elements.

Kāpēc neviens vairs nelasa dokumentāciju? http://www.w3.org/TR/html401/struct/lists.html

<!ELEMENT UL - - (LI)+ -- unordered list -->
Un ja tas ir nesaprotams, tad šo:
Both types of lists are made up of sequences of list items defined by the LI element

 

Otrais variants ir korekts.

Vēl var šādi:

<ul>
 <li>1
  <ul>
	  <li>1.1</li>
	  <li>1.2</li>
  </ul>
 </li>
</ul>

Edited by bubu
Link to comment
Share on other sites

...Kāpēc neviens vairs nelasa dokumentāciju?...

 

Paldies. Palasīju dokumentāciju.

Izrādās, ka var arī šādi:

<ul>
 <li>1
  <ul>
	  <li>1.1
	  <li>1.2
  </ul>
 <li>2
</ul>

(beigu </li> nav obligāts, kas atceļ manu jautājumu par to, vai kaut kas var atrasties starp </li> un <li>)

RTFM

Edited by ansis
Link to comment
Share on other sites

kur tu izraki ka tags nav jāaizver.. xhtml visi tagi ir jāaizver, gan jau tad html 4 ar vismaz rekomendē visus tagus aizvērt un nelikt browseriem minēt kur tev tagi beidzās.

 

Kā jau teicu: rtfm

 

http://www.w3.org/TR/html401/struct/lists.html

 

<!ELEMENT LI - O (%flow;)*			 -- list item -->
<!ATTLIST LI
 %attrs;							  -- %coreattrs, %i18n, %events --
 >
Start tag: required, End tag: optional

Link to comment
Share on other sites

(beigu </li> nav obligāts, kas atceļ manu jautājumu par to, vai kaut kas var atrasties starp </li> un <li>)

Tu pārprati tā </li> nevajadzīgumu.

Nav tā, ka tad kad neliek to </li> tad drīkst sazin ko mest pa vidu. Tā nu gluži nav gan.

Vienkārši HTML parseri būtu pašam jāmāk noteikt, ka </li> tags jāliek pirms nākamā <li> tagad. Tā ka - citus tagus nevajag un nedrīkst likt kā UL childus.

 

Ņem vērā, ka tas ir HTML standarts. XHTMLā obligāti vajag beigu tagus, kā jau tev saka.

Edited by bubu
Link to comment
Share on other sites

Kā jau teicu: rtfm

 

http://www.w3.org/TR/html401/struct/lists.html

 

<!ELEMENT LI - O (%flow;)*			 -- list item -->
<!ATTLIST LI
 %attrs;							  -- %coreattrs, %i18n, %events --
 >
Start tag: required, End tag: optional

 

Tev saka ka aizvēršanas tags ir obligāts XHTML.

 

Kā pretargumentu tu parādi HTML 4.01 dokumentāciju.

 

 

drusku jums nesaprasšanās un nevēlēšanās kārtīgi izlasīt ko otrs raksta :)

Link to comment
Share on other sites

reku(zemāk) uz ko ansis atbildēja ar html 4.01 :) bet tas tā, es laikam iejaucos pa vidiņam neīstajā brīdī :)

 

kur tu izraki ka tags nav jāaizver.. xhtml visi tagi ir jāaizver, gan jau tad html 4 ar vismaz rekomendē visus tagus aizvērt un nelikt browseriem minēt kur tev tagi beidzās.
Link to comment
Share on other sites

Tu pārprati tā </li> nevajadzīgumu.

Nav tā, ka tad kad neliek to </li> tad drīkst sazin ko mest pa vidu. Tā nu gluži nav gan.

Vienkārši HTML parseri būtu pašam jāmāk noteikt, ka </li> tags jāliek pirms nākamā <li> tagad. Tā ka - citus tagus nevajag un nedrīkst likt kā UL childus.

 

bubu: - tas atceļ manu jautājumu tādējādi, ka => ja nelieto </li>, tad zem <ul> vairs nav tādas vietas kā manis minētā

starp </li> un <li>
., vai Tevis minētā
.. pa vidu...
Citiem vārdiem sakot, katram </li> ir jāatrodas tieši pirms nākošā <li>. (ok, vai pirms </ul>)

 

Pārējiem:

Man tika uzdots jautājums "kur izraki, ka </li> nav obligāts". Norādīju sourci - manuāli, specifikāciju, linku.

Ir citas valodas, specifikācijas, manuāļi, kuros rakstīts kaut kas cits - visus nepārzinu.

Ir visādi XML un XHTML, par kuriem īsti neko nezinu - esmu dzirdējis tikai pa ausu galam.

Piekrītu, ka ir labais kodēšanas stils, bla bla bla, bet šis bija vienkāršs jautājums... :)

Edited by ansis
Link to comment
Share on other sites

Kā rakstīt ir pareizi, ja listē grib iekļaut citu listi?

1. variants:

<ul>
 <li>1</li>
  <ul>
	  <li>1.1</li>
	  <li>1.2</li>
  </ul>
</ul>

Pirmais tak ir absolūti nepareizs. UL child elementi drīkst būt tikai un vienīgi LI elementi. Zem UL tieši kā bērns nedrīkst būt UL elements.

Kāpēc neviens vairs nelasa dokumentāciju? http://www.w3.org/TR/html401/struct/lists.html

Un ja tas ir nesaprotams, tad šo:

Kur tu izrāvi ka viņš ir nepareizs?

http://www.w3.org/TR/html401/struct/lists.html#edef-LI

Ja būtu nepareizs tad nevalidētos.

Link to comment
Share on other sites

ABS: <!ELEMENT UL - - (LI)+ -- unordered list -->

Un ja LI tegam pieliek aizverošo </li> tegu, tad kā nākamais tegs drīkst būt tikai un vienīgi <LI> (vai </UL> kas nobeidz listu). Un nevis kautkāds jauns <UL> !!

Tik grūti saprast?

Link to comment
Share on other sites

×
×
  • Create New...