<!DOCTYPE html>
<html>
<head>
<title>定位</title>
<style>
*{
margin:0px;
padding:0px;
}
.container{
width: 800px;
height:600px;
background-color: #cf0;
}
.container .c_header{
background-color: #aaa;
height: 40px;
}
.container .c_body{
writing-mode:vertical-lr;
width:600px;
height:400px;
border:solid 1px #000;
}
.container .c_body .c_b_show{
width:10px;
height:10px;
background-color: #000;
margin-top:1%;
}
</style>
</head>
<body>
<div class="container">
<div class="c_header"></div>
<div class="c_body">
<div class="c_b_show"></div>
</div>
</div>/body>
</html>
上面的例子,一个父级div (.container)包含两个子div(.c_header .c_body) 。
在div(.c_body )中包含了我们实验的子标签div class=' c_b_show',
(操作一)我们为子div 设置margin-top: 1%; 然后 在控制台按住上下键的上键如图
可以看到margin-top:67%;时左侧子div (.c_b_show)已经到达父级标签的最下边了,看图片最右侧盒子模型margin 的值为402px,可以得出%百分比以父级div的Width宽度为标准的,父级的width 和 height 在 的<style> 标签中的.c_body 中可以看到,想要解决的方法我想到两个,如果有其他的方法可以在下面留言
一、在父级div中设置 writing-mode的值
writing-mode:vertical-lr;
然后执行上面的(操作一)如下图
改变其布局格式,让margin-top:%;的百分比以父级的height属性值为标准,此时在看右侧margin-top:100%; 盒模型的margin值为400px,
二、父级div width 和 height
个人认为 把width = height 设置相同的像素 也能够达到相同的效果,这样做有一个弊端,就是视图必须是正方形