0

我一直在尝试创建一个分隔线,类似于下图,仅使用 CSS。我在很多网站上都看到过这个,看起来很容易做到。实现这一目标的最佳方法是什么?

在此处输入图像描述

4

3 回答 3

2

不确定这是否是最好的方法。

HTML:

<div class='seperator'>
   <div class='redSep'></div>
   <div class='graySep'> </div>
</div>

CSS:

.seperator{
   width:100%;
   height:20px;
}
.redSep{
   width:30px;
   left:0;
   float:left;
   height:4px;
   background-color: #ff3322;
   z-index:2;
   position:relative;
   margin-right:-30px;
   top:0px;
}
.graySep{
   width:100%;
   top:1px;
   float:left;
   position:relative;
   z-index:1;
   left:0;
   height:2px;
   background-color:#eee;
}

http://jsfiddle.net/jdRXG/1/

于 2013-05-25T00:12:04.757 回答
2

我想我已经理解了你的问题,试试这个:

<div id="lineWrap">
<span id="center"></span>
<span id="outer"></span>
</div><!--lineWrap-->

div#lineWrap {position:relative; height:3px;}
div#lineWrap span {position:absolute; left:0px; display:block;}
div#lineWrap span#center {top:1px; height:1px; background:#999; width:400px;}
div#lineWrap span#outer {top:0px; height:3px; background:#fd6e6e;width:40px;}

这里 >>> http://jsfiddle.net/RHf9L/

于 2013-05-25T00:12:56.703 回答
0

看到这个小提琴:http: //jsfiddle.net/QUvU7/

您可以使用 :after psuedoselector 来“伪造” dom 元素,而无需像这样实际添加它们:

.top:after{
    content: "";
    margin-top: 15px;
    display: block;
    border-bottom: 1px solid black;
}
于 2013-05-25T00:02:21.883 回答