我使用:before伪元素为类插入了内容。我试图使用margin-top定位这个内容,但firefox只是忽略了属性。代码如下:
.bef {
line-height: 2em;
white-space: nowrap;
font-size:24px;
display: block;
}
.bef:before {
display: block;
margin-top:2em;
padding: 0;
color: #666666;
content:"Hello";
}
有人知道为什么Firefox可能会忽略margin-top属性吗?
编辑:虽然margin-top被完全忽略,但margin-bottom: - X em正在运行,我能够移动:before before around
答案 0 :(得分:2)
尝试制作.bef显示块吗?只是猜测:before之前的包含元素需要阻塞才能听到margin-top ...
答案 1 :(得分:2)
看来Darko Z是对的。
http://jquery.nodnod.net/cases/577
假设前两个测试用例(由<hr>
分隔)应该呈现相同的效果,它们在Gecko中执行(通过FF3.5 / Mac),但Webkit(通过Safari4 / Mac)呈现{{1 }}和:before
段为内联。第三个测试用例似乎暗示Webkit目前要求阻止触发元素,以便生成的内容被阻止。
规范并不清楚正确的行为是什么。可能值得在www-style上提出一个问题,看看哪个渲染引擎的行为是正确的,然后用不正确的渲染引擎填充错误,以便在将来的版本中修复它。随意使用我的代码作为测试用例。