参见英文答案 >
How to set the margin or padding as percentage of height of parent container?
例如,我有一个高度为100px的div(我不知道高度,但是假设我做到了)。我想将margin-bottom设置为一个百分比,所以25%将假设为以前的高度为25px。不过,百分比似乎是文件,而不是元素:
例如,我有一个高度为100px的div(我不知道高度,但是假设我做到了)。我想将margin-bottom设置为一个百分比,所以25%将假设为以前的高度为25px。不过,百分比似乎是文件,而不是元素:
<div style="height:100px;margin-bottom:100%"></div>
边距应为100px,但不是页面高度的100%。
元素只是一行没有背景的文本,所以在理论上使用height:150%也可以工作。
解决方法
如其他人所说,我不知道你可以使用CSS来做到这一点。 jQuery可以帮助:
http://jsfiddle.net/userdude/PZAvm/
<div id="margin">Foo</div> div#margin { background-color:red; height:100px; } $(document).ready(function(){ alert($('#margin').height()); var margin = $('#margin').height()/4; $('#margin').css('margin-bottom',margin); alert($('#margin').css('margin-bottom')); });
编辑 – 这可能是使用em的。
编辑2 – em是键入字体大小,而不是计算框模型大小。所以不行。
编辑3 – JCOC611毕竟能使用em方法。
原文:http://jsfiddle.net/userdude/xN9V7/3/
JCOC611的演示:http://jsfiddle.net/BCTg2/
代码:
<div id="foo"> Foo </div> lol div#foo { background-color: #fcc; margin-bottom: 1.5em; font-size:20px }