切换CSS和IE下的透明PNG

今天做新模板的DEMO页面,遇到两个问题:
1.实时切换CSS样式
2.给切换样式的<Select>标签所在div加了个背景图片,需要使用透明PNG图片

这两个问题以前就遇到过,但这东东也不经常用,就知道这两个问题可以解决,并没有记如何解决,搜了一下,然后改了改代码就成了。

下面一个个问题解决:

1.实时切换CSS样式
首先,因为我并不需要记录用户所更换的样式,所以不必使用Cookie,就用这个方法来实现切换行为:
styleswitcher.js

function setActiveStyleSheet(title) {
var i, a, main;
if (title) {
for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) {
a.disabled = true;
if(a.getAttribute('title') == title) a.disabled = false;
}
}
}
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title') && !a.disabled) return a.getAttribute('value');
}
return null;
}

由于用到下拉框,所以把要使用的样式名称都放这里:
index.html

<select οnchange="setActiveStyleSheet(value)">
<option value="ac">ac</option>
<option value="ac2">ac2</option>
<option value="ac3">ac3</option>
</select>

样式表文件放到那里你知道的,注意两点:
1.rel="stylesheet"表示默认显示,而其余的都rel="alternate stylesheet"
2.加title,如title="demo1" />

在这里可以参与讨论

2.给切换样式的<Select>标签所在div加了个背景图片,需要使用透明PNG图片

/* For IE 6.0 */
* html #switchStyle{
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="img/bgcanvas.png");
background:none;
}

值得一提的是todd的说明:

使用这个滤镜调用的图片文件地址必须是相对于页面文件的,而不是像普通的背景一样,是相对于css文件的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值