Вопрос по html-lists, css – Как оформить номер в списке HTML?

20

Можно ли стилизовать или увеличить размер цифрonly в упорядоченном списке?

Я планирую превратить упорядоченный списокol в нечто вродеWikiHow шаги с использованием только CSS.

Вот пример для игры:http://jsfiddle.net/ejRzy/1/

возможный дубликатIs there an easy way to change the color of a bullet in a list? Andrew Marshall
@iambriansreed это возможно; просто не на 100% совместим. rlemon
Невозможно. Вы можете добавить номера самостоятельно в HTML. iambriansreed

Ваш Ответ

2   ответа
43

но не на 100% кросс-браузер (а именно IE7). используя псевдо: before элемент и counter-reset и counter-increment, вы можете скрыть стиль списка и создать свой собственный.

вот статья, описывающая как:Стилизация упорядоченного списка номеров

а такжеВот это демо, построенное из этой статьи.

Также в случае страшной ссылки гниль - вот основной код CSS, необходимый (это может быть применено к любому упорядоченному списку)

ol {
    counter-reset:li; /* Initiate a counter */
    margin-left:0; /* Remove the default left margin */
    padding-left:0; /* Remove the default left padding */
}
ol > li {
    position:relative; /* Create a positioning context */
    margin:0 0 6px 2em; /* Give each list item a left margin to make room for the numbers */
    padding:4px 8px; /* Add some spacing around the content */
    list-style:none; /* Disable the normal item numbering */
    border-top:2px solid #666;
    background:#f6f6f6;
}
ol > li:before {
    content:counter(li); /* Use the counter as content */
    counter-increment:li; /* Increment the counter by 1 */
    /* Position and style the number */
    position:absolute;
    top:-2px;
    left:-2em;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    width:2em;
    /* Some space between the number and the content in browsers that support
       generated content but not positioning it (Camino 2 is one example) */
    margin-right:8px;
    padding:4px;
    border-top:2px solid #666;
    color:#fff;
    background:#666;
    font-weight:bold;
    font-family:"Helvetica Neue", Arial, sans-serif;
    text-align:center;
}
li ol,
li ul {margin-top:6px;}
ol ol li:last-child {margin-bottom:0;}​

Этот код создаст заказной список; хотя и не тот стиль, который вы просили. Я оставлю настройку работы до вас :) ура

13

который вы хотите для чисел, затем оберните все элементы списка в промежутки, и придать им другой стиль.

http://jsfiddle.net/keith_nicholas/MEHXj/

конечно, но в духе stackoverflow мы не останавливаемся на том, что это невозможно, мы начинаем искать способы обойти вещи, чтобы достичь того, чего мы хотим :)
Хотя ответ @ rlemon является лучшим, IMO, этот ответ, вероятно, наиболее совместим с браузерами, хотя и использует больше разметки. Почему отрицательные отзывы на это?
Это хорошая альтернатива, правильный ответ, что это невозможно, хотя Filype

Похожие вопросы