2017-03-07 1 views
0

html/doxygen을 작성할 때 ul, li가 자주 사용됩니다. 중첩 목록의 경우. 첫 번째 레이어는 "디스크", 두 번째 레이어는 "사각형", 트리드 레이어는 "대시"가되고 싶습니다. CSS의 다른 중첩 된 레이어에서 ul 유형/클래스를 지정하는 방법은 무엇입니까?

<ul> 
    <li> ... 
    <ul type=square> 
     <li> ... 
     <ul class="dash"> 
       <li> ... 
       <li> ... 
     </ul> 
    </ul> 
</ul> 

유형 = 평방 = "대시" 또는 클래스처럼 입력하는 일을 피할 수있는 방법이 있나요. 중첩 된 ul 목록을 작성하면 기본적으로 중첩 된 계층의 위치에 따라 다른 유형 및 클래스로 설정할 수 있습니다.

어쨌든 CSS에서 할 수 있습니까?

+0

당신은 CSS에서 클래스를 설정할 수 없습니다. 클래스는 마크 업 언어 (HTML 또는 XML)로 설정됩니다. –

답변

2

이 방식으로 CSS를 사용할 수 있습니다

ul { 
    list-style: disc 
} 

ul ul { 
    list-style: circle; 
} 

ul ul ul { 
    list-style: square; 
} 

데모 :http://jsfiddle.net/GCu2D/1736/

+0

완벽하게 작동하여 다른 스타일을 선택합니다. 하지만 "circle"을 사용하고 싶지는 않지만 미리 정의 된 ul 클래스 "dash"를 사용하고 싶다면 어쨌든 그것을 선택해야합니까? –

+0

ul.dash를 사용하고자 할 때마다 추가하십시오. –

+0

세 번째 레벨을 설정하여 Tul ul ul.dash { } 으로 설정하면 작동하지 않습니다. 나는 "ul ul ul> li : before"를 사용하여 클래스를 재정의해야한다. 그러나 어쨌든, 당신의 대답은 내 문제를 완벽하게 해결했습니다. 고맙습니다! –

0

square 아래, 유효한 list-type 인 예이다. :before 의사 선택기를 사용하여 대시를 얻을 수 있습니다.

ul[type=square] { 
 
     list-style: square; 
 
    } 
 

 
    ul.dash { 
 
     list-style: none; 
 
    } 
 
ul.dash >li:before { 
 
     content:"-"; 
 
     position: absolute; 
 
     margin-left: -14px 
 
    }
<ul> 
 
    <li> ... 
 
    <ul type=square> 
 
     <li> ... 
 
     <ul class="dash"> 
 
       <li> ... 
 
       <li> ... 
 
     </ul> 
 
    </ul> 
 
</ul>

+0

답변 해 주셔서 감사합니다. 나는 "대쉬"클래스를 정의하는 방법을 안다. 클래스를 정의하지 않고 중첩 된 ul의 특정 레벨에서 자동으로 호출하는 방법을 알고 싶습니다. "dash" –

관련 문제