`
java-admin
  • 浏览: 1381712 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

JS实现背景透明度可变,文字不透明的效果

阅读更多

http://www.exp2up.com/2010/01/11/js%E5%AE%9E%E7%8E%B0%E8%83%8C%E6%99%AF%E9%80%8F%E6%98%8E%E5%BA%A6%E5%8F%AF%E5%8F%98%EF%BC%8C%E6%96%87%E5%AD%97%E4%B8%8D%E9%80%8F%E6%98%8E%E7%9A%84%E6%95%88%E6%9E%9C/

 

 

 

 

最近项目里需要实现这么个功能,类似网游中的聊天框,背景都是透明的,但是文字是不透明。

所以如果简单的使用opacity(非IE)和alpha滤镜(IE)是无法实现这个效果的,会造成全部透明。

解决办法如下:

1.实现完全透明:

 

设置background为transparent即可,两个浏览器通用

2.实现透明度可调节:

要求改透明度,这里IE和非IE需要分开处理

非IE浏览器可通过支持CSS3的方式处理(不支持CSS3的这里忽略了),css的写法是

background-color:rgba(255,255,255,0.5)

前面3个参数是RGB,最后个是透明度

IE浏览器需要使用gradient滤镜,css写法是

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)

摘录CSS手册说明用法:

语法:
filter : progid:DXImageTransform.Microsoft.Gradient ( enabled= bEnabled , startColorStr= iWidth , endColorStr= iWidth )
属性:
enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
true : 默认值 。滤镜激活。
false : 滤镜被禁止。
startColorStr : 可选项。字符串(String)。设置或检索色彩渐变的开始颜色和透明度。

其格式为 #AARRGGBB AA RR GG BB 为十六进制正整数。取值范围为 00 – FF RR 指定红色值, GG 指定绿色值, BB 指定蓝色值,参阅 #RRGGBB 颜色单位。 AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。

取值范围为 #FF000000 – #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。

EndColorStr : 可选项。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。
特性:
Enabled : 可读写。布尔值(Boolean)。参阅 enabled 属性。
GradientType : 可读写。整数值(Integer)。设置或检索色彩渐变的方向。1 | 0
1 : 默认值 。水平渐变。
0 : 垂直渐变。
StartColorStr : 可读写。字符串(String)。参阅 startColorStr 属性。
StartColor : 可读写。整数值(Integer)。设置或检索色彩渐变的开始颜色。 取值范围为 0 – 4294967295 0 为透明。 4294967295 为不透明白色。
EndColorStr : 可读写。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。
EndColor : 可读写。整数值(Integer)。设置或检索色彩渐变的结束颜色。 取值范围为 0 – 4294967295 0 为透明。 4294967295 为不透明白色。当在脚本中使用此特性时,也可以用十六进制格式: 0xAARRGGBB
说明:
在对象的背景和内容之间显示定制的色彩层。

当此效果通过转变显示时,在渐变册色彩层之上的文本程序性的初始化为透明的,当色彩渐变实现后,文本颜色会以其定义的值更新。

3. 补充完美支持IE6和IE7
这么写在IE7和IE6中会有点小问题,原因是使用transparent的背景时,鼠标居然能点到透明层后面的内容。。。还会造成部分事件的实效。解决办法是在外面套个div,然后给他加个完全透明的背景图(PNG),写法参考:
  1. background:url('http://aaa.com/image/transparent.png')!important;background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://aaa.com/image/transparent.png',sizingMethod='scale'

这样在里面被嵌套的div点击就不会点到最外面的内容了。当然非IE就不需要加这个了。

另外,对于不支持CSS3的浏览器,还有个解决办法就是把背景层和显示文字的层分开处理,放在同一级,只是通过位置上的调整做到看似有层级关系,这样使用透明效果就直接做也不会对文字有影响了。
补充:
IE6下,上述办法仍然无效,解决办法是套层iframe,在html代码里可以这么写:
<div>
<!–[if lte IE 6.5]><iframe id=”ie6_filter” style=”position:absolute;left:0px;top:0px;z-index:-1;filter:mask();display:block;width:100%;height:100%;”></iframe><![endif]–>
</div>

 

 

分享到:
评论

相关推荐

    背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)

    这篇文章主要探讨了如何在兼容IE浏览器的同时,实现背景黑色且透明度为0.5,而文字保持不透明的最佳方法。 首先,对于非IE浏览器,我们可以利用CSS3的rgba()函数来设置背景颜色和透明度。rgba()函数的格式是`rgba...

    jQuery可变透明度返回顶部代码

    "jQuery可变透明度返回顶部代码"就是一个实现此类功能的JavaScript插件,它利用jQuery库的特性,通过调整按钮的透明度来增加用户体验。 该代码的核心思想是:当用户滚动到页面的第二屏时,返回顶部按钮才显现,并...

    jQuery可变透明度返回顶部

    在这个场景中,我们关注的是使用jQuery实现的一个特别的返回顶部效果——可变透明度。这个功能不仅提供了一个便利的导航工具,而且通过动态改变按钮的透明度,增加了交互的视觉吸引力。 jQuery是一个广泛使用的...

    js之png透明例子

    总的来说,JavaScript结合PNG的α通道特性,可以实现丰富的网页交互和视觉效果,包括动态调整PNG图像的透明度,实现动画效果,以及响应用户交互时的透明度变化。这种灵活性使得JavaScript成为构建现代网页不可或缺的...

    Unity3D透明度脚本1

    总的来说,Unity3D提供了强大的脚本支持,使得我们可以轻松地调整物体的透明度,实现丰富的视觉效果。无论是通过直接修改颜色的Alpha值,还是结合其他游戏逻辑,透明度控制都是Unity3D开发中不可或缺的一部分。

    jquery可变透明度返回顶部特效.zip

    在网页设计中,用户体验是至关重要的,而"jquery可变透明度返回顶部特效"就是一种提升用户交互体验的优秀实践。这个特效利用JavaScript库jQuery,实现了当用户在页面上滚动超过特定距离(例如1200像素)时,一个返回...

    js实现鼠标滑过图片变半透明.zip

    在给定的“js实现鼠标滑过图片变半透明.zip”文件中,我们可以推测其内容是关于如何使用JavaScript来实现当鼠标悬停在图片上时,图片逐渐变为半透明的效果。这种效果可以增加用户与网站的互动体验,使页面更具吸引力...

    可以关闭背景的页面效果

    当用户点击开关时,背景元素的透明度会在0(完全透明,即关闭背景效果)和1(完全不透明,即显示背景效果)之间切换。 另一方面,也可以通过CSS来实现这一功能,比如使用CSS变量和媒体查询,让背景效果在特定条件下...

    背景透明css

    可以使用媒体查询(media queries)根据屏幕尺寸调整透明度,或者使用JavaScript监听用户交互来动态改变透明度。 在压缩包中的“css3-transparent-contact-form”文件,很可能是包含了一个透明背景样式的联系表单...

    JS淡入淡出效果

    总结来说,JS淡入淡出效果是通过调整元素的不透明度并利用CSS的过渡效果来实现的一种视觉特效。它能提升网页的交互性和视觉吸引力,且实现方式相对简单,是前端开发中的常用技巧。通过以上示例,你可以根据自己的...

    用JavaScript实现网页里的Window7半透明窗体

    接下来,我们可以创建一个可变透明度的滑块,让用户自定义透明度。这需要一个HTML输入元素`&lt;input type="range"&gt;`,并通过JavaScript监听其`change`事件来更新透明度: ```html ``` ```javascript var slider = ...

    点击文字背景渐渐出现

    总的来说,“点击文字背景渐渐出现”是一个结合了CSS3动画、JavaScript事件处理和用户体验设计的实例,它通过视觉反馈增强了用户与界面的互动性。在实际应用中,开发者需要兼顾效果、性能和兼容性,以提供最佳的用户...

    微信小程序----导航栏透明渐变一

    这个效果可以通过CSS3的`opacity`属性来实现,让导航栏在滚动时呈现出平滑的透明度变化,为用户提供更为流畅的浏览体验。 首先,我们需要理解导航栏在微信小程序中的基本结构。微信小程序的页面结构通常由多个组件...

    半透明的效果的集合

    综上所述,"半透明的效果的集合"这个主题涵盖了从基本的Web前端到复杂的图形编程和游戏开发等多个IT领域的知识,涉及了多种工具和技术,对于理解和实现各种透明度效果至关重要。通过学习和实践,开发者可以创造出...

    在按钮上增加提示信息、背景可透明

    在CSS中,可以使用`opacity`属性来设置元素的不透明度,值范围是0(完全透明)到1(完全不透明)。例如,创建一个半透明的按钮: ```css button { background-color: rgba(0, 0, 0, 0.5); /* 使用RGBA颜色值,最后...

    透明menu代码透明menu代码

    具体实现可能包括类选择器、ID选择器或其他自定义属性,以实现特定的透明度和交互效果。 6. **最佳实践**: - 考虑性能:大量使用透明效果可能会影响页面渲染速度,因此应适度使用,并优化代码以减少不必要的计算...

    CSS3实现文字标题动画效果

    在这个例子中,我们定义了一个名为`fadeInOut`的动画,动画在0%时透明度为0,50%时完全不透明,100%时又变为透明。然后将这个动画应用到h1标签上,通过设置`animation`属性指定动画名称、持续时间和循环次数。 接...

    纯CSS3背景透明的Speech Bubbles对话气泡特效源码.zip

    纯CSS3背景透明的Speech Bubbles对话气泡特效是一种利用现代浏览器对CSS3特性的支持,实现的无需JavaScript,仅依赖CSS的动态图形效果。这种特效常见于网站的评论、聊天或者提示信息中,用于模拟现实生活中对话时的...

    网站首页悬浮半透明可关闭css+js引导层

    此外,使用`rgba()`颜色函数也可以实现半透明效果,如`background-color: rgba(255, 255, 255, 0.5)`,其中最后一个参数代表透明度,0为完全透明,1为完全不透明。为了使引导层悬浮于网页上方,我们可以设置其`...

    颜色选择器包含透明度(https://www.html5tricks.com/download/jquery-color-picker.rar)

    这种透明度控制对于设计具有深度感和层次感的界面非常有用,例如,用于按钮、背景、图层等。 插件的核心功能可能包括以下几点: 1. **颜色选择界面**:提供一个直观的界面,让用户可以通过调色板选择颜色,通常...

Global site tag (gtag.js) - Google Analytics