zoukankan      html  css  js  c++  java
  • JavaScript getComputedStyle

    我们使用 element.style 也可以获取元素的CSS样式声明对象,但是其与 getComputedStyle 方法还是有一些差异的。

    首先,element.style 是可读可写的,而 getComputedStyle  为只读。

    其次,element.style 只可以获取 style 样式上的属性值,而无法得到所有的 CSS 样式值,什么意思呢?回顾一下 CSS 基础,CSS 样式表的表现有三种方式,

    1. 内嵌样式(inline Style) :是写在 HTML 标签里面的,内嵌样式只对该标签有效。
    2. 内部样式(internal Style Sheet):是写在 HTML 的 <style> 标签里面的,内部样式只对所在的网页有效。
    3. 外部样式表(External Style Sheet):如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以 .CSS 为后缀的 CSS 文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个 CSS 文件。 

    而 element.style 只能获取被这些样式表定义了的样式,而 getComputedStyle 能获取到所有样式的值(在不同浏览器结果不一样)

    为方便查看,记下。 

        function getStyle(obj, attr){
            if(window.getComputedStyle){
                return getComputedStyle(obj, false)[attr];
            }
            else{
                return obj.currentStyle[attr];      //兼容IE6、7、8
            }
        }
        

     PS:如果使用offsetHeight:

        div.offsetHeight = width + 2倍的内边距 + 2倍的边框

    var iDiv = document.getElementById('div');
            iDiv.style.height = parseInt(getStyle(iDiv,"height")) + 10 + 'px';

    getStyle();    //获取div的高度  如:100px

    使用parseInt()去掉字符获取数值,然后赋值给height以改变div的高度。

  • 相关阅读:
    几张图就把 Kubernetes Service 掰扯清楚了
    一文读懂 Kubernetes APIServer 原理
    K8S调度系统由浅入深系列:简介
    K8S蓝绿部署:Blue/Green Deployments on Kubernetes
    K8s Nginx Ingress 介绍
    探索 Kubernetes HPA
    [译]走进Kubernetes集群的大脑:Etcd
    AIX文件系统大小限制调整(转)
    修改SSH服务监听端口,引起服务启动失败原因分析
    Docker-compos部署nextcloud私有网盘
  • 原文地址:https://www.cnblogs.com/zapple/p/5854250.html
Copyright © 2011-2022 走看看