2010-02-06 5 views
1

Почему не работает следующее? Я хочу, чтобы стиль ul был в основном небумлетным (из-за унаследованного кода), но иногда имел возможность использовать его в качестве традиционного маркированного списка. Поэтому я определил специальный класс для маркированных списков.CSS: стили пули по спискам

ul li {padding:0 0 0.5em 0; margin-left:0; list-style-type:none;} 
ul.bulleted {padding:0 0 0 0; list-style-type: disc; color:red;} 

HTML-:

<p>Intro text:</p> 
     <ul class="bulleted"> 
      <li>blah</li> 
      <li>blah</li> 
      <li>blah</li> 
     </ul> 

Это показывает список с красным текстом, как и ожидалось: но без каких-либо пуль!

Расстроенный :(

ответ

6

ul li более специфичен, чем ul.bulleted поэтому поэтому имеет преимущество.

Попробуйте использовать вместо этого ul.bulleted li для второго набора правил.

Это сделает даже более конкретным, чем первое правило, и разрешить его применение.

+1

это не «попытка». сделайте это, и он будет работать :) –

+0

Спасибо! Теперь я понимаю :) Так сложно отлаживать CSS. Большое краткое и ясное объяснение, спасибо – AP257

1

Проблема заключается в том, что ваш первый стиль относится к li элементов и удаляет их пули, в то время как вторая относится к `уль п ...

сделать ваше первое правило (путем удаления литиево)

ul {padding:0 0 0.5em 0; margin-left:0; list-style-type:none;} 

или ваш второй

ul.bulleted li {padding:0 0 0 0; list-style-type: disc; color:red;} 

в зависимости от того, как применяются другие правила ..