html - 如何将图像与其他元素放在列表中居中

标签 html css

我有一个无序列表,其中包含多个列表元素。里面还有一个要居中的图像元素。我尝试使用 margin: auto; 将它居中。属性,但由于侧面有列表元素,因此在居中时会考虑到这一点。如何使图像相对于它的容器居中?

.nav {
  width: 1280px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid black;
}

.nav li {
  float: left;
  vertical-align: top;
  margin: 5px 10px;
}

nav li:first-child {
  margin-left: 75px;
}

.nav img {
  display: block;
  margin: auto;
  height: 21px;
  width: 24px;
}
<nav class="nav">
  <ul class="clearfix">
    <li>Home</li>
    <li>Moments</li>
    <li>Notifications</li>
    <li>Messages</li>
    <img src="assets/image/twitter-icon.png" alt="Twitter Icon">
  </ul>
</nav>

最佳答案

您可能必须使用以下方法将图像 absolute 定位到 nav 元素中:

position: absolute;
left: 50%;
transform: translateX(-50%);

还有 position:relative nav 元素。

这样图像会忽略 nav 元素中的任何内容。

body{
margin:0px;
}

.nav {
  width: 1280px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid black;
  position:relative;
}

.nav li {
  vertical-align: top;
  margin: 5px 10px;
  display: inline;
}

nav li:first-child {
  margin-left: 75px;
}

.nav img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 21px;
  width: 24px;
}
<nav class="nav">
  <ul class="clearfix">
    <li>Home</li>
    <li>Moments</li>
    <li>Notifications</li>
    <li>Messages</li>
    <img src="assets/image/twitter-icon.png" alt="Twitter Icon">
  </ul>
</nav>

关于html - 如何将图像与其他元素放在列表中居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44403934/

相关文章:

javascript - 添加样式表但不添加样式

javascript - 通过 JavaScript 添加 -webkit -moz -ms -o css 规则?

html - CSS nth child - 在 href 中选择错误的 span 元素

javascript - 来自不同用户的消息在同一侧的问题

jquery - 如何用css3实现图像贴纸(ribbon)

javascript - 单击按钮时如何在div中显示值?

php - 多词 href 链接将单词放在 HTML/CSS 中?

javascript - 多个类的选择不起作用

html - 如何创建更好的可展开/折叠 div?

html - 如何关闭输入和跨度 html 元素之间的边缘?