块元素下面有三个点

kum*_*mar 27 html css html5 css3

我想设计如下图所示的东西,但不知道该怎么做!

标题有三个点

在此输入图像描述

所以我想在标题下面的中心只显示3个点.但是当我尝试dotted border-bottom它时需要整个<h1>标签.

h1{
  text-align: center;
  font-size: 50px;
  color: red;
  border-bottom: 10px dotted red;
}
Run Code Online (Sandbox Code Playgroud)
<h1>My Title</h1>
Run Code Online (Sandbox Code Playgroud)

Man*_*tel 54

使用了::after伪元素

h1{
  text-align: center;
  font-size: 50px;
  color: red;
  line-height: 30px;
}
h1::after{
  content:"...";
  font-size: 50px;
  color: gold;
  display: block;
  text-align: center;
  letter-spacing: 5px;
}
Run Code Online (Sandbox Code Playgroud)
<h1>My Title</h1>
Run Code Online (Sandbox Code Playgroud)

  • 您可以尝试使用`&#8226;`(•,`&#9679;`:"●"或`&#11044;`:"⬤"),而不是使用字体大小! (4认同)
  • 如果采用问题作者使用的相同字体系列,这将无效.Arial使用方形点.这就是为什么在我的例子中我将字体切换到另一个字体系列. (2认同)

Pau*_*e_D 29

一个伪元素和一个多个阴影.(放下或盒子)

注意:使用此方法可以控制每个点的颜色.

投下阴影

  h1 {
  text-align: center;
  font-size: 50px;
  color: red;
  position: relative;
}

h1::after {
  content: "";
  position: absolute;
  width: .25em;
  height: .25em;
  border-radius: 50%;
  background: orange;
  bottom: 0;
  left: 50%;
  margin-bottom: -.5em;
  transform: translateX(-50%);
  filter: drop-shadow(.5em 0px 0px blue) 
          drop-shadow(-.5em 0px 0px green);
}
Run Code Online (Sandbox Code Playgroud)
<h1>My Title</h1>
Run Code Online (Sandbox Code Playgroud)

Box Shadow(感谢Ilmari Karonen)

  h1 {
  text-align: center;
  font-size: 50px;
  color: red;
  position: relative;
}

h1::after {
  content: "";
  position: absolute;
  width: .25em;
  height: .25em;
  border-radius: 50%;
  background: orange;
  bottom: 0;
  left: 50%;
  margin-bottom: -.5em;
  transform: translateX(-50%);
  box-shadow: .5em 0px 0px blue, 
              -.5em 0px 0px green;
}
Run Code Online (Sandbox Code Playgroud)
<h1>My Title</h1>
Run Code Online (Sandbox Code Playgroud)

  • 现在是一个完全正确的过程..来自我的+1 :) (4认同)

wsc*_*rge 8

使用::after伪元素.

h1{
  text-align: center;
  font-size: 50px;
}
h1:after{
  content: "";
  display: block;
  width: 50px;
  margin: 10px auto;
  border-bottom: 10px dotted red
}
Run Code Online (Sandbox Code Playgroud)
<h1>My title</h1>
Run Code Online (Sandbox Code Playgroud)

  • 我在macOS上的Safari中查看它.Linux上的Firefox似乎使用圆点.我也没有意识到这是依赖于paltform的. (4认同)
  • 有趣的是,我不知道`border-style:dotted`会在任何浏览器中产生正方形.你用哪一个? (3认同)
  • 我相信Firefox使用方形点. (2认同)
  • 不要只计算尺寸,你是在乞求问题。对我来说(Firefox 56、Linux、默认字体)它只显示两个点。不过是圆的:-) (2认同)

RaJ*_*iJo 3

尝试像下面的代码片段这样的东西。使用跨度创建点并将它们居中对齐。

h1 {
  text-align: center;
  font-size: 50px;
  margin-bottom: 10px;
  color: red;
}

.three-dots {
  text-align: center;
}

.three-dots span {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: red;
  display: inline-block;
  margin: 0 5px;
}
Run Code Online (Sandbox Code Playgroud)
<h1>My Title</h1>
<div class="three-dots">
  <span></span>
  <span></span>
  <span></span>
</div>
Run Code Online (Sandbox Code Playgroud)

更新:是的,当然,我承认这不是完美的解决方案。但同时我确信这将是最好的解决方案之一,您可以通过简单的方式自定义每个点的不同颜色和大小,如下代码片段所示。否则我会同意曼尼什帕特尔的答案是最好的。

h1 {
  text-align: center;
  font-size: 50px;
  margin-bottom: 10px;
  color: red;
}

.three-dots {
  text-align: center;
}

.three-dots span {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: red;
  display: inline-block;
  margin: 0 5px;
}

span.first {
  background-color: green;
  width: 10px;
  height: 10px;
}

span.third {
  background-color: blue;
  width: 20px;
  height: 20px;
}
Run Code Online (Sandbox Code Playgroud)
<h1>My Title</h1>
<div class="three-dots">
  <span class="first"></span>
  <span class="second"></span>
  <span class="third"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 也许更重要的是:您必须在网站上的每个“h1”标题下方添加这些 div 和 span,如果您想更改样式,则必须替换它们,或更改 span 的数量。有点违背了使用 CSS 的初衷。 (17认同)
  • 您添加的每个元素都会消耗浏览器的内存。您使用了一个“div”和三个“span”元素。虽然这可以仅通过一个“div”元素来实现。请参阅@Manish 的答案,这是迄今为止最好的答案。 (10认同)
  • @MohammadUsman:三个额外的跨度完全不可能对内存消耗产生任何影响,即使你有数千个跨度,我想说你的设计中有更大的问题。然而 tobias_k 给出了这个答案不是一个好的答案的真正原因。 (7认同)