前端学习笔记-3-定位的一些小问题

一、对子绝父相的理解:

1、子绝父相是什么:

子绝父相指子级采用绝对定位,父级采用相对定位。

2、为什么要子绝父相:

首先,子级要避免占有位置,可以放到父级中的任意位置,且不影响其他兄弟盒子。

其次,子级要实现绝对定位要求拥有特定定位属性的父级。

最后,父组件在定位时要求占有特定位置,需要使用相对定位

结论:相对定位经常用于作为绝对定位的父级。

代码实现:

<templete>

<div class="father">//父级盒子
    <button class="son"><button>//子级元素
</div>

</templete>

<style>

.father{
  position:relative;//父级相对定位
}

.son{
  position:absolute;//子级绝对定位
}

</style>

3、个人理解子绝父相:

当需要制作的组件中有元素会产生重合时,需要使用一个盒子包裹这些元素,这些元素使用绝对定位完成定位,而外部盒子需要为这些元素提供绝对定位的参照物,于是将外部盒子设置为相对定位,表示该组件所在位置,保证与其他组件不重合,达到原有预期。

二、元素居中的方法:

1、不为绝对定位的元素:

使用margin-left:auto实现水平方向居中。

使用margin-top:auto实现竖直方向居中。

参照物:相对拥有相对定位的父级或页面大小定位

2、拥有绝对定位的元素:

使用left:50%;margin-left:-xxpx(xx表示子级宽度的一般)

公式:相对左边界位移=父级元素宽度的一半-子级元素宽度的一半

竖直方向同理

参照物:相对拥有相对定位的父级或页面大小定位

三、定位的一些特性:

1、行内元素:

行内元素添加绝对或者固定定位,可以直接设定宽度和高度。

2、块级元素:

块级元素添加绝对或者固定定位,不设定宽度和高度,则块级元素的宽度和高度为内容的宽度和高度,即获得包裹性。

3、外边距塌陷问题:

1、什么是外边界塌陷:

外边界塌陷,是指两个并列的拥有padding的元素会使交界处的padding重叠,两个元素内容的间距变为较大者的padding值而非两者相加。

2、解决方案:

浮动元素、绝对定位或固定定位都不会引起外边界塌陷的问题。

4、浮动定位与绝对定位的一些小区别:

1、浮动定位:

浮动定位时,块级元素只会遮盖行级元素在标准流中的盒子,不会遮盖行级元素中的内容。

2、绝对定位(固定定位):

绝对定位(固定定位)时,块级元素会遮盖下面标准流中的所有内容。

3、根本原理:

浮动定位使用时,默认含有文字环绕效果,而绝对定位(固定定位)不含。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值