zoukankan      html  css  js  c++  java
  • 样式的操作

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            #box{100px;height:100px;border: solid 3px black;}
        </style>
    </head>
    <body>
        <div id="box" style="background: red"></div>
    </body>
    <script>
        var obox = document.getElementById("box")
        // 可以获取和设置,行内样式
         console.log(obox.style.border)  //空白
         console.log(obox.style.background) //red
    //
    //
    ////     非行内样式的操作,只能获取不能设置
         console.log(getComputedStyle(obox,false))  //获取obox的所有css样式
         console.log(getComputedStyle(obox,false).width) //100px
         console.log(getComputedStyle(obox,false).border) //3px solid rgb(0, 0, 0)
         console.log(getComputedStyle(obox,false).background) //rgb(255, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box
    
    ////     不能设置
         getComputedStyle(obox,false).background = "yellow"; //报错

    //IE浏览器 console.log(obox.currentStyle) console.log(obox.currentStyle.width) console.log(obox.currentStyle.border) console.log(obox.currentStyle.background)

    兼容(将其封装成一个函数以便随时调用)
    function getStyle(ele,attr){ var a = ""; if(ele.currentStyle){ a = ele.currentStyle[attr]; }else{ a = getComputedStyle(ele,false)[attr]; } return a; } console.log(getStyle(obox,"width")) //100px
    </script> </html>

    获取值尺寸样式:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            #box{100px;height:100px;padding: 10px;border: 20px solid black;margin: 30px;position: absolute;left:50px;top:50px}
        </style>
    </head>
    <body>
        <div id="box">可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高可视区域的宽高</div>
    </body>
    <script>
    
        var obox = document.getElementById("box");
    
        // 可视内容区域的宽高
        console.log(obox.clientWidth)  //120 content+padding
        console.log(obox.clientHeight) //120 
    
        // 包括滚动区域的宽高
        console.log(obox.scrollWidth) //120
        console.log(obox.scrollHeight) //283 content+padding+scrool
    
        // 可视边框区域的宽高
        console.log(obox.offsetWidth) //160  content+border+padding
        console.log(obox.offsetHeight) //160
    
        // 元素相对于包含块偏移的位置
        console.log(obox.offsetLeft) //80 left+margin
        console.log(obox.offsetTop) //80
    
        // 滚动的left和top
        console.log(obox.scrollTop) //margin+top
        console.log(obox.scrollLeft)//
    
        // 获取当前元素的包含块
        console.log(obox.offsetParent); //<body>.....</body>
    
    </script>
    </html>
  • 相关阅读:
    [CSP-S模拟测试]:集合合并(记忆化搜索)
    [CSP-S模拟测试]:小L的数(数位DP+模拟)
    [CSP-S模拟测试]:小Y的图(最小生成树+LCA)
    [CSP-S模拟测试]:小W的魔术(数学 or 找规律)
    [CSP-S模拟测试]:最大值(数学+线段树)
    [CSP-S模拟测试]:最小值(DP+乱搞)
    [CSP-S模拟测试]:中间值(二分)
    [CSP-S模拟测试]:Cover(单调栈++单调队列+DP)
    [JZO6401]:Time(贪心+树状数组)
    BZOJ3193 [JLOI2013]地形生成 【dp】
  • 原文地址:https://www.cnblogs.com/hy96/p/11413576.html
Copyright © 2011-2022 走看看