html - 页脚中的居中和间距图标

标签 html css flexbox icons footer

如何让这些图标排成一排并有空格?无法理解为什么它们不会自动排成一行...... 希望他们排成一排,周围有空间并居中。如果它们在小于 768px 时也可以堆叠,那就太好了。 我在这里错过了什么?

Codepen Footer

<footer>
  <div class="credit">
    <p>2018 Roger Jorns</p>
  </div>
  <div class="footer-logo">
    <img class="footer-pic" src="/Users/rogerjorns/Desktop/Portfolio/food site/assets/images/LogoMakr_1KiQWa.png" alt="">
  </div>
  <div class="social">
    <ul class="icons">
      <li><i class="fab fa-facebook-f"></i></li>
      <li><i class="fab fa-twitter"></i></li>
      <li><i class="fab fa-instagram"></i></li>
      <li><i class="fab fa-yelp"></i></li>
    </ul>
  </div>
</footer>

footer {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
  width: 100%;
  background-color: gray;
}

li {
  list-style: none;
}

.credit {
  grid-column: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-logo {
  grid-column: 2;
  width: 40%;
  margin: 0 auto;
}

.social {
  grid-column: 3;
  display: flex;
  justify-content: center;
  align-items: center;
}

最佳答案

它们没有出现在行中,因为 list-items<li>元素默认为 display属性为:display: list-item .使用 flexbox将它们显示为行并在周围留出空间。

footer {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
  width: 100%;
  background-color: gray;
}

li {
  list-style: none;
}

.credit {
  grid-column: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-logo {
  grid-column: 2;
  width: 40%;
  margin: 0 auto;
}

.social {
  grid-column: 3;
  display: flex;
  justify-content: center;
  align-items: center;
}

ul {
  display: flex;
  justify-content: space-around;
  width: 100%;
}

@media only screen and (max-width: 600px) {
    ul {
      display: initial;
    }
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/brands.css" integrity="sha384-nT8r1Kzllf71iZl81CdFzObMsaLOhqBU1JD2+XoAALbdtWaXDOlWOZTR4v1ktjPE" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/fontawesome.css" integrity="sha384-HbmWTHay9psM8qyzEKPc8odH4DsOuzdejtnr+OFtDmOcIVnhgReQ4GZBH7uwcjf6" crossorigin="anonymous">

<footer>
  <div class="credit">
    <p>2018 Roger Jorns</p>
  </div>
  <div class="footer-logo">
    <img class="footer-pic" src="/Users/rogerjorns/Desktop/Portfolio/food site/assets/images/LogoMakr_1KiQWa.png" alt="">
  </div>
  <div class="social">
    <ul class="icons">
      <li><i class="fab fa-facebook-f"></i></li>
      <li><i class="fab fa-twitter"></i></li>
      <li><i class="fab fa-instagram"></i></li>
      <li><i class="fab fa-yelp"></i></li>
    </ul>
  </div>
</footer>

如果您希望图标在设备小于 786 像素时堆叠,请使用 media-queries禁用 flex-box .

关于html - 页脚中的居中和间距图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51803727/

相关文章:

javascript - 单击链接时 Accordion 打开

javascript - 从javascript修改div的数据 donut 属性

javascript - 在测验中创建一个像视频游戏一样的生活系统

html - 居中一个 flex 元素并底部对齐另一个

javascript - 通过从范围内的 ng-repeat 获取动态 id 使用切换

html - 单选按钮 css 和 IE9

html - Swift Regex 从页面 html 中检索 token

jquery - 使用 jQuery 为滚动的导航栏设置动画

html - 如何在 flexbox 的同一行对齐文本?

css - 如何使用 css 网格实现带有空单元格的 2 x 2 布局?