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


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.