html - 垂直对齐图像对象旁边的链接

标签 html css

这里有点麻烦。

我试图让文本位于图像的中间。我尝试垂直对齐,但没有用?

例如:

enter image description here

li {
  display: inline;
  width: 30px;
  vertical-align: middle;
}

a {
  color: #333;
  margin-top: 1em;
  margin-bottom: auto;
  text-align: center;
}

a:hover {
  color: red;
}
<div class="row">
  <ul class="menu">
    <object type="image/svg+xml" data="https://www.pets4homes.co.uk/images/articles/2184/large/tortoise-and-turtle-shells-and-potential-problems-5437997a9781f.jpg" width="100px" height="75px"></object>
    <li><a href="#">but1</a></li>
    <li><a href="#">but2</a></li>
    <li><a href="#">but3</a></li>
    <li><a href="#">but4</a></li>
  </ul>
</div>

JSFiddle:

https://jsfiddle.net/n40qdv8n/

最佳答案

有几件事需要解决:

  • 标记无效 <object>不能直属<ul> ,请把它包装成一个<li>标签。

  • 你应该使用 display: inline-block而不是 inline , 所以 width可以工作,我建议使用 min-width在这种情况下。

li {
  display: inline-block;
  min-width: 30px;
  vertical-align: middle;
  outline: 1px solid aqua;
}

a {
  color: #333;
  margin-top: 1em;
  margin-bottom: auto;
  text-align: center;
}

a:hover {
  color: red;
}
<div class="row">
  <ul class="menu">
    <li>
      <object type="image/svg+xml" data="https://www.pets4homes.co.uk/images/articles/2184/large/tortoise-and-turtle-shells-and-potential-problems-5437997a9781f.jpg" width="100px" height="75px"></object>
    </li>
    <li><a href="#">but1</a></li>
    <li><a href="#">but2</a></li>
    <li><a href="#">but3</a></li>
    <li><a href="#">but4</a></li>
  </ul>
</div>

关于html - 垂直对齐图像对象旁边的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42636827/

相关文章:

html - 如何在 CSS 中创建 3 列布局?

javascript - 如何从 for 循环中随机选择颜色和形状并将其显示在另一个 div 中?

jquery - 用于切换主体背景图像的 Bootstrap 按钮

html - css 上的奇怪故障悬停在链接上

javascript - 如何找到数组中第二好的?

javascript - 通过 javascript 添加分页符

html - 用 polymer 制作垂直纸标签

css - 无法删除页脚上的边距/填充

JavaFX - 居中覆盖 BorderPane 的 BackgroundImage

css - CSS 样式表以什么顺序覆盖?