9.5 js盒模型

标准浏览器盒模型的大小 :

左border+padding+context+右padding+border

js盒模型

clientWidth:可视区宽度  包含width+padding  没有border

clientHeight :可视区高度  包含height+padding  没有border   这两个获取的都是数字  不带单位  类型也是数字类型   而且和内容的高度宽度无关   撑开也没关系 前提是设置了高度   若没有  内容多会跟着变大

clientTop

clientLeft  分别代表上边框和左 边框    不存在clientBottom和clientRight

offsetWidth  相当于clientWidth+border  和内容也是无关 

offsetHeight = clientHeight+border

div垂直水平居中

  #box{
            background: rebeccapurple;
            width: 100px;
            height: 100px;
            position: fixed;
            top:50%;
            left: 50%;
            margin-left: -50px;
            margin-top: -50px;
        }

所以这种方法在不知道高度的情况下可以用js的方法  比如
oBox.style.marginHeight = -oBox.clientHeight/2+'px';
#box{
            background: rebeccapurple;
            width: 100px;
            height: 100px;
            position: absolute;
           top: 0;
           bottom: 0;
           left: 0;
           right: 0;
           margin: auto;
        }

盒子距离上一级有定位的元素的左边  上边  距离

如果一层层的父级都没有定位  就找浏览器

offsetLeft   offsetTop

offsetParent 参照物  指的其实就是带定位的距离最近的父级元素

封装offset函数

<script>
        var oBox = document.getElementById('small');
        function offset(box){
            var l = box.offsetLeft;
            var t = box.offsetTop;
            var p = box.offsetParent;
            while(p.tagName !== "BODY")
            {
                l+=p.clientLeft+p.offsetLeft;
                t+=p.clientTop+p.offsetTop;
                p=p.offsetParent; 
            }
           return{
               left:l,
               top:t,
           }
           
        }
        console.log(offset(oBox))
    </script>

获取浏览器可视区的宽度和高度

var winH = document.documentElement.clientHeight|| document.body.clientHeight;

var winW = document.documentElement.clientWidth||document.body.clientWidth;

 

scroll属性(获取元素的滚动区域的宽度和高度)

scrollWidth

scrollHeight  在内容没有超出时 高度就是高度  scrollHeight = Height+padding 

   内容超出时 就是 scrollHeight =内容的Height 

内容超出但是设置了溢出隐藏 scrollHHeight  = 内容的Height+下边的padding

overflow:auto会出现滚动轴  高度增加

scrollLeftt

scrollTop 滚动轴竖向和横向的  距离边界

以上讲的只有scrollLeft和scrollTop可以赋值 其他的都不可

获取css样式

window.getComputedStyle(document.body).height

window.getComputedStyle(document.body,null).height  标准浏览器下的属性getComputedStyle

不标准下   

document.body.currentStyle

document.body.currentStyle['width']

兼容

function getCss(box,params){
            if('getComputedStyle' in window)
            {
                return window.getComputedStyle(box,null)[params]
            }
            else
            {
                return box.currentStyle[params]
            }
        } 
        console.log(getCss(box,'width'))

设置css和批量设置

    function setCss(box,params,value){
            box.style[params]=value;
        }
        setCss(box,'background','green');
        function setAllCss(box,obj)
        {
            for(var key in obj)
            {
                box.style[key]= obj[key];
            }
        }
        setAllCss(box,{
            'color':'red',
            'font-size':'20px'
        })

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DNDC是一种用于模拟农田土壤碳氮循环过程的模型,而DNDC9.5是其一个特定版本。"模型版本不匹配"指的是使用DNDC9.5模型的某个环境或应用与该模型版本不相符合。 模型版本不匹配可能有以下几种原因: 1. 环境和数据:DNDC9.5模型适用于特定的农田土壤环境和数据输入。如果使用的环境和数据与模型版本所需求的不完全匹配,就会导致模型版本不匹配的问题。例如,可能使用了错误的土壤类型或者无效的农田管理措施。 2. 软件兼容性:DNDC9.5模型可能需要特定的软件或计算平台才能运行,如果使用了不兼容的软件版本,就无法正确运行模拟。这也属于模型版本不匹配的问题。 3. 模型参数和设定:DNDC9.5模型版本可能包含了更新和改进的参数和设定,如果使用的参数和设定与该版本不匹配,计算结果可能会出现偏差。 为了解决模型版本不匹配的问题,首先需要确定使用的DNDC模型的确切版本。然后,检查环境和数据输入,确保与该模型版本的要求相一致。此外,还需要注意软件兼容性,并确保使用与模型版本兼容的软件和计算平台。 最后,准备和正确设置模型所需的参数和设定也是至关重要的。确保所使用的参数和设定与DNDC9.5模型的要求相匹配,以获得准确的模拟结果。如果一切设置正确,然而模型版本仍然不匹配,可能需要重新下载或寻找与当前环境和数据兼容的合适模型版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值