【问题标题】:Align Font Awesome icon vertically centred and to left of table对齐 Font Awesome 图标垂直居中并在表格左侧
【发布时间】:2017-10-22 22:07:34
【问题描述】:

我试图在表格元素的左侧放置一个字体很棒的图标,使其垂直居中于表格。

这是我目前拥有的:

HTML

<div class="dates">
    <i class="fa fa-calendar fa-4x" aria-hidden="true"></i>
    <table>
         <tbody>
             <tr>
                 <td>24th Jul 2018</td>
                 <td>7PM</td>
             </tr>
             <tr>
                <td>25th Jul 2018</td>
                <td>7PM</td>
             </tr>
             <tr>
                 <td>26th Jul 2018</td>
                 <td>7PM</td>
             </tr>
             <tr>
                 <td>27th Jul 2018</td>
                 <td>1PM / 7PM</td>
             </tr>
        </tbody>
   </table>
</div>

CSS

.dates {
    border: 3px solid black;
    display: inline-block;
    padding: 8px 0;
    border-radius: 10px;
    background-color: white;
    border-color: grey;

    .fa {
        vertical-align: middle;
    }

    table {
         display: inline-block;

         td {
              font-weight: bold;
              margin: 0;
              padding: 0 10px;
         }
    }
}

它给了我这个结果:

【问题讨论】:

    标签: css html sass font-awesome


    【解决方案1】:

    display: inline-blockvertical-align: middle 添加到图标和表格中,如下所示:

    (出于演示的目的,我将您的 Sass 取消嵌套到普通 CSS 中。)

    .dates {
      border: 3px solid black;
      display: inline-block;
      padding: 8px 0;
      border-radius: 10px;
      background-color: white;
      border-color: grey;
    }
    
    .fa {
      display: inline-block;
      vertical-align: middle;
    }
    
    table {
      display: inline-block;
      vertical-align: middle;
    }
    
    td {
      font-weight: bold;
      margin: 0;
      padding: 0 10px;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
    
    <div class="dates">
      <i class="fa fa-calendar fa-4x" aria-hidden="true"></i>
      <table>
        <tbody>
          <tr>
            <td>24th Jul 2018</td>
            <td>7PM</td>
          </tr>
          <tr>
            <td>25th Jul 2018</td>
            <td>7PM</td>
          </tr>
          <tr>
            <td>26th Jul 2018</td>
            <td>7PM</td>
          </tr>
          <tr>
            <td>27th Jul 2018</td>
            <td>1PM / 7PM</td>
          </tr>
        </tbody>
      </table>
    </div>

    【讨论】:

    • 太完美了,感谢您的帮助!我很清楚,图标必须是display: inline-block,因为桌子是?我只是想了解解决方案。
    • 就是这样,是的。我建议阅读这篇文章,特别是“使用垂直对齐的要求”部分:christopheraue.net/2014/03/05/vertical-align
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2018-06-28
    • 2017-12-20
    相关资源
    最近更新 更多