`
sngg_yang
  • 浏览: 32374 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

切换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 onchange="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文件的。
分享到:
评论

相关推荐

    IE下png图片无法透明的处理方法

    鼓励用户升级到IE7及以上版本,或者切换到其他支持PNG透明的现代浏览器,如Chrome、Firefox、Safari或Edge。 5. **设计策略调整**: 如果上述技术方案都不适用,设计时可以避免使用PNG-24格式,转而使用PNG-8或SVG...

    IE6浏览器下PNG背景透明

    然而,Internet Explorer 6(简称IE6)作为较早版本的浏览器,对PNG透明的支持并不完全,导致PNG图片在IE6下显示时会出现灰色背景或者其他不透明的问题。这个问题在网页设计中是个常见挑战,但可以通过一些技术手段...

    IE6png问题解决方法

    IE6对PNG-8格式的支持基本没有问题,但当涉及到PNG-24格式时,它的Alpha透明通道无法正常工作,导致半透明或全透明的像素呈现为不透明,这严重影响了网页设计的视觉效果,尤其是在需要背景透明或者半透明图像的情况...

    IE8优化(模仿IE6)

    7. **布局和盒模型**:IE6对盒模型的处理与标准浏览器不同,需要调整CSS以确保在两种模式下都能正确布局。 8. **DOM兼容性**:IE8提供了更符合标准的DOM实现,但可能需要考虑IE6的非标准DOM操作。 **使用ie8-优化...

    jQuery大屏带导航的焦点图,png格式大图动画切换,兼容 IE 6789 及其它主流浏览器

    本教程将详细讲解如何利用jQuery创建一个大屏带导航的焦点图,该焦点图支持PNG格式的大图动画切换,并且兼容IE6、7、8、9以及其他主流浏览器。 首先,我们需要理解jQuery的核心概念。jQuery通过提供简洁的API让...

    jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法

    为了解决在IE8中图片淡入淡出时出现的黑色边框问题,开发者应该将上述的滤镜和透明GIF的代码放在同一个选择器内,并确保在淡入淡出动画的各个阶段都应用了这个选择器。此外,可能还需要添加额外的CSS或JavaScript...

    IE6·0绿色免安装版让IE7和IE6并存

    1. 兼容性:IE6.0支持当时流行的Web标准,如HTML4、CSS1和JavaScript1.5,但它对某些现代Web技术的支持不足,如CSS2.1、PNG透明度和部分DOM标准。 2. ActiveX控件:IE6.0支持ActiveX,这是一种由微软开发的技术,...

    IE版本模拟器

    这个版本对CSS的支持比IE5更完善,但仍然存在许多已知的问题,如盒模型错误和PNG透明度支持不足等。开发者在构建现代网站时,需要确保在IE6下也能正常运行。 IE7带来了许多改进,包括更好的CSS2支持和...

    极酷极眩的CSS+JS实现苹果机(MAC)OS系统导航条

    `iepngfix.htc`文件是针对Internet Explorer浏览器的一个PNG透明度修复解决方案,因为早期版本的IE不支持PNG的透明效果。通过CSS的`behavior`属性引用这个HTC文件,可以在IE中实现PNG透明效果。 `index.html`和`css...

    IE多版本浏览器

    - 使用【IE多版本浏览器】工具,开发者可以在同一台计算机上方便地切换不同版本的IE,快速检测和调试页面在各版本下的表现,确保网站在老用户和使用旧版浏览器的用户群体中正常运行。 3. **开发和调试工具**: - ...

    Firefox和IE兼容参考

    - IE6不支持PNG24位的透明效果,可以使用AlphaImageLoader滤镜或者切换到PNG8来解决。 6. **Doctype与Quirks模式** - 不同的DOCTYPE声明会影响浏览器的渲染模式,导致页面呈现不同。确保使用正确的DOCTYPE以触发...

    jquery上下左右图片切换导航幻灯片

    透明度和PNG图像的使用是CSS3特性,可以通过设置`opacity`属性和`background-image`来实现。 4. **底部控制按钮**:在幻灯片下方通常会有一排控制按钮,每个按钮对应一张图片。当用户点击某个按钮时,幻灯片会切换...

    带左右切换按钮支持自动的焦点图切换特效

    “经修正后,解决了之前的按钮png图片在IE6中不兼容的问题,完美兼容各种主流浏览器”表明开发者已经对代码进行了优化,确保该特效不仅适用于现代浏览器,如Chrome、Firefox、Safari和Edge,也兼容老版本的Internet ...

    css3星星好评动态效果

    同时,为了适应PC和微信环境,需要确保CSS和JavaScript兼容各种浏览器,特别是对IE9及以下版本的支持,可能需要引入polyfill库或采用渐进增强策略。 总结一下,创建“星星好评”动态效果主要涉及以下CSS3知识点: ...

    书角带阴影的撕页广告效果.zip

    “iepngfix.htc”文件是Internet Explorer浏览器的一个PNG透明度补丁,因为旧版本的IE不支持PNG的Alpha透明。这个文件允许在IE6和7中正确显示半透明的PNG图像,确保在老版本浏览器中的兼容性。 总的来说,这个...

    IE7-WindowsXP-x86-chs

    5. **改进的布局引擎**:修复了一些CSS(层叠样式表)和PNG(可移植网络图形)格式的支持问题,使得网页显示更加准确。 6. **隐私保护**:提供了InPrivate浏览模式,开启后浏览器不会保存用户的浏览历史、临时...

    css3针对移动端卡顿问题的解决(动画性能优化)

    优点:性能好,强大,支持多数浏览器(除了IE6、IE7、IE8),画出来的图形可以直接保存为 .png 或者 .jpg的图形; 缺点:依赖于HTML,只能通过脚本绘制图形,没有实现动画的API(依靠事件和定时器更新);由于在 ...

    切换开关:jQuery插件,用于纯图像,基于复选框的切换开关

    产品特点与大多数浏览器兼容,包括IE6 + 视网膜图像以支持iDevices 使用半透明的PNG叠加层,因此在所有浏览器中看起来都一样PNG叠加层将需要更新以在不同背景上使用(常规图像和视网膜图像均包含PSD) 按下开关本身...

    原创Jquery实现图片幻灯片特效

    为了确保兼容性,可能还需要引入`iepng`目录下的文件来处理IE浏览器对PNG透明度的支持问题。 此外,`img`目录存储了实际的图片资源,而`.url`文件可能是链接到相关教程或资源的快捷方式,帮助学习者更深入地了解...

    国外JavaScript的经典作品

    2. **让ie6支援png图档**:IE6不支持PNG透明,这个问题在早期版本的IE中很常见。解决方法通常包括使用CSS滤镜(如`alpha(opacity=xx)`)或引入PNG修复脚本来实现PNG8或PNG24的透明效果。 3. **TAB选项卡**:这是一...

Global site tag (gtag.js) - Google Analytics