CSS定位深入理解 完全掌握CSS定位 相对定位和绝对定位

其实前面的标准流和浮动流都很理解,就是定位不太好理解,特别是相对定位和绝对定位,很多刚开始学的同学不好区分。因此这里,小强老师和大家一起分享CSS定位的学习。

通过我们前面的学习,我们网页布局方法:

  1. 标准流   (最稳定)

  2. 浮动流   (float 其次)

  3. 定位流    ( 稳定性最后)

定位是完全脱离标准流的一种布局方式。

其实前面的标准流和浮动流都很理解,就是定位不太好理解,特别是相对定位和绝对定位,很多刚开始学的同学不好区分。因此这里,小强老师和大家一起分享CSS定位的学习。

我们知道,定位都是和方位名词一起使用的,调整位置,大部分使用top,left,bottom,right配合使用的。

首先我们看看定位的分类:

1.绝对定位 absolute 

position:absolute;

绝对定位和相对定位用的相对来说,是比较多的地方。绝对定位到底有什么特点,在这里小强老师,给大家总结一下。

1.如果定位没有父盒子

      那么这个盒子,加上绝对定位后,都是以浏览器的左上角为原点,所有的移动,也是以该原点来移动的。

   案例如图:

小强零零壹 http://www.xiaoqiang001.com

预览后

小强零零壹 http://www.xiaoqiang001.com
  

2.如果有父盒子,但是父盒子,没有定位,那么,结果不会变,这个盒子还是会以浏览器的左上角为原点。

小强零零壹 http://www.xiaoqiang001.com

预览后
小强零零壹 http://www.xiaoqiang001.com

3.如果有父盒子,并且父盒子有定位,那么此时,绝对定位会以父盒子的左上角为原点,对齐。

如图:

小强零零壹 http://www.xiaoqiang001.com

生成效果:


  4. 绝对定位有个很重要的特点,就不占位置,完全脱离标准流,所以它会升起来,它的后侧会有标准流占据。

2.相对定位 (relative)

  position:relative
  
 相对定位简单,不管有没有父盒子,它都是以自身的左上角为原点。

  还有,它是占位置的,就是还有其他盒子,会排在的下方。


3. 固定定位

position:fixed

 固定定位也是相对于浏览器来说的,他是固定再浏览器的某个位置。 (ie6不支持固定定位,只能另外解决)

 固定定位,也不占位置,完全脱离标准流。

4. 静态定位

position:static

他几乎和标准流一样,没有特殊定位,并且是占位置的。

5.叠放次序:

z-index: 数值;
数值越大  盒子越靠上  需要注意:数值后面一定不能加单位.
.one{z-index:10;}
 
总结:

定位来说,占位置的有 static 静态定位和relative相对定位,不占位置的有 absolute绝对定位和fixed固定定位。这个很重要,对我们布局标准流,有很大的影响。
我们一定要记住的口诀就是,子级绝对,父级相对。 这样对我们布局来说,是最合适的布局理念。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSS中的绝对定位相对定位是用于控制元素位置的两种常用方法。它们的区别如下: 1. 相对定位 相对定位是指相对于元素原本所在的位置进行定位。它通过使用 `top`, `right`, `bottom` 和 `left` 属性来控制元素的位置。例如,我们可以使用以下代码将一个元素相对于其原本的位置向下移动20个像素: ```css position: relative; top: 20px; ``` 2. 绝对定位 绝对定位是指相对于最近的已定位祖先元素(即指定了 `position` 属性且不为 `static` 的元素)进行定位。如果没有已定位的祖先元素,则相对于文档的 `body` 元素进行定位。和相对定位一样,我们可以使用 `top`, `right`, `bottom` 和 `left` 属性来控制元素的位置。例如,我们可以使用以下代码将一个元素相对于其最近的已定位祖先元素向右移动50个像素: ```css position: absolute; right: 50px; ``` 总的来说,相对定位绝对定位都是用于控制元素位置的方法,但它们的定位方式有所不同。相对定位是相对于元素原本的位置进行定位,而绝对定位是相对于最近的已定位祖先元素进行定位。 ### 回答2: CSS绝对定位相对定位是一种CSS布局技术,用于控制元素在网页中的位置。 相对定位是相对于元素原来所在的位置进行定位。通过将元素的position属性设置为relative,元素将会相对于自己原来所在的位置进行移动,移动后的位置由top、right、bottom和left属性来控制。相对定位不会改变文档流中其他元素的位置,所以当一个元素被相对定位后,其他元素仍然按照原来的顺序和位置排列。 绝对定位则是相对于最近的非静态定位的祖先元素(如果不存在则相对于文档的body元素)进行定位。通过将元素的position属性设置为absolute,元素将会脱离文档流,不再占据原来的位置。绝对定位的位置也是由top、right、bottom和left属性来控制。绝对定位会改变其他元素的位置,当一个元素被绝对定位后,其他元素会填补改元素脱离文档流后的空白区域。 相对定位绝对定位的特点和用途不同。相对定位用于微调元素的位置,通常与其他定位方式(如静态定位或浮动定位)一起使用,达到更灵活的布局效果。绝对定位则更适合创建自定义的布局,可以把元素摆放在页面的任何位置。无论是相对定位还是绝对定位,都可以通过配合使用z-index属性来调整元素的层次顺序,实现不同元素的遮盖效果。 综上所述,CSS绝对定位相对定位都是布局技术,使用不同的定位原点来实现元素的定位相对定位相对于元素原来的位置进行定位,而绝对定位则相对于最近的非静态定位的祖先元素进行定位

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值