css - 在垂直菜单中水平居中链接图像

标签 css image html

努力学习 html/css 我遇到了一个有多种解决方案的问题,但我不知道哪个是清晰正确代码的最佳解决方案。

我想将垂直菜单中的链接(图像)水平居中。此菜单必须包含在具有固定高度和宽度的 div 中 - #menu。我将使用#menu 的高度向下推另一个 div。

我在网上搜索了很多方法:直接使用 UL 和 id,不包含任何 div,包含 UL 的 div,甚至只有 css 中的 div 和 ul,没有 ul 的任何格式li 或 ul li a. 我的脑子现在一团糟。 在某个时候我决定这样做,但我很确定这不是最好和最简单的方法:

http://jsfiddle.net/luisse/hpLQ6/

html代码:

<div id="content">
<div id="menu">
<ul>
<li><a href="#"><img src="http://i.imgur.com/Cgl5XKV.jpg"></a></li>
<li><a href="#"><img src="http://i.imgur.com/Gk93KeN.jpg"></a></li>
<li><a href="#"><img src="http://i.imgur.com/iIk5FoO.jpg"></a></li>
</ul>
</div>
</div>

CSS:

html, body {
height: 100%;
padding: 0;
margin: 5px;
}
body {
background-color:black;
}
* {
margin: 0;
padding: 0;
}


#content {
background-color: #999999;
height: 600px;
width: 100px;
}


#menu {
background-color: #C0C0C0;
width: 60px;
height: 120px;
margin-left: auto;
margin-right: auto;
}
ul {
list-style: none;
width: 60px;
display: table;
}
ul li {
height: 20px;
margin-top: 10px;
}
ul li a {
text-decoration: none;
}

你能告诉我最好的方法是什么吗? 谢谢。

最佳答案

您可以设置 li 使其所有内容居中。 这就是使链接居中所需的全部内容。

ul li {
    text-align:center; 
}

虽然默认情况下 UL 在浏览器中有一些边距,因此将以下内容添加到 ul 可以消除它所具有的奇怪边距。

ul {
    margin:0px;
}

关于css - 在垂直菜单中水平居中链接图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21470247/

相关文章:

图像/表单到 Pascal/Delphi 代码转换器?

javascript - Adipoli jQuery 图像悬停效果

Java Mail 较大的 base64 图像在 Linux 中具有换行符,导致它们在 Apple Mail.app 等客户端中失败

android - 移动:使用 CSS 隐藏选择框中的特定选项

html - 我正在为新网站使用 html 模板。它使用 SASS 样式,但我只想使用 CSS。我怎样才能摆脱SASS样式表

javascript - 如何使用 HTML、CSS 或 Javascript 在用户点击移动设备时产生 react ?

javascript - 隐藏 facebook like box IFRAME 组件

javascript - 使用 Javascript 获取当前浏览器并在 HTML 上打印

css - 是否可以将滚动条从容器中取出到文档中?

jquery - 垂直设置自动完成列表项