本节教程将展示三种不同风格的css3有序列表,列表的格式化一直是件很棘手的事情,至少天屹是这么认为滴~为了格式化计数数字,你需要移除默认的浏览器样式,并添加你自己的样式。本篇教程中你将会了解到如何使用css3对列表样式进行调整,从而得到一个漂亮的列表。
HTML标签结构:
很简单的一个无序列表结构
- <ol class="rounded-list">
- <li><a href="">项目一</a></li>
- <li><a href="">项目二</a></li>
- <li><a href="">项目三</a>
- <ol>
- <li><a href="">子项目一</a></li>
- <li><a href="">子项目二</a></li>
- <li><a href="">子项目三</a></li>
- </ol>
- </li>
- <li><a href="">项目四</a></li>
- <li><a href="">项目五</a></li>
- </ol>
CSS样式:
下面的样式中使用了content,counter-increment 和counter-reset CSS 属性来实现列表的计数显示,如果你想详细连接这三个属性的用法,天屹推荐一篇不错的文章详细介绍了这三个属性,CSS content, counter-increment 和 counter-reset详解
- /**********基础样式***************/
- ol{
- counter-reset: li; /* 初始化计数器 */
- list-style: none; /* 移除默认的计数 */
- *list-style: decimal; /* 兼容IE7 */
- font: 15px 'trebuchet MS', 'lucida sans';
- padding: 0;
- margin-bottom: 4em;
- text-shadow: 0 1px 0 rgba(255,255,255,.5);
- }
- ol ol{
- margin: 0 0 0 2em;
- }
圆角形状数字列表CSS样式:
- /*********圆角形状数字***********/
- .rounded-list a {
- position: relative;
- display: block;
- padding: .4em .4em .4em 2em;
- *padding: .4em;
- margin: .5em 0;
- background: #ddd;
- color: #444;
- text-decoration: none;
- border-radius: 1em;
- transition: all .3s ease-out;
- text-align: left;
- }
- .rounded-list a:hover {
- background: #eee;
- }
- .rounded-list a:hover:before {
- transform: rotate(360deg);
- }
- .rounded-list a:before {
- content: counter(li);
- counter-increment: li;
- position: absolute;
- left: -1.3em;
- top: 50%;
- margin-top: -1.3em;
- background: #87ceeb;
- height: 2em;
- width: 2em;
- line-height: 2em;
- border: .3em solid #fff;
- text-align: center;
- font-weight: bold;
- border-radius: 2em;
- transition: all .3s ease-out;
- }
矩形形状数字列表:
修改上面ol的class为rectangle-list就可以使用了。
- .rectangle-list a {
- position: relative;
- display: block;
- padding: .4em .4em .4em .8em;
- *padding: .4em;
- margin: .5em 0 .5em 2.5em;
- background: #ddd;
- color: #444;
- text-decoration: none;
- transition: all .3s ease-out;
- text-align: left;
- }
- .rectangle-list a:hover {
- background: #eee;
- }
- .rectangle-list a:before {
- content: counter(li);
- counter-increment: li;
- position: absolute;
- left: -2.5em;
- top: 50%;
- margin-top: -1em;
- background: #fa8072;
- height: 2em;
- width: 2em;
- line-height: 2em;
- text-align: center;
- font-weight: bold;
- }
- .rectangle-list a:after {
- position: absolute;
- content: '';
- border: .5em solid transparent;
- left: -1em;
- top: 50%;
- margin-top: -.5em;
- transition: all .3s ease-out;
- }
- .rectangle-list a:hover:after {
- left: -.5em;
- border-left-color: #fa8072;
- }
带内容的圆形数字列表:
html结构:
- <ol class="circle-list">
- <li>
- <h2>我是一个标题</h2>
- <p>这里可以自定义你的内容...</p>
- </li>
- <li>
- <h2>我是一个标题</h2>
- <p>这里可以自定义你的内容...</p>
- </li>
- <li>
- <h2>我是一个标题</h2>
- <p>这里可以自定义你的内容...</p>
- </li>
- <li>
- <h2>我是一个标题</h2>
- <p>这里可以自定义你的内容...</p>
- </li>
- <li>
- <h2>我是一个标题</h2>
- <p>这里可以自定义你的内容...</p>
- </li>
- </ol>
css样式:
- .circle-list li {
- padding: 2.5em;
- border-bottom: 1px dashed #ccc;
- text-align: left;
- }
- .circle-list h2 {
- position: relative;
- margin: 0;
- }
- .circle-list p {
- margin: 0;
- }
- .circle-list h2:before {
- content: counter(li);
- counter-increment: li;
- position: absolute;
- z-index: -1;
- left: -1.3em;
- top: -.8em;
- background: #f5f5f5;
- height: 1.5em;
- width: 1.5em;
- border: .1em solid rgba(0,0,0,.05);
- text-align: center;
- font: italic bold 1em/1.5em Georgia, Serif;
- color: #ccc;
- border-radius: 1.5em;
- transition: all .2s ease-out;
- }
- .circle-list li:hover h2:before {
- background-color: #ffd797;
- border-color: rgba(0,0,0,.08);
- border-width: .2em;
- color: #444;
- transform: scale(1.5);
- }
总结:
样式中包含了一些css3数字动画效果,但是目前为止只有Firefox支持,希望其他的浏览器能快点支持这些很酷的效果。兼容所有主流浏览器,ie7/8整个结构也能够很好地显示,但是会缺失一些样式。
谢谢博主的分享~~