另:relative 不脱离文档流,absolute 脱离文档流。也就是说:relative 的元素尽管表面上看到它偏离了原来的位置,但它实际上在文档流中还是没变。absolute的元素不仅位置改变了,同时也脱离了文档流。
position:relative日常应用的时候一般是设置给position:absolute;的父层的,父层position:relative; 子层position:absolute;的话, 就是依照父层的边界进行定位的, 不然position:absolute 会逐层向上寻找设置了position:relative的元素边界, 直到body元素..
position:relative日常应用的时候一般是设置给position:absolute;的父层的,父层position:relative; 子层position:absolute;的话, 就是依照父层的边界进行定位的, 不然position:absolute 会逐层向上寻找设置了position:relative的元素边界, 直到body元素..
如果你想让这个#demo里的一个div#sub相对于#demo定位在右上角的某个地方,应该给#demo相对定位,#sub绝对定位。
absolute是相对于自己最近的父元素来定位的,如果你不给#demo相对定位,那么#sub的绝对定位就是相对于body来定位的。
relative是相对于自己来定位的,例如:#demo{position:relative;top:-50px;},这时#demo会在相对于它原来的位置上移50px。
absolute是相对于自己最近的父元素来定位的,如果你不给#demo相对定位,那么#sub的绝对定位就是相对于body来定位的。
relative是相对于自己来定位的,例如:#demo{position:relative;top:-50px;},这时#demo会在相对于它原来的位置上移50px。
最新回答 / 前端不会师
<...code...><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>一列布局&e&g/title&sty
& tystyle type="text/css"&{ m
body{ ...
2017-03-16
.top{height:100px;background:blue;}
.main{height:600px;background:red;}
.left{width:200px;float:left;background:black;height:600px;}
.right{position:absolute;background:yellow;height:600px;margin-left:210px;width:80%;}
.foot{height:100px;background:blue;}
这样也行啊
.main{height:600px;background:red;}
.left{width:200px;float:left;background:black;height:600px;}
.right{position:absolute;background:yellow;height:600px;margin-left:210px;width:80%;}
.foot{height:100px;background:blue;}
这样也行啊
标准答案如下:
.top{ height:100px; background:#ccc}
.main{ height:500px; background:red; position:relative;}
.left{ width:200px; height:500px; background:blue; position:absolute; left:0; top:0;}
.right{ margin-left:210px; height:500px; background:#9C9;}
.foot{ height:50px; background:#F63;}
.top{ height:100px; background:#ccc}
.main{ height:500px; background:red; position:relative;}
.left{ width:200px; height:500px; background:blue; position:absolute; left:0; top:0;}
.right{ margin-left:210px; height:500px; background:#9C9;}
.foot{ height:50px; background:#F63;}
已采纳回答 / 慕粉0816148815
body{margin:0;padding:0} .top{height:100px;background:#000} .main{width:800px;height:300px;background:#ccc;margin:0 auto} .foot{width:800px;height:100px;background:#900;margin:0 auto}
2017-03-14
我说一下我觉着为什么要先加载右侧吧。因为如果先写好左侧的,会发现right在left上面,所以如果想让left进贴top必须margin-top,但是等你把右侧做好以后,会发现,left进到top里面去了。刚才做的margin-top之前,left没有紧贴top是因为中间夹了right,所以要先把right不知好才不影响left