样式属性命名——一种访问样式的简单方法

CSS样式名称和脚本中使用的名称之间存在差异,并且有些样式在不同的浏览器的表现是不一样的。CSS特性将多于一个单词的样式用连字符进行分割。JavaScript中可以使用带有连字符的样式名称,但是使用连字符就不能使用点运算符来访问样式:element.style.font-size ——这样是不被允许的。因此多个单词CSS样式名称作为属性名时,会转换为驼峰形式。 font-size 会转换为 fontSize ......

可以编写一个简单的API,在设置样式或者获取样式时自动将样式转换为驼峰形式。

<div style="color: red; font-size:10px; background-color: #eee;" ></div>

 

获取计算后的样式信息

测量元素的高度和宽度:height 和 width 这样的属性在不指定值的情况下,默认值为 auto ,让元素的大小根据其内容进行决定;所以如果没有显式提供特性字符串,则可以使用 offsetHeight 和 offsetWidth 来访问实际元素的高度和宽度,要注意两者获取到的值都包含padding 值。

然而如果元素的display值设置为 none时,尝试获取 offsetHeight 和 offsetWidth 的属性值,结果都是0 .

可以通过以下步骤来获取隐藏元素在非隐藏状态下的尺寸:

1、将display 属性设置为 block

2、将 visibility 设置为hidden (display 值设置为block后元素可见,为使其不可见,设置)

3、将position 设置为 absolute (visibility 设置为hidden 会导致元素位置出现空白,将position设置为 absolute 将元素移出正常可视区)

4、获取元素的尺寸

6、恢复先前修改的属性

具体代码如下:

 

控制台输出结果如下:

值得注意的是,可以通过检查一个元素的 offsetWidth 和 offsetHeight 的属性值是否为零来判断元素是否可见

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值