请注意,由于width孩子的不能是动态的,因此以下尝试无法完全回答问题。
想法是对孩子使用百分比width+百分比margin-top值。这是一种响应式布局,请参见代码中的注释,然后在不同的窗口大小上进行尝试。
JSFiddle: http : //jsfiddle.net/jkoycs6e/
body {
margin: 0;
}
.outer {
height: 100vh; /*for demo only*/
background: teal;
overflow: auto;
}
.inner {
width: 80%;
background: gold;
margin: auto;
margin-top: 10%; /* 100%-80%/2 */
}Run Code Online (Sandbox Code Playgroud)
<div class="outer">
<div class="inner">
hello<br/>hello<br/>hello
</div>
</div>Run Code Online (Sandbox Code Playgroud)