为什么Twitter Bootstrap添加:: before和:: after?

Rob*_*bin 6 html css pseudo-element twitter-bootstrap

我注意到当我检查使用bootstrap类生成的代码时,CSS中的属性往往会有很多:: after和:: before.下面是一个例子(来自w3schools网站).

有人可以广泛地解释一下这些额外属性的设计目标,以及为什么它们似乎出现在几乎所有元素上?

据我所知,他们将所有被排除的元素放入表格元素并添加一个空的文本空间.我假设这是为了布局目的,但我想更多地了解它的原因.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h1>Grid</h1>
  <p>This example demonstrates a 50%/50% split on small, medium and large devices. On extra small devices, it will stack (100% width).</p>
  <p>Resize the browser window to see the effect.</p>
  <div class="row">
    <div class="col-sm-6" style="background-color:yellow;">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<br>
      Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    </div>
    <div class="col-sm-6" style="background-color:pink;">
      Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto.
    </div>
  </div>
</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Kis*_*mar -1

这些::after和::before被称为伪元素。它们允许您设置文档的某些部分的样式。

请找到以下链接供您参考。

https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements https://developer.mozilla.org/en-US/docs/Web/CSS/::https:// 之后css-tricks.com/almanac/selectors/a/after-and-before/

  • OP 询问为什么 Bootstrap 也添加了这么多元素,您只是给出了一个超级简单的解释并提供了一些链接。您能否进一步详细说明为什么 Bootstrap 添加了这么多伪类? (5认同)