样式计算的几种方式与兼容写法:getComputedStyle¤tStyle&style
2024-08-30 06:12:08
window.getComputedStyle(element,[string])
- 1参为需要获取样式的元素,2参指定伪元素字符串(如“::after”,不需要则为null),设置2参可获取element的伪元素css样式
- 返回一个CSSStyleDeclaration对象,是所有css样式(内部、外部、内联)按层叠规则作用于该元素的最终结果样式
- 获得的样式只能读取不能设置
- 常用于FF,IE9+以下不支持此方法
element.currenStyle
- 返回一个CSSStyleDeclaration对象,是所有css样式(内部、外部、内联)按层叠规则作用于该元素的最终结果样式
- 只有IE和Opera支持使用
- 是属性不是方法
element.style:
- 只能操作内联样式,不能获取内部与外部样式
- 获取的样式属性可以进行设置
在JS工具类中封装自己的获取样式函数,兼容性写法:
export default class myUtils{
static getCompatibleStyle(elemOrSelect,pseudo){
if(!elemOrSelect) return;
if(elemOrSelect.constructor === String) elemOrSelect = document.querySelector(elemOrSelect);
if(!pseudo) return getComputedStyle(elemOrSelect,pseudo);
return elemOrSelect.currentStyle ? elemOrSelect.currentStyle : getComputedStyle(elemOrSelect,null);
}
}
调用:
<script type="module">
import utils from "./myUtils.js";
console.log(utils.getCompatibleStyle("div",null).backgroundColor);
console.log(utils.getCompatibleStyle("span","::after").display);
</script>
最新文章
- jdk 8 lambda表达式 及在Android Studio的使用示例
- JavaScript之聊天室设计摸拟
- 全栈JavaScript之路(七)学习 Comment 类型节点.
- Session、SessionId和Cookie的关系
- [使用]Git--命令行
- eclipse安卓引入库项目的正确方法
- maven 添加memcached.jar配置方法
- 20165223 实验三 敏捷开发与XP实践
- linux 服务器下的基本操作
- Debian stretch更换国内源
- Bootstrap 插件收集
- PSP(5.4——5.10)以及周记录
- Kubernetes中的nodePort,targetPort,port的区别和意义(转)
- Azure IoT 预配置解决方案
- opencv——对象计数
- Git - could not read Username for &#39;https://github.com&#39;,push报错解决办法
- Linux基础命令---ln
- 1~n中1的和
- 人and绩效and职业道德
- myql root用户远程访问