2

我很难找到一种解决方案来根据我的喜好设置 hr 元素的样式。

如果您查看以下小提琴,您将看到 hr 元素同时添加了 :before 和 :after 伪。

http://jsfiddle.net/MattStrange/LGEjp/

到目前为止,这就是我想要的,两边的两个圆圈都是正确的,但现在我想将图像添加到线的确切中心,但是因为两个伪都被占用了,所以我不确定如何添加背景图像这个小时。

<hr class="bolt">
hr {
  border: 0 solid #eeedef;
  border-top-width: 1px;
  height: 0;
  margin-top: 60px;
  margin-bottom: 60px;
  float: left;
  clear: both;
  display: block;
  width: 100%;
  position: relative;
}
hr:before, hr:after {
  content: " ";
  width: 5px;
  height: 5px;
  position: absolute;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  background-color: #fff;
}
hr:before {
  left: 0;
  bottom: -3px;
}
hr:after {
  bottom: -3px;
  right: 0;
}

非常感谢帮助。

干杯

4

1 回答 1

5

您可以使用 :

  1. 一个伪绘制2轮,第一轮用边框绘制,第二轮是它的阴影。
  2. 另一个伪引入图像。

http://codepen.io/gcyrillus/pen/dHaus

hr {
  border: 0 solid #eeedef;
  border-top-width: 1px;
  height: 0;
  margin: 60px auto;
  clear: both;
  display: block;
  width: 400px;
  position: relative;
}
hr:before {
  content: " ";
  width: 5px;
  height: 5px;
  position: absolute;
  border-radius: 5px;
  border: 1px solid #aaa;
  background-color: #999;
}
hr:before {
  left: 0;
  bottom: -3px;
box-shadow: 400px 0 0 -1px #999, 400px 0 0 0 #aaa;
}
hr:after {
  content:url(http://lorempixel.com/50/50/cats/2);
  display:block;
  position:absolute;
  left:50%;
  height:50px;
  width:50px;
  margin:-25px 0 0 -25px;
  border-radius:50px;
  overflow:hidden;
  box-shadow: 0 0 0 1px #eef, 0 0 5px;
}
 
body {background:#789}
<hr/>

于 2013-06-19T03:53:58.170 回答