Як використовувати символ галочки (галочки) (✓) замість маркерів у невпорядкованому списку?


85

У мене є список, куди я хочу додати символ галочки перед текстом списку. Чи існує якийсь CSS, який може допомогти мені застосувати цей спосіб?

this is my text
✓ this is my text
✓ this is my text
✓ this is my text
✓ this is my text
✓ this is my text

Примітка: Я хочу це для цього типу HTML-коду

<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

Відповіді:


151

Ви можете використовувати псевдоелемент, щоб вставити цей символ перед кожним елементом списку:

ul {
  list-style: none;
}

ul li:before {
  content: '✓';
}
<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>


Я використовував це, і це працює в Chrome 65. Я зміг обернути кожен <li> зазвичай, використовуючи суцільну межу 1px, плаваючу ліворуч та поле праворуч на ul li: before - ви можете встановити колір межі на фон вашого елемента.
ymasood

Дякую за рішення! Я додав примітку, що відступ втрачається при обтіканні. (Вибачення за редагування публікації, але це було краще проілюструвати проблему, ніж просто залишити коментар, і, сподіваємось, ми можемо знайти спосіб вирішити це питання.)
Ден Даскалеску,

@ Джош: У відповіді Адама є вирішення проблеми обгортання. Я відредагував його для ясності, до вас додати його.
Дан Даскалеску,

35

Ось три різні стилі галочок, які ви можете використовувати:

ul:first-child  li:before { content:"\2713\0020"; }  /* OR */
ul:nth-child(2) li:before { content:"\2714\0020"; }  /* OR */
ul:last-child   li:before { content:"\2611\0020"; }
ul { list-style-type: none; }
<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

<ul><!-- not working on Stack snippet; check fiddle demo -->
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

jsFiddle

Список літератури:


Це нічим не відрізняється від відповіді Джоша Крозьє і страждає від тієї ж проблеми знищення відступу на упаковці . Крім того, останній персонаж не відображається у скрипці ні на Chromium / Ubuntu, але це все одно не суть справи - відповідь Джоша - суть рішення. Які символи галочки використовувати - це вибір дизайну.
Дан Даскалеску,

1
@DanDascalescu, ця відповідь розширює рішення Джоша Крозьє, надаючи параметри позначок, про які деякі люди можуть не знати. Це цінна інформація. Той факт, що вони є "вибором дизайну", не робить цю відповідь менш корисною. На мій погляд, ваш голос проти є необгрунтованим, оскільки: (1) відповідь була корисною багатьом людям (і має майже 30 голосів проти), (2) відповідь не претендує на щось інше, ніж вибір стилю, і (3) я не намагався вирішити будь-які інші проблеми (які, як ви кажете, все одно "крім справи")
Майкл Бенджамін,

1
Я бачу параметри прапорців, "\ 2713" і "\ 2714", - це необроблені кодові коди Unicode. Я не бачу, як вони виглядають. Якщо відповідь хоче дати вибір стилю, він може включати деякі фактичні позначки: ✓, ✔, ☑, ✅. Яку галочку використовувати, це не цікава проблема. Як користуватися галочками. Я бачу це як: "Як я малюю човен, який зараз знаходиться у воді", проти "Які відтінки синього я можу намалювати". Чи має це сенс?
Дан Даскалеску,

Ви маєте право розглянути цю відповідь з будь-якої точки зору. Я не збираюся сперечатися з вашою думкою. Однак справа в тому, що переважна більшість людей, які відвідують цю посаду, вважають цю відповідь корисною. Я просто залишу це на цьому. Дякуємо за відгук. @DanDascalescu
Майкл Бенджамін

2
Люди голосують з багатьох різних причин. Люди голосують з інших причин, ніж ваша. Ви погоджуєтесь із незгодою зі змістом цієї відповіді. Ви не кажете, що відповідь неправильна або застаріла (як у посиланнях, на які ви посилалися), вам просто не подобається. Це нормально зі мною. Ви маєте право на свою думку.
Майкл Бенджамін,

25

Як доповнення до рішення:

ul li:before {
 content: '✓'; 
}

В якості вмісту можна використовувати будь-яку піктограму SVG , наприклад Font Aswesome .

введіть тут опис зображення

ul {
  list-style: none;
  padding-left: 0;
}
li {
  position: relative;
  padding-left: 1.5em;  /* space to preserve indentation on wrap */
}
li:before {
  content: '';  /* placeholder for the SVG */
  position: absolute;
  left: 0;  /* place the SVG at the start of the padding */
  width: 1em;
  height: 1em;
  background: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg width='18' height='18' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'><path d='M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z'/></svg>") no-repeat;
}
<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>This is my text, it's pretty long so it needs to wrap. Note that wrapping preserves the indentation that bullets had!</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

Примітка. Щоб вирішити проблему обгортання, яку мали інші відповіді:

  • ми резервуємо 1,5 м ем простору зліва від кожного <li>
  • потім розташуйте SVG на початку цього пробілу ( position: absolute; left: 0)

Ось ще чорні значки Font Awesome .

Перевірте цей КОДЕПЕН, щоб побачити, як ви можете додавати кольори та змінювати їх розмір.


8
<ul>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
  <li>this is my text</li>
</ul>

Ви можете використовувати цей простий стиль css

ul {
     list-style-type: '\2713';
   }

Відповідь Адама торкнулася проблеми обгортання, але для цього знадобилося багато додаткового коду ... це просто працює. Міжрядковий інтервал для мене був незначним, тому я в кінцевому підсумку додав зайвий \ 1 \ 1 в кінці, щоб відставити галочку від <li>.
Джейден Баптіста,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.