现在的位置: 首页 > web前端 > 正文

offsetleft属性特点

2020年07月17日 web前端 ⁄ 共 869字 ⁄ 字号 评论关闭

  以offsetLeft为例进行说明,在不同的浏览器中其值不同,且与父元素的position属性(relative,absolute,fixed)有关。现分以下几种情况说明:(测试所用的浏览器版本为:Chrome68.0.3440.106,opera54.0,Firefox61.0.1和IE11.0)


  offsetleft怎么办


  在父元素均不设置position属性时,在Chrome,opera和IE浏览器中offsetLeft是元素边框外侧到浏览器窗口内侧的距离且body.offsetLeft=0,


  在firefox浏览器中offsetLeft是元素边框外侧到body内侧的距离body.offsetLeft=-边框宽度


  当父元素设置position元素时又分为两种情况,


  如果父元素时body且body设置了position属性,在Chrome和opera浏览器中offsetLeft是元素边框外侧到body边框外侧的距离,


  在IE和fireForx浏览器中offsetLeft是元素边框外侧到body边框内侧的距离


  如果父元素不是body元素且设置了position属性时,offsetLeft为元素边框外侧到父元素边框内侧的距离(各浏览器情况一致)。


  offsetleft实例


  下面通过实例进行说明(Chrome浏览器):


  Html结构为


  Css样式:将body,container,box,content的margin和padding都设置为10px,container长宽为300px,box长宽为100px,content长宽为50px,都设置宽度为5px的边框。具体查看下方源代码。效果如下图


  container.offsetWidth=container的width+padding+边框宽度=300+2×10+2×5=330


  console.log(container.offsetWidth)输出结果为


  总之,offsetleft给大家简单的介绍了一些,希望大家多看看。


   


  

抱歉!评论已关闭.