css - 关于offsetLeft和offsetTop
问题描述
offsetLeft不是当前元素的左外边框到包含元素的左内边框之间的像素距离吗?为什么多出了8px
<!DOCTYPE html><html> <head><meta charset='utf-8'><title>test2</title><style media='screen'> .cc{padding: 50px 30px; } .fc{background-color: blue;width:300px;height: 200px; }</style> </head> <body><p class='cc'> <p > </p></p> </body> <script type='text/javascript'>var fc = document.querySelector(’.fc’);console.log(fc.offsetLeft+’:’+fc.offsetTop); </script></html>

问题解答
回答1:offsetLeft 和 offsetTop 返回的是相对于 offsetParent 元素的距离,而 offsetParent 指的是一个元素最近的父级定位元素,如果没有定位元素就是文档根节点。
你现在输出的值加上 body 本身有 8px 的 margin,其实是没错的。你可以加个 body { margin:0 } 或者给父级元素加上定位,输出就是你期望的数了。
回答2:默认有8px的margin。使用*{margin:0;}清除默认样式。
相关文章:
1. android-webview - Android 7.0 webview不自动刷新2. java - C++ error C2678: 二进制“<<”: 没有找到接受“const std::ostream”类型的左操作数的运算符3. Java错误:只能导入类型XYZ解析为包4. 错误:到主机的TCP / IP连接失败。java.net.ConnectException:连接被拒绝:connect5. Java EE 6:JSF与Servlet + JSP我应该学习JSF吗?6. vue.js - vue开发的项目,想在页面打开的时候使input自动聚焦,使用的官方的自定义指令,但是在ios真机上测试无效7. javascript - angularJs里点击添加删除类8. 解决方法:找不到“ http://java.sun.com/jsp/jstl/core”的标记库描述符9. javascript - 使用百度文本编辑器ueditor不显示样式问题10. Mysql && Redis 并发问题

网公网安备