【问题标题】:Put two divs in the same line with CSS用 CSS 将两个 div 放在同一行
【发布时间】:2020-05-07 00:31:44
【问题描述】:

我对两个 div 项目有疑问。如下截图所示,我想把PM8放在同一行,所以看起来像8 PM

我检查了其他解决方案并尝试添加 display: inline;display: inline-block; 到父 div,但它不起作用。

我的代码来呈现 Div:

.time: {
  height: 40px;
  width: 40;
}

.period: {
  font-size: 10px;
}

.hour: {
  font-size: 10px;
}
<div class="time">
  <div class="period">PM</div>
  <div class="hour">8</div>
</div>

我能得到一些帮助吗?

【问题讨论】:

  • 如果要显示'8 PM',为什么PM div在8 div之前?
  • 当您尝试display: inline 时会显示什么?
  • 这能回答你的问题吗? Two div blocks on same line

标签: html css display


【解决方案1】:
  1. 您有两个拼写错误:
    • font-size 而不是ont-size
    • 您不要在 CSS 选择器之后放置冒号
  2. 我不太清楚为什么 display:inline 不起作用,但因为它不起作用
  3. 像这样使用&lt;span&gt; 而不是&lt;div&gt;

.time {
  height: 40px;
  width: 40px;
}

.period {
  font-size: 10px;
}

.hour {
  font-size: 10px;
}
<div class="time">
  <span class="hour">8</span>
  <span class="period">PM</span>
</div>

【讨论】:

    【解决方案2】:

    1) 从选择器中删除:

    2) 你在font-size 中错过了f

    现在使用 inlineinline-block

    方法1:像这样使用inline

    .time{
        height: 40px;
        width: 40;
    }
    
    .period{
        font-size: 10px;
        display:inline;
    }
    
    .hour {
        font-size: 10px;
        display:inline;
    }
    <div class="time">
        <div class="hour">8</div>
        <div class="period">PM</div>
    </div>

    方法2:像这样使用inline-block

    .time{
       height: 40px;
       width: 40;
    }
    
    .period{
        font-size: 10px;
        display:inline-block;
    }
    
    .hour {
        font-size: 10px;
        display:inline-block;
    }
    <div class="time">
      <div class="hour">8</div>
      <div class="period">PM</div>
    </div>

    【讨论】:

      【解决方案3】:

      您可以使用 flexbox 并将其设置为 row(或者在您的情况下为 row-reverse,因为您将它们向后设置)

      .flexcontainer {
         display: flex;
         flex-direction: row-reverse;
         width:40px;
         height: 40px;
         font-size: 10px;
      }
      <div class="flexcontainer">
      <div>PM</div>
      <div>8</div>
      </div>

      【讨论】:

        【解决方案4】:

        只需从您的 CSS 代码中删除 :

        HTML

        <div class="time">
           <div class="hour">8</div>
           <div class="period">PM</div>
        </div>
        

        CSS

        .time {
          padding: 15px;
          display: inline-flex;
          box-shadow: 0px 0px 10px #3279e3;
        }
        
        .period {
          font-size: 10px;
        }
        
        .hour {
          ont-size: 10px;
        }
        

        【讨论】:

          【解决方案5】:

          只需一个 div 即可处理。

          <div>
          <p>8<span>PM</span></p>
          </div>
          

          【讨论】:

            【解决方案6】:

            float: left css 属性添加到.period.hour 类,如下所示。

            .period {
              font-size: 10px;
              float: left;
            }
            
            .hour {
              font-size: 10px;
              float: left;
            }
            

            为了方便和减少代码行,您可以为两个类只定义一次css属性,如下所示,因为两个类的属性相同。

            .period, .hour {
              font-size: 10px;
              float: left;
            }
            

            【讨论】:

              【解决方案7】:

              将您的.time div 显示设置为网格并设置您想要的网格列数:

                  .time{
                    height: 40px;
                    width: 40px;
                    display : grid ;
                    grid-template-columns: auto auto;
                  }
                  .period{
                    font-size: 10px;
                  }
                  .hour{
                    font-size: 10px;
                  }
               <div class="time">
                    <div class="hour">8</div>
                    <div class="period">PM</div>
                  </div>

              【讨论】:

                【解决方案8】:

                这是一个非常简短的解决方案:

                .time {
                  display: flex;
                  flex-direction: row;
                  height: 40px;
                  width: 40px;
                }
                
                .period: {
                  ont-size: 10px;
                }
                
                .hour: {
                  ont-size: 10px;
                }
                <div class="time">
                  <div class="hour">8</div>
                  <div class="period">PM</div>
                </div>

                希望这会有所帮助。最好的问候。

                【讨论】:

                • 我建议你解释一下,并修复 OP 也有的 CSS 中的拼写错误。
                猜你喜欢
                • 2018-02-27
                • 1970-01-01
                • 2012-02-10
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多