设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网页制作 >> CSS教程 >> 教程正文
实时切换网页的CSS样式实现
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-2

实时切换CSS样式
用W3C标准建造的网站,从理论上来说可以做到完全的表现与结构相分离。打个比方,就是可以在不动骨架(结构,XHMTL)和肌肉(行为,javascript)的前提下,彻彻底底地换一身皮(表现,CSS)。

当然,换皮之前你需要先按W3C标准建好你的网站,并且为它准备两套表现不一样的CSS。“换皮”实质上就是“换CSS”,我们要做的,只是用某种方法让浏览器载入另一套CSS,重新渲染页面。方法有很多种,我就介绍最常见的三种。

方法一:什么也不干

啊?什么也不干?嗯,这个……准确地说是:就干那么一丁点儿 (你还真以为有这么好的事儿呀……)。

假设我们有两套CSS,分别封闭在两个不同的文件中:a.css和b.css。然后在<head>和</head>之间加入如下两行XHTML代码:


然后用你的Firefox打开这个页面,在菜单栏中选择:查看 -> 页面风格,应该可以看到如下的“风景”:

 

就这么简单,现在你就可以用Firefox来“换皮”了。IE?IE没这个功能……MS就是这么拽,W3C“明文推荐”:要求浏览器提供给用户自己选择样式表的权力,可它就不这么干。幸运的是这件事也不是太难杂,咱就代劳一下吧。

[separator]

方法二:Javascript

在方法一的基础上,可以用Javascript的DOM方法访问link对象,再将不需要的CSS设为“禁用(disabled)”,剩下的CSS就会被浏览器用来渲染页面。脚本如下,请注意其中的注释:


然后在合适的地方调用这个函数,以本页为例,添加如下两个按钮:

<input type="button" value="清光" onclick="setStyle('清光');" /><input type="button" value="冥焰" onclick="setStyle('冥焰');" />  

使用Javascript的好处是方便、快捷、简单,缺点也是很明显的:很难做到全站的CSS切换,只能局限在当前页上。为了记忆用户的选择,可行的方案就是采用cookie。可是就算使用cookie,也需要在何时载入CSS,用户没有Javasciprt支持怎么办等问题上多做好些文章。所以不如用下面的方法——

方法三:服务器端脚本

毫无疑问,最好的CSS切换器应该使用服务器端脚本(PHP、ASP、JSP等)来开发。这样做的好处是很明显的:直接、高效、兼容性好、可以记忆用户选择、甚至可以组合不同的CSS实现相当复杂的“皮肤”切换。

我这里就用PHP为例,用其他的语言也都大同小异,对一般的开发人员来说不会有任何困难。

基本思路是这样:用户选择一种“皮肤”,把用户的选择记入cookie(记入数据库也一样,不过这样系统开销会大一些),用户访问网站上的任何一个页面时,再从cookie(或数据库)中读出之前用户的选择,载入相应的CSS文件(这里还是以方法一中讲到的a.css和b.css为例)。

创建一个名为switcher.php的文件,内容如下:

<?php$style = $_GET["style"];setcookie('style',$style,time()+31536000,'/','.site.com','0');header("location:".$_SERVER['HTTP_REFERER']);?> 

这段脚本先读取query数据,然后把参数style的值记入cookie,最后返回上一页。接下来我们就可以创建两个用于切换样式的链接了,并且放在合适的页面上,比如首页或用户管理后台(注意把其中的site.com换成你的域名):

<a

[1] [2] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
CSS教程热门文章
普通教程 CSS垂直树形下拉菜单
普通教程 CSS+JS实现的选项卡效果(html组
普通教程 用CSS做滑动效果的图片画廊
普通教程 用CSS设计高体验的表单显示效果
普通教程 网页制作之常用CSS缩写语法总结
普通教程 CSS实现导航条图片的翻转菜单
普通教程 CSS仿淘宝首页导航条按钮布局效
普通教程 超强,用CSS构建iframe效果
普通教程 完全CSS写的鼠标悬停tip效果
普通教程 对css滑动门技术的一些总结和归
普通教程 用CSS层叠样式表完成可以控制的
普通教程 常用CSS
普通教程 CSS+DIV网页特效欣赏:非常酷的
普通教程 CSS+DIV设计实例:纯CSS制作下
普通教程 CSS属性中Display与Visibility
普通教程 利用CSS控制打印
普通教程 内联CSS的background-image属性
普通教程 导航上用CSS标志当前页效果的实
普通教程 CSS的常用技巧放送
普通教程 XHTML+CSS兼容性解决方案小集

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号