10 Stylish Bulleted List (ul/li) Designs: Copy-and-Paste CSS

Contents
  1. Choose a color and a shape to make the code
  2. The basics of writing a list
  3. 10 stylish list designs in CSS
  4. Summary

This post was automatically translated by AI from the Japanese original. The screenshots are in Japanese.

Bulleted lists show up all the time when you write blog posts.
They’re handy for lining up items or summing things up, and I use them a lot too.

In this post I’ll show you stylish list designs you can make with copy-and-paste CSS.

Choose a color and a shape to make the code#

Choose your favorite color and design, and you’ll get CSS ready to copy and paste.
If you’d rather get started than browse the samples, start here.

Turn on JavaScript to choose a color and a shape and get the code. You can also copy the sample code below.

The basics of writing a list#

There are two kinds of lists: “numbered” and “unnumbered.”

Unnumbered list

  • Strawberry
  • Apple
  • Orange

Numbered list

  1. First
  2. Second
  3. Third

When you make a list, it’s better to use the proper tags than to type “1. ” or “2.” by hand, or to use a bullet character such as ”•”.

For more on how to use the tags, see Saruwaka’s “How to make bulleted lists in HTML: ul, ol and li tags” (in Japanese).

The samples that follow are all designed on top of this HTML.
[Unnumbered list]

<ul>
<li>Apple</li>
<li>Strawberry</li>
<li>Orange</li>
</ul>

[Numbered list]

<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ol>

10 stylish list designs in CSS#

#1 List with a rounded frame#

List with a rounded frame (in Japanese)

[CSS for the unnumbered list]

ul{
margin: 1rem 0; /* space outside the frame */
padding: 1rem 1.5rem; /* space from the frame to the text */
color:#AAA; /* text color */
border: solid 1px #D3D6Db; /* put a frame around the list */
border-radius:10px; /* round the corners of the frame */
}
ul li{
list-style:none; /* remove the default list style */
}
ul li::before {
content: '*'; /* use * as the list marker */
color: #EEB1C0; /* make the marker pink */
padding-right: 5px;/* space between the marker and the text */
}

[CSS for the numbered list]

ol{
margin: 1rem 0; /* space outside the frame */
padding: 1rem 1.5rem; /* space from the frame to the text */
border: solid 1px #D3D6DB; /* put a frame around the list */
border-radius:10px; /* round the corners of the frame */
}
ol li{
list-style-type: none;
counter-increment: number; /* count up by one on every line */
}
ol li::before {
content: counter(number) "."; /* put a period after the number */
margin-right: 5px; /* space between the number and the text */
color: #EEB1C0; /* make the number pink */
}
border: line style, line thickness, color border-radius: roundness of the corners (0px makes them square) If you don't want a frame, delete the `border: …` line and the `border-radius: …` line.

I think adding color to the list markers is cute.

#2 List with a background color#

List with a background color (in Japanese)

[CSS for the unnumbered list]

ul{
margin: 1rem 0; /* space outside the frame */
padding: 1rem 1.5rem; /* space from the frame line to the text */
color:#555; /* text color */
background:#FDF2F3; /* background color */
border: solid 1px #F198A4; /* frame line */
border-radius:10px; /* round the frame */
}
ul li{
list-style:none; /* remove the default list style */
}
ul li:before {
content: '*'; /* use * as the list marker */
color: #F198A4; /* marker color */
padding-right: 5px; /* space between the marker and the text */
}

[CSS for the numbered list]

ol{
margin: 1rem 0; /* space outside the frame */
padding: 1rem 1.5rem; /* space from the frame line to the text */
color:#555; /* text color */
background:#FDF2F3; /* background color */
border: solid 1px #F198A4; /* frame line */
border-radius:10px; /* round the frame */
}
ol li{
list-style-type: none;
counter-increment: number;
}
ol li:before {
content: counter(number) ".";
margin-right: 5px; /* space between the number and the text */
color: #F198A4; /* number color */
}

#3 A title on the frame is cute too#

List with a titled frame (in Japanese)

In the HTML, the list is wrapped in a <div> block, and the frame line is set on that.

<div class="list3">
<span class="title">List with a title (ol)</span>
<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ol>
</div>
<div class="list3">
<span class="title">List with a title (ul)</span>
<ul>
<li>Apple</li>
<li>Strawberry</li>
<li>Orange</li>
</ul>
</div>

[CSS for the unnumbered list]

.list3 {
position: relative;
margin: 2rem auto;
border: solid 1px #9CA5AA;
border-radius:5px;
}
.list3 .title{
position: absolute;
display: inline-block;
top: -13px;
left: 10px;
padding: 0 0.5rem;
background: #FFF;
font-size:0.9rem;
color: #F3A7A9;
}
.list3 ul{
color:#9CA5AA;
padding:0px 1rem;
}
.list3 ul li{
list-style: none;
}
.list3 ul li:before{
color:#F3A7A9;
content:"❤︎ "
}

[CSS for the numbered list]

.list3 ol{
color:#9CA5AA;
padding:0px 1rem;
list-style-type: none;
counter-reset:number;
}
.list3 ol li:before{
color:#F3A7A9;
content: counter(number)". ";
counter-increment: number;
}

#4 A list that looks like Post-it notes#

List that looks like Post-it notes (in Japanese)

[CSS for the unnumbered list]

ul{
padding:0px 1rem;
list-style: none;
}
ul li{
background:#F9E9Df;
color:#F3A7A9;
border:1px dashed #F3A7A9;
margin:3px 0px;
padding:5px 10px;
}
ul li:before{
color:#F3A7A9;
content:"● ";
}

[CSS for the numbered list]

ol{
padding:0px 1rem;
list-style-type: none;
counter-reset:number;
}
ol li{
background:#F3A7A9;
color:#FFFFFF;
margin:3px 0px;
padding:5px 10px;
}
ol li:before{
color:#FFFFFF;
content : "0" counter(number) " |";
counter-increment: number;
margin-right:10px;
}

#5 Numbered list with circles#

Numbered list with circles (in Japanese)

[CSS]

ol{
margin: 1rem 0;
padding: 1rem;
list-style-type: none;
counter-reset:number;
}
ol li{
color:#fe94af;
margin:0 0 10px 0;
}
ol li:before{
content : counter(number);
counter-increment: number;
color:#FFFFFF;
width:30px;
height:30px;
padding:6px 8px;
text-align:center;
margin-right:5px;
background:#fe94af;
border-radius:50%;
}

#6 List with square frames#

List with square frames (in Japanese)

ol{
margin: 1rem;
padding: 0;
list-style-type: none;
counter-reset:number;
}
ol li{
margin:5px 0px;
position:relative;
line-height:30px;
border: 1px solid #EEB1C0;
padding-left:40px;
}
ol li:before {
counter-increment: number;
content: counter(number);
position: absolute;
left:0;
width:30px;
height:30px;
line-height:30px;
margin-right:40px;
text-align:center;
color: #FFFFFF;
background:#EEB1C0;
border-right: 1px solid #EEB1C0;
}

#7 Changing the font of the numbers is stylish too#

Changing the font of the list numbers (in Japanese)

Let’s change the font of the numbers with a web font.

[CSS for the numbered list]

@import url('https://fonts.googleapis.com/css?family=Rochester');
ol{
margin: 1rem 0;
padding: 1rem 1.5rem;
counter-reset:number;
list-style-type: none;
}
ol li:before {
font-family:'Rochester', cursive;
font-size:20px;
color: #139F6B;
margin-right: 10px;
counter-increment: number;
content: counter(number) ".";
}

@import loads the Google font “Rochester”, and font-family sets the font name.

#8 List with lines between the items#

List with lines between the items (in Japanese)

[CSS for the unnumbered list]

ul{
margin:1rem;
padding:0rem;
list-style-type:none;
border-radius:5px;
}
ul li{
line-height:1.6;
padding:6px 0;
margin:5px 0px;
}
ul li:not(:last-child){
border-bottom:1px dashed #5AA0D6;
margin-bottom:0;
}
ul li:before{
content:'◆';
padding:10px;
font-weight:900;
color:#5AA0D6;
}

#9 List with icons#

List with crown icons (in Japanese)

We’ll change the list style with a web icon set called Font Awesome.
Put the following code between <head> and </head> first, then set up the CSS.

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">

[CSS for the list]

ul{
margin:1rem;
padding:0rem;
list-style-type:none;
}
ul li{
background:#FFFDE3;
border:1px solid #FFDC00;
border-radius:5px;
line-height:2;
margin:5px 0px;
}
ul li:before{
font-family: "Font Awesome 5 Free";
content:'\f521';
padding:10px;
font-weight:900;
color:#FFDC00;
}

The “\f521” set in content is the code for the crown icon.
Pick any icon you like from the cheat sheet below and use its code.

https://fontawesome.com/v5/cheatsheet

#10 Turning the list marker into an icon#

List with gem icons (in Japanese)

Same as before: add Font Awesome first, then set up the CSS.

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
ul{
margin:1rem;
padding:0rem;
list-style:none;
}
ul li:before{
font-family: "Font Awesome 5 Free";
content:'\f3a5';
padding:10px;
font-weight:400;
color:#FCB2A9;
}

Summary#

Try decorating your pages with stylish list designs.

Emi
Emi

Making apps, learning English, stationery and note-taking, customizing WordPress and blogs, and more. I write freely about what I learn and how I feel in everyday life.