老师---

老师---

如果父级 设置display:inlne-block;  子节点 会把父节点 当成position:relative 来看待吗?  正常逻辑 如果父级没有设置相对 应该是 会 直接找所有祖先的  

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

1、不管父元素的display属性是什么值,添加上position:relative;子元素设置position:absoulte;都会相对于父元素来定位。

2、如果父元素没有定位(除static之外的定位),那么就会一层一层往外找,也就是祖先元素。

祝学习愉快!

  • 慕神6715844 提问者 #1
    那老师为什么 这个代码中 为什么 会跟着父元素那?
    2018-10-22 17:29:30
提问者 慕神6715844 2018-10-22 17:00:05
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>立体图</title>
<style>
*{
margin:0;
padding:0;
}
body {
perspective:800px;
perspective-origin:center;
}
.div {
width:100px;
height:100px;
margin:80px auto;
transform-style:preserve-3d;
transform:rotate3d(1,1,1,90deg);
}
.div > div {
position:absolute;
width:100%;
height:100%;
box-shadow:inset 0 0 15px 0 #dcdcdc;
background-color:#dcdc;
opacity:.5;
border:1px solid #666;
}
.d1 {
transform:translateZ(50px);
}
.d2 {
transform:rotateY(180deg) translateZ(50px);
}
.d3 {
transform:rotateY(90deg) translateZ(50px);
}
.d4 {
transform:rotateY(-90deg) translateZ(50px);
}
.d5 {
transform:rotateX(90deg) translateZ(50px);
}
.d6 {
transform:rotateX(-90deg) translateZ(50px);
}
</style>
</head>
<body>
<div class="div">
<div class="d1"></div>
<div class="d2"></div>
<div class="d3"></div>
<div class="d4"></div>
<div class="d5"></div>
<div class="d6"></div>
</div>
</body>
</html>

老师我对父级什么都没设置  为什么 子元素的绝对定位还是跟div  而不是body

  • 是因为父元素设置了tranform的原因,父元素添加了这个属性之后,它的定位的子元素都会相对于父元素来定位,自己可以举一个小例子测试一下。
    2018-10-22 17:31:53
  • 提问者 慕神6715844 回复 好帮手慕星星 #2
    嗯嗯 就是发现了这个问题 就像老师请问了 。
    2018-10-22 19:18:00
  • 提问者 慕神6715844 回复 好帮手慕星星 #3
    就相当于给父元素设置了position:relative 是这样对吗
    2018-10-22 19:19:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

响应式开发与常用框架 2018
  • 参与学习           人
  • 提交作业       2198    份
  • 解答问题       5012    个

如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师