Ultimate CSS List Creation Methods and Examples

CSS list is very useful and vital in web design. There are many uses of )Unordered list ( such as horizontal navigation, vertical navigation, creating a box or any kind of list. In this post we will show you some really useful CSS list methods that you can use to create horizontal, vertical list or CSS list box.  You can download all the methods used in this post in single zipped file.

Before we create anything lets see how CSS lists are used:
07_expresssion
97_bottels
10_mat
View Demo |
For every list here is the basic HTML layout

<div id="the name of the id">
<ul>
<li> Item 1</li>
<li> Item 2</li>
<li> Item 3</li>
<li> Item 4</li>
</ul>
</div>

Now we are going apply some CSS properties to turn it into a list, which can used for navigation or just a simple list.

display: inline

01_inline
The first CSS propery we are going to use is inline. This is the CSS default display property and will generate an inline box . There will be no break before or after and flowed as a single inline box. In simple words, they will displayed in one line, rather than two line.
Here are the CSS we are applying the create the first horizontal list

#horizontal_list {
	height: 20px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.45em;
	color: #8e9090;
}
#horizontal_list ul {
	margin: 0;
	padding: 0;

}
#horizontal_list ul li {
	display: inline;
	padding-left: 5px;
}

Here is how it should look like after applying the CSS  id=”horizontal_list” to the HTML
01_inline_result

display:inline-block

The same result also can be achived by using display:inline-block. The difference is that inline block generates a block box and all the properties as block can be applied. Here is a visual representation of the difference:
03_inline_vs_inlineblock
Here is the CSS for second type of list ( height and width are left blank but can be applied if need.)

#horizontal_list_2 ul {
	margin: 0;
	padding: 0;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.45em;
	color: #8e9090;
}
#horizontal_list_2 ul li {
	display: inline-block;
	padding-left: 5px;
	/*height and width can be added */
	/*
	 height: ;
	 width:;

	 */
}

The result would be same as display:inline unless block properties are added.

float:left

Chris wrote a great post explaining what is float and how it works. One annoying thing about the floats is that you must declare the height or sometime the float has to cleared so the elements below won’t ride up on the side. Regardless, float is one of the most used method for CSS list. By default the CSS list-style-type is circle. if you to remove it use list-style-type:none property. So, here is the CSS:

#horizontal_list_3 {
	height: 20px; /* without the height the elements below will float */
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.45em;
	color: #8e9090;
}
#horizontal_list_3 ul {
	margin: 0;
	padding: 0;

}
#horizontal_list_3 ul li {
	float: left;
	padding-left: 5px;
	margin-left:20px;
	clear: none !important; /* Below elements are not allowed to float */
	list-style-type:circle;
	/*list-style-type:none; */ /* For removing the list type */
}

Here is how it should look when the CSS is applied:
04_float

Vertical list

Vertical list are easier to create, but we will show you two different techniques that are useful. First lets see the result and the CSS:
05_background_vs_list_image

/*-------------------Vertical List 1---------------------*/

#vertical_list_1 {
	margin-left: 30px;
}
#vertical_list_1 ul {
	margin: 0;
	padding: 0;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: normal;
	text-transform: normal;
	letter-spacing: normal;
	line-height: 1.45em;
	color: #8e9090;
}
#vertical_list_1 ul li {
	padding-left: 8px;
	margin-left: 0;
	list-style-image: url("bullet_green.png");
}
/*-------------------Vertical List 2---------------------*/

#vertical_list_2 {
	margin-left: 5px;
}
#vertical_list_2 ul {
	margin: 0;
	padding: 0;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	font-style: normal;
	font-weight: normal;
	text-transform: normal;
	letter-spacing: normal;
	line-height: 1.45em;
	color: #8e9090;
}
#vertical_list_2 ul li {
	padding-left: 20px;
	margin-left: 0;
	list-style-image: none;
	list-style-type: none;
	background: url("bullet_orange.png") no-repeat;
	background-position: 0 4px;
}

The difference here is that list-style-image has a default distance from the image to the list text and it can not be changed besides inside and outside value. Whereas, using background and background-position the image can be moved left to right value (x value), up and down (y value). There are also some other value such as : top, bottom and more. Check the W3 specification for all the value.

Box using CSS List

CSS list are also useful for creating box. Most commonly CSS box is used for the footer of websites. The trick behind creating a box is having a set width and height for each <li> element. We also use overflow:hidden property so any text won’t go out of the box . So here is the CSS:

/*-------------- Verticle box -------------------*/
#vertical_list_box {
	margin-left: 5px;
}
#vertical_list_box ul {
	margin: 0;
	padding: 0;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.45em;
	color: #8e9090;
}
#vertical_list_box ul li {
	display: inline-block;
	clear: none; /* no floating *?
	background: #e7f4f8;
	width: 280px;
	height: 200px;
	overflow: hidden; /* hide if the text is too long *?
	margin-left: 4px;
	padding: 4px;
	list-style-image: none;
	list-style-type: none;
	-moz-border-radius: 5px;
       -webkit-border-radius: 5px;

}

The additional styles are in included file and here is how it should look like.
06_box_list

The are many more techniques that can be used to create beautiful lists.  Below are some useful reading and tutorials related to CSS list :

If there are any suggestions  or errors  in the post please feel free to add it in the comments .


Author:

Kawsar Ali is a web designer who also likes blogging. In his spare time he walks around with a Nikon D5100 hunting for good textures.


  • friskan

    You saved my life … My a’ha moment …

    • http://desizntech.info Kawsar Ali

      That’s good to know. Glad to help.

  • http://www.bloggz.net Atif

    Very nice post dear thanks :)

  • Ren

    It is quite obvious – but the comments in the “Box using CSS List” aren’t closed properly !

    Nice article !

    Thnx

  • Hermitbiker

    Some more great CSS help from Desizntech… thanks for the post !!