是否可以将CSS分配给css的content属性?

时间:2015-11-30 14:38:05

标签: css css3

我的主要目标是使用CSS内容属性将内容添加到div的开头。我能够使用以下CSS代码执行此操作:

   .advads::before {
        content: "Advertisement";
        display: block;
    }

现在问题是我需要为内容分配一些css,有条件的background-color和一些padding。有没有办法在不添加HTML的情况下做到这一点?

我实际上想要实现它以添加“ADVERTISEMENT”标题,如下例所示:link to example THX

3 个答案:

答案 0 :(得分:3)

是。您可以像其他任何一样设置pseudo-elements样式:



.advads {
    width:200px;
    height:80px;
    background:#aaa;
    position:relative;
}
.advads:after {
    content:"Advertisement";
    display: block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    color:#000;   
    width:100px;
    margin:auto;
    background:#fff;
    text-align:center;
    padding:4px;
}
.advads:before {
    content:"";
    display: block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#ffffff;
    color:#000;
    border-top:1px solid #000;
    margin-top:11px;
}

<div class="advads">Ad</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

是的,只需将必要的属性直接添加到伪元素的规则中,如下所示:

.advads::before{
    background:red;
    content:"Advertisement";
    display:block;
    padding:5px;
}

答案 2 :(得分:0)

我认为更好的方法是使用语义HTML和伪元素,如果你想实现类似于提供的例子,那就是这样:

.heading {
  text-align: center;
  position: relative;
  height: 30px;
}
.heading:before {
  content: "";
  border-top: solid 1px #b9b9b9;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 15px;
  display: block;
}
.heading h3 {
  font-size: 24px;
  color: #333;
  font-weight: bold;
  background-color: white;
  display: inline;
  padding: 11px;
  z-index: 5;
  position: relative;
}
<header class="heading">
  <h3>Advertisement</h3>
</header>