Как я могу создать вложенный список в строгом XHTML без двойного маркера для первого элемента вложенных списков? - PullRequest
6 голосов
/ 10 февраля 2010

Я пытаюсь создать список, вложенный в список, используя XHTML Strict 1.0. Проблема в том, что при строгом XHTML элемент ul не может быть вложен непосредственно в другой элемент ul. Таким образом, внутренний элемент ul должен быть вложен в элемент li. Тем не менее, когда вы делаете это таким образом, первая строка внутреннего списка получает маркер, как показано в примере ниже. Так что теперь B получает двойную пулю, так как внешний и внутренний элементы li создают пули. Кто-нибудь знает, как это исправить в CSS, чтобы B задумывался как вложенный список, но получал только одну пулю? Thanx!

  • A
    • B
    • C
    • D
  • E
    • F
  • H

XHTML для приведенного выше примера:

<ul>
    <li>A</li>
    <li>
        <ul>
            <li>B</li>
            <li>C</li>
            <li>D</li>
        </ul>
    </li>
    <li>E</li>
    <li>
        <ul>
            <li>F</li>
            <li>L</li>
            <li>H</li>
        </ul>
    </li>
</ul>

Ответы [ 2 ]

8 голосов
/ 10 февраля 2010

Это действительно строго XHTML.Дополнительным бонусом является то, что это фактически описывает вложение гораздо более семантически, чем если бы вы поместили вложенный список в отдельный элемент списка, так как отношение между («B», «C», «D» к родительскому «A») описываетсяэта разметка.

Существует предложение использовать вместо этого список определений (dl), но вы должны использовать его только по назначению (то есть, если вы отображаете список определений!)

  • A
    • B
    • C
    • D
  • E
    • F
    • L
    • H
<ul>
    <li>A
        <ul>
            <li>B</li>
            <li>C</li>
            <li>D</li>
        </ul>
    </li>
    <li>E
        <ul>
            <li>F</li>
            <li>L</li>
            <li>H</li>
        </ul>
    </li>
</ul>
0 голосов
/ 10 февраля 2010
 ul ul > li:first-child { list-style-type: none; }
...