• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > CSS实现HTML元素透明的方法小结

CSS实现HTML元素透明的方法小结

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,HTML,元素透明等相关知识,佚名 希望在学习及工作中可以帮助到您

首先看看A级浏览器所支持的用CSS实现元素透明的方案:

浏览器 最低
版本
方案
Internet Explorer 4.0 filter: alpha(opacity=xx);
5.5 filter: progid:DXImageTransform.Microsoft.Alpha(opacity=xx);
8.0 filter: "alpha(opacity=xx)";
filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=xx)";
-ms-filter: "alpha(opacity=xx)";
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=30)";
Firefox (Gecko) 0.9 (1.7) opacity
Opera 9.0 opacity
Safari (WebKit) 1.2 (125) opacity

实际上在IE8中,-ms-filter是filter的别名,两者区别是-ms- filter的属相值必须被单引号或双引号包围,而filter中则不是必须,而在IE8之前的版本中,filter的属性值必须不被单引号或双引号包围。

IE中的HTML元素要实现透明,则其必须具备layout,这样的元素有仅可读的属性hasLayout,且其值为true。具体情况如下:

  1. body、img、table、tr、th、td等元素的hasLayout一直为true。
  2. type为text、button、file或select的input的hasLayout一直为true。
  3. 设置{position:absolute}的元素的hasLayout为true
  4. 设置{float:left|right}的元素的hasLayout为true
  5. 设置{display:inline-block}的元素的hasLayout为true
  6. 设置{height:xx}或{width:xx}的元素必须具体以下两个条件之一,其hasLayout才能为true:
    1. IE8兼容模式和IE8以前的浏览器中,在标准(strict)模式下其display的值是block,如demo3就不行。
    2. 元素在怪癖模式(compat mode)下。
  7. 设置了{zoom:xx}的元素在IE8的兼容模式或IE8之前的浏览器中其hasLayout为true,但在IE8的标准模式下则不会触发hasLayout。
  8. 设置了{writing-mode:tb-rl}的元素的hasLayout为true。
  9. 元素的contentEditable的属性值为true。
  10. 在IE8标准模式下设置了{display:block}的元素的hasLayout一直为true,如demo8。

关于hasLayout的更多详情可以看Exploring Internet Explorer “HasLayout” Overview和On having layout

从上面就可以看出IE实现HTML元素的透明如此混乱,为了向下兼容和自己的私有属性让IE上实现元素透明有多种方式,比如CSS Opacity实例中的demo1到demo8,虽然IE 团队推荐实现透明的方式是:

实际上目前最流行的JavaScript框架的设置样式方法都是应用这种方式,并且针对IE设置了{zoom:1}来让元素的hasLayout为true,但在IE8的标准模式下zoom并不能触发hasLayout,所以利用它们设置hasLayout为false的元素的透明度时在IE8的标准模式下是失败的,这个bug在YUI(我已经给YUI团队提交了这个bug,他们会在下个版本修复,最新的 2.8.0中依旧存在,期待2.9.0吧)、Prototype、jQuery和Mootools的最新版本中都存在,具体请在IE8标准模式下看demo9到demo11。同样由于在IE8中设置透明度的方式多种多样,所以利用JavaScript获取HTML元素的透明度值需要考虑多种情况,YUI完美解决了这个问题,Prototype比jQuery稍微周全一点,而Mootools直接是

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06css清除浮动的几种方法和示例
  • 2017-08-06div+css实现软件公司网站蓝色导航菜单代码
  • 2017-08-06css实现点击滚动翻页的效果(无js)
  • 2017-08-06CSS布局实例代码 两列布局实例
  • 2017-08-06CSS hover不起作用的原因
  • 2017-08-06网页设计中常用的19个Web安全字体
  • 2017-08-06一切诋毁IE6的言论都是纸老虎 CSS Hacks
  • 2017-08-06CSS inline-block属性概述及其使用示例
  • 2017-08-06css 兼容ie6,ie7,ff的fixed,元素上下端固定定位方法
  • 2017-08-0610个必备的CSS技巧总结

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 关于ol和ul的padding和margin默认值
    • html5+css3气泡组件的实现
    • CSS 用ul li做圆角表格
    • CSS的background属性的缩写顺序介绍
    • CSS 的简写【新手必看】
    • IE浏览器下的CSS问题小结
    • 不固定宽度和高度的情况下CSS调整div居中的方法总结
    • css3 按钮 利用css3实现超酷下载按钮
    • IE6/7/8/9中table元素align=center权重比margin:0大的实例说明
    • CSS3中Animation属性的使用详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有