相对定位和绝对定位

今天做了一道前端面试题,用到了绝对定位,自己写了一遍发现运行的结果和我理想中不太一样。

结构是这样的,本来有三个div是在同一级上,我都用了绝对定位,本以调好位置,但因后来要加上js,功能是鼠标移到某个div上,该div宽高都增加25%,想了想,我最终选择用事件委托来做,所以我在外面又套了一个div,也用了绝对定位,调好它应有的位置,刷新一看,问题来了,怎么全都走样了,按我的理解里面三个div位置应该不动不对,怎么看着都相对于外面那个div定位了呢。

马上看了w3school,才发现,以前的我完全理解错了,以为绝对定位应该在碰到祖先元素设了相对定位时才会相对于最近的一个绝对定位,看了今天的效果才发现跟我理解的完全不一样。

设了相对定位以后,某个元素会相对于原来未设置相对定位时在的位置上相对定位


而绝对定位,相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。而我写的那个例子的父元素就是已经定位的祖先元素,所以会相对于它定位。

真是惭愧啊,学了这么久的前端知识,连这么基础的都不知道,也怪自己当初没有认真的去看文档,自己写网页的时候也没注意,以后再发生这种情况就扇自己耳光。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值