【问题标题】:Circular divs with vertically aligned text and subtitles带有垂直对齐文本和字幕的圆形 div
【发布时间】:2016-07-06 17:18:51
【问题描述】:

我觉得这很明显,但我似乎无法在这里找到任何答案。

我正在尝试制作 5 个内联的圆形 div,中间有一个字母代表一个等级。然后我想要在年级以下的主题标题(但仍在圆圈内)。

这是我目前所写的:

HTML:

<div class="subject">A</div>
<div class="subject">B</div>
<div class="subject">C</div>
<div class="subject">D</div>
<div class="subject">E</div>

CSS:

.subject {
    display: inline-block;
    background-color: gray;
    width: 200px;
    height: 200px;
    line-height: 200px;
    text-align: center;
    font-family: Arial;
    border-radius: 100%;
    color: white;
    font-size: 100px;

此外,我似乎无法使用以下方法将圆圈水平居中:

margin: 0 auto;

margin-left: auto;
margin-right: auto;

.subject {
  display: inline-block;
  background-color: gray;
  width: 200px;
  height: 200px;
  line-height: 200px;
  text-align: center;
  font-family: Arial;
  border-radius: 100%;
  color: white;
  font-size: 100px;
}
<div class="subject">A</div>
<div class="subject">B</div>
<div class="subject">C</div>
<div class="subject">D</div>
<div class="subject">E</div>

感谢任何建议,谢谢!

【问题讨论】:

    标签: html css web


    【解决方案1】:

    div 包装在一个容器中,并将text-align: center 添加到其中。

    使用伪元素:after 插入字幕。检查下面的例子

    .container {
      text-align: center;
    }
    .subject {
      border-radius: 100%;
      display: inline-block;
      background-color: gray;
      width: 200px;
      height: 200px;
      line-height: 200px;
      text-align: center;
      font-family: Arial;
      border-radius: 100%;
      color: white;
      font-size: 100px;
      position: relative;
    }
    .subject:after {
      display: inline-block;
      position: absolute;
      font-size: 16px;
      content: attr(data-sub);
      left: 50%;
      transform: translateX(-50%);
      top: 30%;
    }
    <div class="container">
      <div class="subject" data-sub="Maths">A</div>
      <div class="subject" data-sub="French">B</div>
      <div class="subject" data-sub="Biology">C</div>
      <div class="subject" data-sub="German">D</div>
      <div class="subject" data-sub="Chemistry">E</div>
    </div>

    【讨论】:

      【解决方案2】:

      你可以这样做,我创建了另一个 div 并添加了text-align:center 属性。现在这些圆圈组水平居中。

      .subject {
          display: inline-block;
          background-color: gray;
          width: 200px;
          height: 200px;
          line-height: 200px;
          text-align: center;
          font-family: Arial;
          border-radius: 100%;
          color: white;
        font-size: 100px;}
      
      .circle{
        text-align:center;
      }
      <div class="circle">
      <div class="subject">A</div>
      <div class="subject">B</div>
      <div class="subject">C</div>
      <div class="subject">D</div>
      <div class="subject">E</div></div>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-17
        • 2018-09-14
        • 2023-04-04
        • 1970-01-01
        相关资源
        最近更新 更多