CSS用破折号填充空格

时间:2013-06-10 12:28:49

标签: css

我需要用破折号填充空格。让我们说我有文字说“更多新闻”,这个文本是正确的。但是,我需要破折号在这个单词的前面,从行的开头到单词的开头。你能给我发一个最清晰,最简单的方法吗?我已尝试过边框,但我认为它有点复杂,更容易就会更好。它也应与大多数浏览器兼容(如果可能,包括IE6)

到目前为止,这是我的HTML:

<div>
      <div class="dashes"></div>
      <div class="more-news">Viac noviniek</div>
</div>

这是我的CSS

div.dashes{
    float:left;
    border-bottom: 2px dashed #dd0c0c;
}
div.more-news{
    float:right;
    font-family:Verdana, Geneva, sans-serif;
    font-weight: bold;
    font-style: italic;
    color: #dd0c0c;
    text-transform: uppercase;
}

先谢谢

1 个答案:

答案 0 :(得分:1)

您需要的是领导者。

在CSS3中有一个特殊的属性(参见:http://www.w3.org/TR/css3-gcpm/#leaders),但在任何浏览器中都没有实现。

所以我做了CSS2-hackaround,你可以在http://jsfiddle.net/zWWdZ/

上查看
.your-div {
    white-space: nowrap;
    position: relative;
}
.your-span:before {
    content: "------------------------------------------------------------------------------------------------------------------------------------------------------";
    overflow-x: hidden;
}

.your-span {
    position: absolute;
    right: 0;
}

基于伪元素“之前”的解决方案,内容非常长并且应用了overflow-x:hidden。