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

Contents
- Choose a color and a shape to make the code
- The basics of writing a list
- 10 stylish list designs in CSS
- #1 List with a rounded frame
- #2 List with a background color
- #3 A title on the frame is cute too
- #4 A list that looks like Post-it notes
- #5 Numbered list with circles
- #6 List with square frames
- #7 Changing the font of the numbers is stylish too
- #8 List with lines between the items
- #9 List with icons
- #10 Turning the list marker into an icon
- 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
- First
- Second
- 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

[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 */}I think adding color to the list markers is cute.
#2 List with a background color

[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

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

[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

[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

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

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

[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

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.
#10 Turning the list marker into an icon

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.



