use*_*559 4 html css html5 css3
我试图用一个小箭头画一条线,如图所示.

我能够在psuedo标签之前和之后使用它来处理小提琴(在Stack溢出的帮助下).
<hr class="line">
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/4eL39sm1/6/
但我现在需要像这样的div标签
<div class="hr"></div>
Run Code Online (Sandbox Code Playgroud)
我已经相应地编辑了我的CSS
div.hr{
width:70%;
}
div.hr:after {
content:'';
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #FFFFFF transparent;
display: block;
width: 0;
z-index: 1;
top: 8px;
left: 45%;
}
div.hr:before {
content:'';
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #7F7F7F transparent;
display: block;
width: 0;
z-index: 1;
top: 9px;
left: 45%;
}
Run Code Online (Sandbox Code Playgroud)
我做了这两个观察:
有没有办法解决这个问题?
谢谢.
Ale*_*har 16
您可以修改为:
div.hr {
width:70%;
height: 1px;
background: #7F7F7F;
}
div.hr:after {
content:'';
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #FFFFFF transparent;
display: block;
width: 0;
z-index: 1;
top: 8px;
left: 35%;
}
div.hr:before {
content:'';
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #7F7F7F transparent;
display: block;
width: 0;
z-index: 1;
top: 9px;
left: 35%;
}Run Code Online (Sandbox Code Playgroud)
<div class="hr"></div>Run Code Online (Sandbox Code Playgroud)
正如你所看到的,你不必删除top从pseudo-elements.您必须添加的唯一内容是height: 1px和第二个三角形相同的背景颜色.
此外,如果您想在其他元素中使用它并与中心对齐,您可以使用:
div.hr {
width:70%;
height: 1px;
background: #7F7F7F;
position: relative;
margin: 0 auto;
}
div.hr:after {
content:'';
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #FFFFFF transparent;
display: block;
width: 0;
z-index: 1;
left: 50%;
}
div.hr:before {
content:'';
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #7F7F7F transparent;
display: block;
width: 0;
z-index: 1;
left: 50%;
}Run Code Online (Sandbox Code Playgroud)
<div>
<div class="hr"></div>
</div>Run Code Online (Sandbox Code Playgroud)
ps顺便说一句,我是第一篇文章中回答的人:)
在与@ user3861559交谈后,我为他的情况创建了一种方法.而不是pseudo-elements我使用具有相同结果的嵌套div:
div.hr {
width:70%;
height: 1px;
background: #7F7F7F;
}
div.after {
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #FFFFFF transparent;
display: block;
width: 0;
z-index: 1;
top: 8px;
left: 35%;
}
div.before {
position: absolute;
border-style: solid;
border-width: 15px 15px 0;
border-color: #7F7F7F transparent;
display: block;
width: 0;
z-index: 1;
top: 9px;
left: 35%;
}Run Code Online (Sandbox Code Playgroud)
<div class="hr">
<div class="before"></div>
<div class="after"></div>
</div>Run Code Online (Sandbox Code Playgroud)