Skip to content

CSS Tutorial CSS Lists

CSS List Style Type

Lesson 60 of 182 2 min read By Deepak Paswan Updated Oct 4, 2026

list-style-type changes the marker in front of each list item.

index.html
HTML
<style>
  .a { list-style-type: square; }
  .b { list-style-type: circle; }
  .c { list-style-type: upper-roman; }
  .d { list-style-type: lower-alpha; }
  .e { list-style-type: none; padding-left: 0; }
</style>
<ul class="a"><li>square</li><li>square</li></ul>
<ul class="b"><li>circle</li><li>circle</li></ul>
<ol class="c"><li>upper-roman</li><li>upper-roman</li></ol>
<ol class="d"><li>lower-alpha</li><li>lower-alpha</li></ol>
<ul class="e"><li>none</li><li>none</li></ul>

Common values

ValueLooks like
discFilled bullet (default for ul)
circle, squareHollow circle, small square
decimal1, 2, 3 (default for ol)
lower-alpha, upper-alphaa, b, c / A, B, C
lower-roman, upper-romani, ii, iii / I, II, III
noneNo marker

Navigation menus are lists in HTML, but you rarely want bullets there. Remove the marker and the default left padding (browsers indent lists):

style.css
CSS
.menu { list-style-type: none; padding-left: 0; margin: 0; }
info
Keep the list semantics
Even with list-style-type: none, a list is still a list for screen readers. Safari with VoiceOver may stop announcing it as a list when the bullets are removed, which is a known quirk. If it matters, add role="list" to the <ul>.