http://www.css88.com/archives/850
在网上看到一个用css自定义“按钮”样式,说是按钮其实是链接,用链接模拟的按钮,这样我们的按钮就可以很丰富了。我们可以用这个来做网站导航,连接,按钮等等。
不过方式有一个很不好的地方就是<a>标签里套了一个空的<span>,从html语义化的角度来说,这个是不应该的。
先看看效果吧:
一.要使用的图片,如图:如果你想修改颜色,可以下载PSD:sliding-door-psd
二.实现原理,如图:
- <li><a href=”#” title=”products”><span></span>WEB前端开发</a></li>
一个容器里放一个<a>(链接),<a>(链接)里放<span>,这里的<span>主要是放左边的圆角图片,<a>(链接)是放右边的图片,用来自适应按钮的背景图片,这里提示一点,确保你的图片足够宽,而不被文字撑破。
三.HTML代码
<ul class=”green”>
<li><a href=”#” title=”home” >绿色的按钮</a></li>
<li><a href=”#” title=”products”>项目</a></li>
<li><a href=”#” title=”blog”>WEB前端开发博客</a></li>
<li><a href=”#” title=”contact”>留言板</a></li>
</ul>
这里用了一个<ul>是为了创建一个列表,然后在<a>里面加入<span></span>就是为了加左边的背景图片;
<ul class=”green”>
<li><a href=”#” title=”home” class=”current”><span></span>绿色的按钮</a></li>
<li><a href=”#” title=”products”><span></span>项目</a></li>
<li><a href=”#” title=”blog”><span></span>WEB前端开发博客</a></li>
<li><a href=”#” title=”contact”><span></span>留言板</a></li>
</ul>
第一个按钮用了class=”current”是表示不同形式的呈现按钮。
四.CSS样式
1.ul样式:
ul.green { padding: 5px; margin: 10px 0; list-style: none; background-color: #fff; border-bottom: 1px solid #e7e7e7; float: left; clear: left;}
2.li样式:
ul.green li {float: left;}
3.a样式:
ul.green li a {float: left; text-decoration: none; color: #ccc; padding: 4px 15px 0 0; margin-right: 8px; font: 900 14px “Arial”, Helvetica, sans-serif;}
4.span样式:
ul.green li a span { float: left; padding-right: 15px; display: block; margin-top: -4px; height: 24px;}
5.hover鼠标记过样式:
ul.green li a:hover { color: #576d07; background: url(images/green.png) no-repeat top right; }
ul.green li a:hover span { background: url(images/green.png) no-repeat top left;}
6.class=”current”是表示不同形式的呈现按钮:
ul.green li a.current {background: url(images/green.png) no-repeat top right;color: #576d07;}
ul.green li a.current span {background: url(images/green.png) no-repeat top left;}
ul.green li a.current:hover {background: url(images/blue.png) no-repeat top right;color: #0d5f83;}
ul.green li a.current:hover span {background: url(images/blue.png) no-repeat top left;}
查看整个demo:http://www.css88.com/demo/css-sliding/css-sliding-door.html
查看原文: http://kailoon.com/css-sliding-door-using-only-1-image/
相关日志:
刚刚被浏览过的文章:
- css自定义导航、按钮样式 (4569 Leser)
- 用样式美化button(2) (600 Leser)
- CSS的选择器 (1266 Leser)
- 【jQuery插件】jQuery广告轮播插件-blockSl (2403 Leser)
- 关于前端开发工程师的地域、薪水、 (14713 Leser)
- 删除了一批友情链接,如有误删请联 (19 Leser)
- 《精通CSS:高级Web标准解决方案》(CSS Ma (4250 Leser)
- JavaScript压缩和格式化工具 (2937 Leser)
- 史上最雷人的前端开发面试题 (2490 Leser)
- Transform Matrix(矩阵变形)-Css3演示 (24 Leser)





5 条评论
調整頁面大小的時候,列表會爛掉。
看到你这个我想起来我年前布置给绣才的作业了。呃,明天问问!
滑动门罢。
这个效果是不错的,不过应用了向左浮动,要是想居中的话..赫赫..
这样不就行了?利用PADDING和MARGIN出来
WEB前端开发
转义~~~
<li><a href=”#” title=”products”><span>WEB前端开发</span></a></li>