代码之家  ›  专栏  ›  技术社区  ›  Fjott

CSS-居中字体超级图标

  •  3
  • Fjott  · 技术社区  · 6 年前

    如何将FontAwesome图标居中放置在正方形内?

    此时,除facebook图标外,所有图标都或多或少地被放置在右侧,尤其是soundcloude图标。

    我一直在使用“w3schools-社交媒体按钮”的例子,似乎当正方形缩小时就会出现这个问题。

    .fa {
      padding: 15px;
      text-align: center;
      vertical-align:middle;
      text-decoration: none;
      margin: 15px 3px; 
      border-radius: 50%;
      width: 7.5px;
      height: 7.5px;
      font-size: 15px;
      line-height: 7.5px !important;
    }
    
    .fa {
      background: #F0F0F0;
      color: #282828;
    }
    
    
    .fa-facebook:hover {
      background: #3B5998;
      color: white;
      line-height: inherit;
    }
    
    .fa-youtube:hover {
      background: #bb0000;
      color: white;
      line-height: inherit;
    }
    
    .fa-instagram:hover {
      background: #125688;
      color: white;
      line-height: inherit;
    }
    
    .fa-soundcloud:hover {
      background: #ff5500;
      color: white;
      line-height: inherit;
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
    <a href="#" class="fa fa-facebook"></a>
    <a href="#" class="fa fa-youtube"></a>
    <a href="#" class="fa fa-instagram"></a>
    <a href="#" class="fa fa-soundcloud"></a>
    2 回复  |  直到 6 年前
        1
  •  3
  •   Jon Uleis    6 年前

    消除不必要的填充(没有为图标留下空间),并让 width / height / line-height 元素的数量决定其布局。

    之前:

    padding: 15px;
    width: 7.5px; 
    height: 7.5px;
    line-height: 7.5px !important;
    

    之后:

    width: 30px;
    height: 30px;
    line-height: 30px !important;
    

    您还可以从 :hover 各州。

    现场示例:

    .fa {
      text-align: center;
      vertical-align: middle;
      text-decoration: none;
      margin: 15px 3px;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      font-size: 15px;
      line-height: 30px !important;
    }
    
    .fa {
      background: #F0F0F0;
      color: #282828;
    }
    
    .fa:hover {
      color: #fff;
    }
    
    .fa-facebook:hover {
      background: #3B5998;
    }
    
    .fa-youtube:hover {
      background: #bb0000;
    }
    
    .fa-instagram:hover {
      background: #125688;
    }
    
    .fa-soundcloud:hover {
      background: #ff5500;
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
    <a href="#" class="fa fa-facebook"></a>
    <a href="#" class="fa fa-youtube"></a>
    <a href="#" class="fa fa-instagram"></a>
    <a href="#" class="fa fa-soundcloud"></a>
        2
  •  0
  •   Sachink    6 年前

    ,可以将图标居中。 我已经添加了我的代码片段。 建议不要为类编写css fa 这个请为相同的添加新类

    .decoration-fa{
        padding:15px;
        text-align:center;
        text-decoration: none;
        border-radius: 50%;
        background: #F0F0F0;
        color: #282828;
        width:18px;
        height:18px;    
    }
    
    .decoration-fa.fa-facebook:hover {
      background: #3B5998;
      color: white;
    }
    
    .decoration-fa.fa-youtube:hover {
      background: #bb0000;
      color: white;
    }
    
    .decoration-fa.fa-instagram:hover {
      background: #125688;
      color: white;
    }
    
    .fa-soundcloud:hover {
      background: #ff5500;
      color: white;
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
    <a href="#" class="fa fa-facebook decoration-fa"></a>
    <a href="#" class="fa fa-youtube decoration-fa"></a>
    <a href="#" class="fa fa-instagram decoration-fa"></a>
    <a href="#" class="fa fa-soundcloud decoration-fa"></a>