如何垂直对齐水平ul内的img

时间:2016-04-07 16:33:33

标签: html css html-lists

我的网站上的导航工作正常,但是,我们决定将徽标放在其中间,现在我无法垂直对齐它,我尝试使用line-height但它没有制作技巧。

我把代码放在代码段中,有人可以帮我一把吗?



nav > ul > li > a > img {
  width: 60px;
  }

nav > ul {
  list-style: none;
  }

nav > ul > li {
  display: inline-block;
  }

nav > ul > li > a {
  text-decoration: none;
  color: black;
  }

<nav>
  <ul>
    <li><a href="#">Shop</a></li>
    <li><a href="#">Shop</a></li>
    <li><a href="#"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Wi-Fi_Logo.svg/1280px-Wi-Fi_Logo.svg.png" alt="logo"/></a></li>
    <li><a href="#">Shop</a></li>
    <li><a href="#">Shop</a></li>
  </ul>
</nav>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

inline-block默认为vertical-align:baseline,因此请将其设为middle

img相同的规则,因此,如果您不想申请li,则可以申请img而不是

nav > ul > li > a > img {
  width: 60px;
  /*vertical-align:middle - this would work here by itself too */
}
nav > ul {
  list-style: none;
}
nav > ul > li {
  display: inline-block;
  vertical-align: middle
}
nav > ul > li > a {
  text-decoration: none;
  color: black;
}
<nav>
  <ul>
    <li><a href="#">Shop</a>
    </li>
    <li><a href="#">Shop</a>
    </li>
    <li>
      <a href="#">
        <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Wi-Fi_Logo.svg/1280px-Wi-Fi_Logo.svg.png" alt="logo" />
      </a>
    </li>
    <li><a href="#">Shop</a>
    </li>
    <li><a href="#">Shop</a>
    </li>
  </ul>
</nav>

答案 1 :(得分:1)

使用vertical-align属性垂直对齐图像。

您想要的值很可能是middle

nav > ul > li > a > img {
  width: 60px;
  vertical-align:middle;
  }

nav > ul {
  list-style: none;
  }

nav > ul > li {
  display: inline-block;
  }

nav > ul > li > a {
  text-decoration: none;
  color: black;
  }
<nav>
  <ul>
    <li><a href="#">Shop</a></li>
    <li><a href="#">Shop</a></li>
    <li><a href="#"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Wi-Fi_Logo.svg/1280px-Wi-Fi_Logo.svg.png" alt="logo"/></a></li>
    <li><a href="#">Shop</a></li>
    <li><a href="#">Shop</a></li>
  </ul>
</nav>