20170703

document有关的宽高

  • clientWidthclientHeight
    指元素可视部分的宽高,即padding+content。如果没有滚动条,就是元素设置的宽高;如果有滚动条,就要将设置的宽高减去滚动条的宽高。
    总结如下(以下情况都是滚动条显示的情况,如果滚动条不显示就不用考虑滚动条宽度):
    无滚动条 无padding:clientWidth = style.width;
    无滚动条 有padding:clientWidth = style.width + style.padding*2;
    有滚动条 无padding:clientWidth = style.width - 滚动条宽度;
    有滚动条 有padding:clientWidth = style.width + style.padding*2 - 滚动条宽度;
  • clientLeftclientTop
    用来读取元素border的宽度,clientLeft读取border-leftborder宽度,clientTop读取border-topborder宽度。
  • offsetWidthoffsetHeight
    指的是元素的border+padding+content。
    总结如下(以下情况都是滚动条显示的情况,如果滚动条不显示就不用考虑滚动条宽度):
    无border 无padding 无滚动条:offsetWidth = clientWdith = style.width;
    有border 有padding 无滚动条:offsetWidth = style.width + border宽度*2 + style.padding*2 = clientWdith + border宽度*2;
    有border 有padding 有滚动条:offsetWidth = style.width + border宽度*2 + style.padding*2 = clientWdith + border宽度*2 + 滚动条宽度;
  • offsetParent
    如果当前元素的父级元素没有CSS定位(position属性),offsetParentbody;如果有定位,那么offsetParent取那个父级元素。
  • offsetLeftoffsetTop
    在不同浏览器中的定义有一定的差别
    这里写图片描述
  • document.bodyscrollWidthscrollHeight
    以下只针对chrome浏览器
    1)给定的body宽高小于浏览器窗口:scrollWidth通常是浏览器窗口的宽度,scrollHeight通常是浏览器窗口的高度(跟innerHeight一样);
    2)给定的body宽高大于浏览器窗口,且body里边的内容小于给定宽高:scrollWidthbody的宽度加上其所有的marginpaddingborder(这三个都是乘2的),scrollHeightbody的高度加上其所有的marginpaddingborder(这三个也都是乘2的);
    3)给定的body宽高大于浏览器窗口,且body里边的内容大于给定宽高:scrollWidthbody里内容的宽度加上其所有的marginpaddingborder(这三个都不乘2,只加上侧的),scrollHeightbody里内容的高度加上其所有的marginpaddingborder(这三个也都不乘2,只加左侧的);
  • div中的scrollWidthscrollHeight
    无滚动条:scrollWidth = clientWidth = style.width + style.padding*2;
    有滚动条:scrollWidth = 实际的内容宽度 + padding*2,scrollHeight = 实际的内容高度 + padding*2;
  • scrollLeftscrollTop
    这两个是可以读写的,是指当元素中的内容超过其宽高时,元素被卷起的宽度和高度。
  • documentElementbody的关系
    documentElement返回htmldocument.body返回body
    所以documentElementbody是父子的关系,document.documentElement.childNodes[2] = document.body
  • 兼容性问题
    client相关宽高:
    这里写图片描述
    offset相关宽高:
    offsetLeftoffsetTop在不同浏览器中的定义有一定的差别,前边第五个知识点中提到了。
    scroll相关宽高:
    document.body下是有兼容问题的,火狐浏览器将body当作div进行解析,与chrome浏览器解析出的结果不同,但是在div下没有兼容性问题。
  • Event对象的五种坐标
    这里写图片描述
Traceback (most recent call last): File "D:\pycharm\PyCharm Community Edition 2023.1.1\双色球8分区预测模型.py", line 58, in <module> y_pred_filtered.drop(y_pred_prob[(y_pred_prob.iloc[:, :6].sum(axis=1) != 6)].index, inplace=True) File "C:\Users\Administrator.CN-20170703TIIO\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\frame.py", line 5268, in drop return super().drop( File "C:\Users\Administrator.CN-20170703TIIO\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\generic.py", line 4549, in drop obj = obj._drop_axis(labels, axis, level=level, errors=errors) File "C:\Users\Administrator.CN-20170703TIIO\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\generic.py", line 4591, in _drop_axis new_axis = axis.drop(labels, errors=errors) File "C:\Users\Administrator.CN-20170703TIIO\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\indexes\base.py", line 6696, in drop raise KeyError(f"{list(labels[mask])} not found in axis") KeyError: '[0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42, 43, 46, 47, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 69, 70, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 110, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124] not found in axis' 进程已结束,退出代码1
最新发布
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值