如何在CSS中以不同方式设置每个html帖子的样式

时间:2016-12-21 12:23:25

标签: html css

我的HTML页面中有4个帖子,除了文本内容以及文本和背景的图像和颜色外,它们看起来相同,在下面的图片中,您将找到我想要的结果:

enter image description here

我的问题是如何在不为每个帖子创建类css的情况下为每个帖子设置样式,我只想更改颜色

这是我的代码



.art-content {
  position: relative;
}
.art-content img {
  width: 100%;
}
.main-content article {
  margin-top: 15px;
}
.main-content article:nth-child(2n) {
  padding-left: 0px;
}
.main-content article:nth-child(2n+1) {
  padding-left: 15px;
  padding-right: 0px;
}
.main-content article:nth-child(2n) {
  padding-left: 0px;
}
.main-content article:nth-child(2n+1) {
  padding-left: 15px;
  padding-right: 0px;
}
.rect-date-even {
  position: absolute;
  display: block;
  background-color: #c2022a;
  width: 75px;
  height: 77px;
  top: 0;
  left: 0;
  text-align: center;
  padding: 9px 6px 15px 4px;
}
.rect-date-even span {
  font-family: 'Quicksand';
  font-size: 20px;
  color: white;
  padding-bottom: -10px;
}
.rect-info-art {
  position: relative;
  width: 100%;
  height: 105px;
  background-color: #dcdcdc;
}
.rect-cat {
  position: absolute;
  width: 120px;
  height: 18px;
  background-color: #c2022a;
  color: white;
  font-family: 'Quicksand';
  font-size: 12px;
  padding-left: 3px;
  top: 10px;
  left: 25px;
}
.rect-info-art p {
  position: absolute;
  font-style: italic;
  font-size: 18px;
  max-height: 10px;
  padding-right: 50px;
  top: 30px;
  left: 25px;
}
.rect-info-art a {
  position: absolute;
  color: #c2022a;
  font-size: 14px;
  text-align: center;
  top: 70px;
  right: 20px;
}

<section class="col-md-8 col-lg-8 main-content">
  <div class="title-section-bg">
    <img src="assets/img/ombre-title-section.png">
    <div></div>
    <span class="icon-megaphone"></span>
    <h2>Prochainement a Rabat</h2> 
  </div>
  <article class="col-md-6 col-lg-6 art-content">
    <img src="assets/img/IMG-even1.png">
    <div class="rect-date-even">
      <span>03</span>
      <span>AVR</span>
    </div>
    <div class="rect-info-art">
      <div class="rect-cat">Musique du monde</div>
      <p>Rihanna en concert à Mawazine 2015</p>
      <a href="">détails <span class="icon-circle-plus"></span></a>
    </div>

  </article>
  <article class="col-md-6 col-lg-6 art-content">
    <img src="assets/img/IMG-even1.png">
    <div class="rect-date-even">
      <span>03</span>
      <span>AVR</span>
    </div>
    <div class="rect-info-art">
      <div class="rect-cat">Musique du monde</div>
      <p>Rihanna en concert à Mawazine 2015</p>
      <a href="">détails <span class="icon-circle-plus"></span></a>
    </div>

  </article>
</section>
&#13;
&#13;
&#13;

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

使用:nth-of-type(n)伪选择器单独设置样式。

&#13;
&#13;
div {
  width: 100px;
  height: 100px;
  margin: 5px;
}

div:nth-of-type(1) p {
  background-color: red;
}
div:nth-of-type(2) p {
  background-color: blue;
}
div:nth-of-type(3) p {
  background-color: yellow;
}
div:nth-of-type(4) p {
  background-color: green;
}
&#13;
<div><p>hello</p></div>
<div><p>hello</p></div>
<div><p>hello</p></div>
<div><p>hello</p></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用例如

article:nth-of-type(1) .rect-date-even { 
  background-color: green; 
}

这将选择属于rect-date-even类的所有元素,这些元素是其父元素中第一个article的{​​{1}}的后代。

  

https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type

article(您已经尝试过)会考虑元素名称(或类或其他) - 它所要求的只是

我是我父母的nth-child(无论元素名称,类,ID,属性如何)?

  

https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child