好吧,这已经让我苦苦挣扎了一段时间,而且我的外观看起来很不错,但是现在却在为放置物品而苦苦挣扎。基本上,我想要的描边文本在外部,这意味着Webkit文本描边是无用的。

所以我想将两个文本元素放在彼此的顶部,然后这样做。效果很好,除非自从我使用position:absolute以来,元素基本上没有高度。

HTML看起来像这样:

<div class="hcontainer"
    <h2>A Framework For Web Artisans</h2>
    <span class="h2white">A Framework For Web Artisans</span>
</div>


这样的CSS:

h2{font-size:2em;
margin: 10px 0;
color:#234F70;
-webkit-text-stroke: 10px #531A16;
-webkit-text-fill-color:#FFF;
letter-spacing:-2px;
position:absolute;
top:10px;
left:0px;}

.h2white{font-family:dom_bold,arial black;
font-size:2em;
margin: 10px 0;
color:#FFF;
position:relative;
top:10px; left:0px;
letter-spacing:-2px;
position:absolute;}

.hcontainer{position:relative;clear:both;height:2em;}


这就是问题所在。 hcontainer需要具有一个设定的高度,因为它所包含的元素是绝对定位的,因此没有高度并且会弄乱流程。问题是使高度动态变化,以便我可以适当地间隔元素。

我可以为每个标题制作一个单独的容器,但这似乎有点多。谁能想到一种更好的方法来做我在这里要做的事情?还是解决高度问题的方法?

http://jsfiddle.net/calder12/9M7YZ/

最佳答案

我真的不明白这是什么意思:“问题在于使高度动态变化,以便我可以适当地间隔元素。”但是,如果您不想在.hcontainer上声明高度,则可以在.h2white上使用负的顶部边距将其放置在红色h2的顶部,而不是使用绝对定位。像这样:

http://jsfiddle.net/9M7YZ/10/

.h2white{
    font-family:lemon;
    font-weight:bold;
    font-size:4em;
    color:#FFF;
    letter-spacing:-2px;
    margin-top:-86px;
    position:absolute;
}

09-25 20:37