为了账号安全,请及时绑定邮箱和手机立即绑定

相对定位和绝对定位的实际应用

相对定位和绝对定位怎么用已经明白了,但能帮忙举个实际应用案例吗?什么情境下会用这个,什么情境下会用那个呢?

正在回答

5 回答

 相对定位是相对于该块元素在文档流中的位置的,比如,我们可以使用相对定位把div2放到div1的右侧,CSS代码如下: 
#div1 {
  border: 1px solid #000099;
  height: 60px;
  width: 200px;
  margin:2px;
}

#div2 {
  border: 1px solid #000099;
  height: 60px;
  width: 200px;
  margin:2px;
  position: relative;
  top: -64px;
  left: 204px;
}

#div3 {
  border: 1px solid #000099;
  height: 60px;
  width: 200px;
  margin:2px;
}

下面是效果:



  可以看到一个有趣的现象,那就是虽然我们把div2移走了,但是div1和div3中间还是有一个空间,说明相对定位的元素是会占据文档流空间的,这里的div2就是典型的“站着茅坑不拉屎”。

使用绝对定位也是可以把div2摆到div1的右边的,而且绝对定位是不会占据文档流空间的,如下图,div1和div3之间没有空白:


div2的CSS代码: 
#div2 {
  border: 1px solid #000099;
  height: 60px;
  width: 200px;
  margin:2px;
  position: absolute;
  top: 15px;
  left: 214px;
}

你自己可以根据这个编写代码,就可以看出他们的效果。总的来说,绝对定位可以把内容显示在页面的任何位置。但是相对位置却做不到这一点。

1 回复 有任何疑惑可以回复我~
#1

慕粉3571414 提问者

如果这样的话,为什么还要用相对位置呢?感觉用绝对定位更好?
2016-09-20 回复 有任何疑惑可以回复我~

<!-- absolute;绝对定位:  父元素没加相对定位的时候相对于浏览器(或body)的位置移动;父元素加了相对定位,相对于自己原来的位置移动-->

relative的作用是让父元素可以定住下面子元素的absolute。否则父元素下面的子元素使用absolute的时候会跳出父元素,因为每次absolute都是根据浏览器左上角的位置移动的 当父元素加了position:relative;的时候,子元素使用absolute 就不会跳出来

1 回复 有任何疑惑可以回复我~

<!-- absolute;绝对定位:  父元素没加相对定位的时候相对于浏览器(或body)的位置移动;父元素加了相对定位,相对于自己原来的位置移动-->

0 回复 有任何疑惑可以回复我~

你感觉最合适的情境下,他只是你设计的一个工具,同一个问题,情况不一样,用的东西也不一样

0 回复 有任何疑惑可以回复我~

同问。

0 回复 有任何疑惑可以回复我~
#1

慕粉3917843

<!-- absolute;绝对定位: 父元素没加相对定位的时候相对于浏览器(或body)的位置移动;父元素加了相对定位,相对于自己原来的位置移动-->
2016-09-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识HTML(5)+CSS(3)-升级版
  • 参与学习       1225293    人
  • 解答问题       18230    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

相对定位和绝对定位的实际应用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信