rgba和opacity的区别、修改表单中的placeholder属性样式
来源:互联网 发布:七日杀低配优化补丁 编辑:程序博客网 时间:2024/06/07 12:51
最近在写代码的时候频繁遇到这个问题的困扰,今天一次性将我对这两者区别的认知总结在这里:
首先说opacity
,这是一个css3属性,所以理所应当就存在兼容性问题:
并且需要注意的是,设置opacity元素的所有后代元素会随着一起具有透明性,一般用于调整图片或者模块的整体不透明度
举个例子说,
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">div{width:500px; height:200px; background-color:red; padding:20px; opacity:0.5;}p{font-size:24px; color:#fff; text-align:center;}</style></head><body> <div> <p>元素内的文字也跟着拥有透明属性</p> </div></body></html>
因此,利用opacity
属性不能实现元素透明文字不透明的效果。并且,在IE浏览器中不能使用该属性,而是用到IE专属滤镜filter:Alpha(opacity=x)
。
································································································································
接下来是rgba方法,该方法也是属于css的内容,第一件事情就是看一下兼容性:
rgba用来设计设置颜色的不透明度,一般用于调整background-color、color、box-shadow等的不透明度。它可以实现元素透明文字不透明的效果,例子如下:
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">div{width:500px; height:200px; background-color:rgba(232,234,34,0.5); padding:20px;}p{font-size:24px; color:#000; text-align:center;}</style></head><body> <div> <p>元素透明文字不透明哈哈哈</p> </div></body></html>
以上就是rgba和opacity的区别。
那么又有一个新的问题来了。rgba可以实现元素透明而文字不透明,但不兼容部分IE浏览器。IE的专属滤镜可以在IE中奏效,但是又会有元素、文字都透明的问题出现···那么,如何实现元素背景透明、文字不透明且兼容所有的浏览器呢?
这个问题老师上课的时候也提到过。我的思考是,只需要在JS代码中判断一下是否为IE浏览器。如果是IE,则只能用filter:Alpha(opacity=x)
方法,但是文字部分可以用定义一个不同级元素再定位的方法;非IE浏览器中可以使用rgba的方法。
顺便补充一下史上判断”是否为IE浏览器“的最简单的方法
if(-[1,]){是IE}else{不是IE}
此外,今天在上网的时候发现了一个大神用春css方法解决这个问题的办法,详细地学习一下吧
···················································································································································
最后一点,也是在今天写作业的时候遇到的一个问题。如图,
在一个banner图上定义了一个div,并且div为背景透明,在这个div上又有一个表单元素,输入框里的提示内容“红酒炖牛腩”肯定是通过placeholder的属性来实现的。但是!但是这样一来,提示内容里的文字就会和div拥有一样的透明属性。检查代码发现,div的透明属性是通过opacity设置的,难怪呢。所以赶紧改成rgba的方法,然后满怀期待地刷新,还是这个样子。。。我以为是自己对透明度这块地知识认知出现的问题,赶紧上网查透明度的知识,后来确定地写了上半部分博客。最后我发现,用rgba方法后,只要让表单获取焦点往里输内容时,文字其实已经成功地实现了不透明。知识改变不了placeholder的属性罢了,所以我就又搜索了“如何修改表单中的placeholder属性样式”,找到了这么几个好办法:
我采用了第一种解决方法:
具体学习其他几种方法
ok,以上就是今天遇到的问题及解决方法。
- rgba和opacity的区别、修改表单中的placeholder属性样式
- rgba()和opacity的区别
- rgba()和opacity的区别
- 关于opacity和rgba()的区别
- 透明效果opacity和rgba()的区别
- rgba和opacity的区别及应用
- CSS3的rgba、opacity和filter的区别和详解
- rgba()和opacity的使用
- rgba()和opacity的比较
- rgba()和opacity的使用
- rgba和 opacity的异同
- CSS3 透明属性 RGBA 和 opacity
- CSS:透明度 opacity与rgba()的区别
- opacity和rgba()
- 其中的opacity 和 rgba设置背景透明度的用法和区别
- 设置元素透明,opacity与rgba的区别
- opacity 与 rgba 的问题
- rgba()和opacity的透明效果有什么不同?
- linux ubuntu下安装qq
- 程序员的技能:简单剪辑技能音效
- 1622-5 孔富晨 总结《2016年10月16日》 【连续第16天总结】
- [T][4]NOIP 1998 进制位
- C++与宏
- rgba和opacity的区别、修改表单中的placeholder属性样式
- errno 和perror
- C语言学习_面试加排序算法汇总
- CWnd的常用成员函数
- 使用GD库为图片打水印
- C# 调用exe 执行文件时附带参数
- 使用多线程实现多客户端的连接(通过Socket实现TCP编程)
- 文件IO和标准IO区别及其效率
- Leetcode #215 Kth Largest Element in an Array