html - 使用伪元素定位特定的 div

标签 html css css-selectors flexbox

我正在尝试使用 .counter-wrap 类简​​单地将我的 html 中的第三个 div 作为目标。在移动设备上,此 div 的 margin-bottom 为 40px。我想删除名为 .counter-wrap 的第三个堆叠 div 上的边距底部。

我以为我可以简单地做 .counter-wrap: last-of-type 但我认为这不起作用的原因是因为每个 .counter-wrap 都有自己的 .col 类。这可以用一个伪元素来完成,还是我最好只在最后一个 .counter-wrap div 上使用一个唯一的 id 并只应用 margin-bottom: 0

body {
  color: black;
  font-size: 15px;
}

.wrap {
  width: 600px;
  margin: 0 auto;
}

.container,
.container-long {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

.row {
  margin-left: -15px;
  margin-right: -15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.col {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

.counter-wrap {
  margin-bottom: 40px;
}

.counter-text,
.counter-number {
  display: block;
  text-align: center;
  text-transform: uppercase;
  color: black;
}

.counter-text {
  letter-spacing: normal;
  font-weight: 400;
}

.counter-number {
  font-size: 60px;
  font-weight: 500;
}
<div class="wrap">
  <div class="container">
    <div class="row">
      <div class="col">
        <div class="counter-wrap">
          <span class="counter-text">Line1</span>
          <span class="counter-number count">1234</span>
          <span class="counter-text">Line 2</span>
        </div>
      </div>
      <div class="col">
        <div class="counter-wrap">
          <span class="counter-text">Line1</span>
          <span class="counter-number count">1234</span>
          <span class="counter-text">Line 2</span>
        </div>
      </div>
      <div class="col">
        <div class="counter-wrap">
          <span class="counter-text">Line1</span>
          <span class="counter-number count">1234</span>
          <span class="counter-text">Line 2</span>
        </div>
      </div>
    </div>
  </div>
</div>

最佳答案

col 类上使用 last-of-type 选择器,如下所示:

.col:last-of-type .counter-wrap {
  margin-bottom: 0;
}

请看下面的演示:

body {
  color: black;
  font-size: 15px;
}

.wrap {
  width: 600px;
  margin: 0 auto;
}

.container,
.container-long {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

.row {
  margin-left: -15px;
  margin-right: -15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.col {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
}

.counter-wrap {
  margin-bottom: 40px;
}

/*ADDED*/
.col:last-of-type .counter-wrap {
  margin-bottom: 0;
}

.counter-text,
.counter-number {
  display: block;
  text-align: center;
  text-transform: uppercase;
  color: black;
}

.counter-text {
  letter-spacing: normal;
  font-weight: 400;
}

.counter-number {
  font-size: 60px;
  font-weight: 500;
}
<div class="wrap">
  <div class="container">
    <div class="row">
      <div class="col">
        <div class="counter-wrap">
          <span class="counter-text">Line1</span>
          <span class="counter-number count">1234</span>
          <span class="counter-text">Line 2</span>
        </div>
      </div>
      <div class="col">
        <div class="counter-wrap">
          <span class="counter-text">Line1</span>
          <span class="counter-number count">1234</span>
          <span class="counter-text">Line 2</span>
        </div>
      </div>
      <div class="col">
        <div class="counter-wrap">
          <span class="counter-text">Line1</span>
          <span class="counter-number count">1234</span>
          <span class="counter-text">Line 2</span>
        </div>
      </div>
    </div>
  </div>
</div>

关于html - 使用伪元素定位特定的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46364677/

相关文章:

css - Angular2子组件破坏CSS关系

CSS:可以选择某个 child 加上紧随其后的 sibling 吗?

javascript - jQuery 选择不具有包含特定单词的类的 div

html - Div 中 IE 7、8、9 中的垂直间距

html - 在html中创建一个表单

jquery - 创建折叠的左侧导航样式列

html - CSS 否定伪类 :not() for parent/ancestor elements

jquery - 使用 nth-child 和 .after 在两个 div 之间注入(inject) div?

javascript - 单击中的 jquery 单击会导致很多递归错误

javascript - Bootstrap 工具提示不适用于动态生成的元素