正在加载...
欢迎订阅本站RSS,RSS地址:http://feed.css9.net。选择您使用的阅读器:Google Reader鲜果抓虾

最近产品中需要加入“一个列表显示样式快速切换”的功能,正好在这篇文章中看到了它的实现方式,感觉很不错。

这篇文章讲述的是如何通过CSS和JQuery来实现在页面上快速切换布局(样式)的功能。这样做的好处是不言而喻的,现在的网页设计都是希望增强与用户的互动性。允许改变页面布局或信息展示方式无疑可以提高用户体验,选择他们喜欢的样式去获取信息。

首先我们看一下最终效果

jquery-switch-style

我们来看一下它的创作过程(不止是完成切换功能,而是整个页面的设计要点):

第一步:创建一个漂亮别致的边框

我们首先通过一个无序列表标签(ul)来设计一个垂直的列表布局,用它来作为我们信息显示的行和列。

HTML

<ul class="display">
	<li></li>
	<li></li>
</ul>

CSS

提示:通过使用不同灰色的边框实现了一个漂亮别致的边框效果

ul.display {
	float: left;
	width: 756px;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	background: #222;
}
ul.display li {
	float: left;
	width: 754px;
	padding: 10px 0;
	margin: 0;
	border-top: 1px solid #111;
	border-right: 1px solid #111;
	border-bottom: 1px solid #333;
	border-left: 1px solid #333;
}

第二步:为内容添加样式

在每个列表项中,嵌套一个div作为内容的容器。

HTML

	<li>
<div class="content_block">
		<a href="#"><img src="sample.gif" alt="" /></a>
<h2><a href="#">Image Name</a></h2>
<!--escription here--></div></li>

CSS

ul.display li a {
	color: #e7ff61;
	text-decoration: none;
}
ul.display li .content_block {
	padding: 0 10px;
}
ul.display li .content_block h2 {
	margin: 0;
	padding: 5px;
	font-weight: normal;
	font-size: 1.7em;
}
ul.display li .content_block p {
	margin: 0;
	padding: 5px 5px 5px 245px;  /*--The left padding keeps the
content from flowing under the image--*/
	font-size: 1.2em;
}
ul.display li .content_block a img{ /*--Double border technique--*/
	padding: 5px;
	border: 2px solid #ccc;
	background: #fff;
	margin: 0 15px 0 0;
	float: left;
}

第三步:创建第二种显示样式

下面我们创建第二种样式:水平多列显示。

example2

CSS

ul.thumb_view li{ width: 250px; } /*--Switch the width
to accommodate for the three column layout--*/
ul.thumb_view li h2 { display: inline; }
ul.thumb_view li p{ display: none; }
ul.thumb_view li .content_block a img { margin: 0 0 10px; }

第四步:完成样式切换功能

下面我们就集中精力完成最关键的一步:样式切换

switch

HTML

<a class="switch_thumb" href="#">Switch Display</a>

CSS

使用“CSS Sprites”技术来创建样式切换的链接图片(什么是”CSS Sprites“;你可以使用这个工具来实现它)

a.switch_thumb {
	width: 122px;
	height: 26px;
	line-height: 26px;
	padding: 0;
	margin: 10px 0;
	display: block;
	background: url(switch.gif) no-repeat;
	outline: none;
	text-indent: -9999px;
}
a.swap { background-position: left bottom; }

我不喜欢在图片上创建Hover样式,所以我仅仅通过使用透明度使图片在划过时略微变暗;

a:hover.switch_thumb {
	filter:alpha(opacity=75);
	opacity:.75;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
}

JQuery

最后,我们通过使用一点点JQuery技术来实现样式切换效果

<script type="text/javascript">
$(document).ready(function(){
 
	$("a.switch_thumb").toggle(function(){
		$(this).addClass("swap");
		$("ul.display").fadeOut("fast", function() {
			$(this).fadeIn("fast").addClass("thumb_view");
		});
	}, function () {
		$(this).removeClass("swap");
		$("ul.display").fadeOut("fast", function() {
			$(this).fadeIn("fast").removeClass("thumb_view");
		});
	}); 
 
});
</script>

源码下载:使用CSS和JQuery切换网页显示样式 [下载次数:1223]

过程很简单,想必你一定明白了。不过最重要的还是动手实验一下
如果您有什么疑问或更好的建议,欢迎在下面留言,大家可以一起讨论。

延伸阅读:

  1. CSS中文速查表(CSS Cheat Sheet)
  2. Web设计字体尺寸转换速查表
  3. Jquery Tools——不可错过的Jquery UI库(四)
  4. 一个简单的、循序渐进的CSS幻灯片教程
  5. Jquery插件:使用“autoresize”插件自动改变textarea大小
  6. jQuery Tools——不可错过的jQuery UI库(五)
  7. 在网页中嵌入任意字体的解决方案
  8. 实现文字高亮功能的两种解决方案(Javascript/Jquery)


版权声明:

本站内容受著作权法保护。个人网站、blog转载时请遵循 “署名-非商业用途-保持一致” 的创作共用协议;商业网站或媒体未授权不得复制本站内容。

友情提示:

如对本文有任何疑问,或在示例的使用中遇到问题,或有好的建议,欢迎在下面留言共同学习,有问必答。

: http://css9.net/jquery-switch-style/

本文相关评论 - 才 4 条评论
2009-04-06 00:14:20

占个沙发!:)

IIduce
2009-04-08 10:58:13

可以嵌套评论的么。

2010-04-04 16:11:40

收藏

2010-07-25 19:40:31

[...] 使用CSS和JQuery轻松切换网页显示样式 [...]

 填写3 + 5的结果