Как добавить скобки (а) в упорядоченный список? совместим во всех браузерах - PullRequest
18 голосов
/ 01 апреля 2010

Я должен показать как

(а)

(б)

(с)

Обновление:

Я нашел способ CSS

ol {list-style-type: none;}
li:before {content: "(" counter(section, lower-alpha) ") ";}
li { counter-increment: section;}

но это не работает в IE 7 и ниже.

Ответы [ 8 ]

9 голосов
/ 01 апреля 2010

Это возможно с пользовательскими счетчиками, но, по крайней мере, IE7 - не поддерживает его, некоторые другие тоже не могут. Подробности смотрите здесь: http://www.quirksmode.org/css/counter.html

Ex:

li:before {
    content: "(" counter(mycounter,lower-latin) ")";
}
4 голосов
/ 20 апреля 2017

Я использую этот фрагмент кода в MediaWiki с включенным CSS. Я не уверен, будет ли это работать в старых версиях IE ...

{{#css:
  .laparent ol { counter-reset: item }
  .laparent li { display: block ; counter-increment: item; }
  .laparent li:before { content: " ("counter(item,lower-alpha)") "; }
}}
<ol class=laparent>
   <li> this is the first item;
   <li> this is the second item; or
   <li> this is the third item.
</ol>

Выходы:

(a) this is the first item;
(b) this is the second item; or
(c) this is the third item. 
1 голос
/ 16 июля 2015

Начиная с CSS3 проблема кажется решенной:

style="list-style-type: parenthesized-lower-latin;"

http://www.w3.org/TR/2011/WD-css3-lists-20110524/

0 голосов
/ 29 августа 2016

Или вы можете просто добавить счетчик текста вручную, не беспокоясь об ошибках браузера. Работает в любом браузере!

ul.abc-list {
  list-style: none;
  padding-left: 30px;
}
ul.abc-list > li > span.counter {
  position: absolute;
  margin-left: -20px;
  /*if you want to right align the text
   * 
   * width: 15px;
   * text-align: right;
   */
}
<ul class="abc-list">
  <li><span class="counter">a)</span> One</li>
  <li><span class="counter">b)</span> Two</li>
  <li><span class="counter">c)</span> Three</li>
  <li><span class="counter">d)</span> Four</li>
  <li><span class="counter">e)</span> Five</li>
  <ul>
0 голосов
/ 25 февраля 2013

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

.list_indent {
margin-left:48px;
}
.list_indent p {
text-indent:-26px;
}

<div class="list_indent">  
<p> (1)&nbsp;&nbsp;The recruitment report and a copy of the blah and blah and blah and blah and blah and blah and blah and blah.;
</p>   
<p> (2)&nbsp;&nbsp;A copy of the blah and blah and blah and blah and blah and blah and blah and blah.
</p>     
<p> (3)&nbsp;&nbsp;Recruitment.
</p>   
</div>
0 голосов
/ 01 апреля 2010

Нет встроенного способа сделать это. Это означает, что вы попадаете в страну (веселых) хаков.

Вы можете попробовать фоновое изображение из двух скобок.

0 голосов
/ 01 апреля 2010

Это ваши варианты в соответствии с W3C.

С CSS это невозможно. Вам придется составить собственный список с использованием JavaScript (или аналогичного).

0 голосов
/ 01 апреля 2010

Вы не можете получить (а) (б) (в).

Вы можете однако получите письмо без скобок:

<ul style="list-style-type: lower-latin;">...</ul>

См. http://www.w3schools.com/CSS/tryit.asp?filename=trycss_list-style-type_all

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