Подтвердить что ты не робот

HTML + CSS: упорядоченный список без периода?

Я думаю, что ответ на этот вопрос не... но кто-нибудь знает способ HTML/CSS для создания упорядоченного списка без периода после чисел? Или, альтернативно, для указания символа разделителя?

В идеале я не хочу делать list-style-image с другим классом для каждого номера, но это все, о чем я мог думать до сих пор... Это кажется ужасно неземным.

IE:

Default Style:
1. ______
2. ______
3. ______

Desired Style:
1  ______
2  ______
3  ______

Alternate Style:
1) ______
2) ______
3) ______
4b9b3361

Ответ 1

Это можно сделать только с помощью CSS (2.1):

ol.custom {
  list-style-type: none;
  margin-left: 0;
}

ol.custom > li {
  counter-increment: customlistcounter;
}

ol.custom > li:before {
  content: counter(customlistcounter) " ";
  font-weight: bold;
  float: left;
  width: 3em;
}

ol.custom:first-child {
  counter-reset: customlistcounter;
}

Имейте в виду, что это решение зависит от: перед псевдоселектором, поэтому некоторые старые браузеры - в частности IE6 и IE7 - не будут отображать сгенерированные числа. Для этих браузеров вам нужно добавить дополнительное правило CSS, которое предназначено только для использования обычного стиля списка:

ol.custom {
  *list-style-type: decimal; /* targets IE6 and IE7 only */
}

Ответ 3

Я только что нашел обходное решение для случаев, когда вы хотите просто удалить точку. Не лучшее решение когда-либо, но оно выполняется только с CSS и работает в каждом браузере. Недостатком является то, что вам нужен текстовый индекс в LI, который будет завернут в другой тег (<span> или что-то еще). В моем случае, <ol> использовался как список ссылок, поэтому я мог использовать теги <a> !

Используемый мной CSS:

ol li a {
    float: right;
    margin: 8px 0px 0px -13px; /* collapses <a> and dots */
    padding-left: 10px; /* gives back some space between digit and text beginning */
    position: relative; z-index: 10; /* make the <a> appear ABOVE the dots */
    background-color: #333333; /* same background color as my ol ; the dots are now invisible ! */
}

Ответ 4

Вы можете добавить числа позже, используя jQuery:

$("ul").each(function() {
   $(this).find("li").each(function(index) {
      $(this)
        .css("list-style-type", "none")
        .prepend("<div class='listnumber'>" + (index + 1) + "</div>");
   })
})

Попробуйте образец здесь.

Подробнее о jQuery здесь.

Ответ 5

Это самое простое решение без встречного увеличения и встроенных тегов внутри li:

ol {list-style-position: inside; overflow: hidden; direction: rtl;}
li {position: relative; left: -15px; text-align: left; letter-spacing: 5px;}

Ответ 6

Кажется, что вы напуганы периодами:) Я думаю, что единственный способ - создать список самостоятельно с помощью <ul>