跨度内容没有额外的元素标记

时间:2013-11-25 12:07:29

标签: css css3 html css-content

我正在尝试使用跨度为我的手风琴创建加号和减号图标。我已设法将跨度设置为一个圆圈,但是没有在<p>+</p>内放置<span class="accordian-icon"></span>如何使用CSS内容规则将“+”放入范围内?

HTML

<div class="accordian-head">
   <h3><a href="#">Normal text</a></h3><span class="accordian-icon"></span>
</div>

CSS

.accordian-container .accordian-head span.accordian-icon{
  content:  "+";    
  display: block;
  width: 30px;
  height: 30px;
  float: right;
  background: white;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  margin:10px;
 }

2 个答案:

答案 0 :(得分:3)

this fiddle怎么样(作为一个如何做的例子,有一些方法)。

重要的是,content属性只能与:after:before伪元素一起使用。

CSS

.accordian-icon{
    display:inline-block;
    position:relative;
    border:1px solid blue;
    border-radius:99px;
    background:blue;
    height:20px;
    width:20px;
    position:relative;
}
.accordian-icon:after{
    color:white;
    content:'+';
    position:relative;
    margin-left:5px;
}

答案 1 :(得分:2)

您可以使用&amp;:after /&amp;:before并将它们作为绝对值放在相对容器上(本例中的范围)。

这是一个fiddle,可以简单预览我的意思。

HTML <span class="plus"></span>

CSS

.plus {
    width: 200px;
    height: 60px;
    background-color: red;
    display: inline-block;

    position: relative;
}

.plus:after {
    content: '+';
    color: #fff;
    font-family: arial, sans-serif;
    font-size: 16px;
    position: absolute;
    right: 21px;
    top: 50%;
    margin-top: -8px;
}