2012-04-02 16 views
8

Prawdopodobnie oczywistym Początkujący pytanie: szukam łatwy sposób uporządkowany styl standardowy list HTML bez znaczników takich jak następującej hierarchii:Niestandardowe style listy dla uporządkowanych list?

A. One 
    I. Two 
     1. Three 
      a. Four 
       aa. Five 
        (I.) Six 
         (1.) Seven 
          (a.) Eight 
           (aa.) Nine 

Czy istnieje rozwiązanie CSS dla tego? Zgodnie z moimi "badaniami" niestandardowe stylizacje dla poziomów od piątego do dziewiątego można osiągnąć tylko za pomocą liczników CSS?

Odpowiedz

7

Możesz to osiągnąć poprzez CSS przy użyciu list-style-type. Zastosuj niestandardową klasę do każdego poziomu hierarchii.

ul.a {list-style-type: circle;} 
ul.b {list-style-type: square;} 

ol.c {list-style-type: upper-roman;} 
ol.d {list-style-type: lower-alpha;} 

albumu: http://www.w3schools.com/css/css_list.asp

Można określić własny tekst w ten sposób na przykład:

CSS:

ul.custom 
{ 
    list-style-type: none; 
    padding: 0; 
} 

ul.custom li.aa:before { content: "aa. "; } 
ul.custom li.bb:before { content: "bb. "; } 
ul.custom li.cc:before { content: "cc. "; } 

HTML:

<ul class="custom"> 
    <li class="aa">foo</li> 
    <li class="bb">bar</li> 
    <li class="cc">baz</li> 
</ul> 

Th to spowoduje:

aa. foo 
bb. bar 
cc. baz 

Rozumiem, że to nie jest najbardziej elegancki rozwiązań, ale jest to jedyny sposób, znam to zrobić.

+0

Thx za odpowiedź. Znalazłem tylko standardowe style na stronie WC3, czy masz pomysł, jak uzyskać numerację typu "aa". "(I.)", "(1.)"? – Elip

+0

Proszę zobaczyć moje edycje :) – Khan

+0

Chcę pokazać (1), (2). Próbowałem twojego rozwiązania. Działa, ale nie wyrównuje się poprawnie. Chodzi mi o to, że druga linia nie pozostawia marginesu. – Emerald214