html - 列表问题 - 内容垂直对齐但列表水平对齐?

标签 html css html-lists css-tables

我有一个列表,我应用了 diplay:table-cell 和 vertical-align:middle 样式来垂直居中显示列表项的内容。问题是,列表本身会水平显示!

所以我对各个元素的内容进行了正确的对齐,但对元素本身进行了错误的对齐。

这是我的意思的一个例子:

list goes horizontal!

我要找的是同一件事,但元素在彼此之上。每个元素都有一个设置的宽度和高度(100 像素)以及标准边距和填充。

这是我的 CSS 和 HTML:

ul#affiliations-list {
list-style: none;
margin: 10px 0 0 0;
padding: 0 0 0 12px;
display: table;
width: 96px
}
ul#affiliations-list li{
margin: 0;
padding: 0;
width: 94px;
height: 94px;
background: #fff;
border: 1px solid #020336;
margin-bottom: 10px;
display:table-cell; 
vertical-align:middle;
position: relative

<ul id="affiliations-list">
            <li><img src="be39fb67466b1a11b4989713b51a268c.jpg" width="94" height="33" alt="" /></li>
            <li><img src="297b46e52846790f9bdb71bb0c54158f.png" width="94" height="29" alt="" /></li>
            <li><img src="d20e8a119dd54a7c73d058cd333dbd71.jpg" width="93" height="94" alt="" /></li>
            <li><img src="beb10861fed07a849e36d98922304751.gif" width="94" height="68" alt="" /></li>
</ul>

感谢任何帮助!

最佳答案

试试这样的结构:

<ul>
    <li><div>correctly aligned</div></li>
    <li><div>correctly aligned</div></li>
    ...
</ul>

<style>
    div { display: table-cell; vertical-align: middle; }
</style>

离开<li>在它们的默认样式中,因此您将以“列”形式获取它们,然后 div 负责 li 内容的对齐。

关于html - 列表问题 - 内容垂直对齐但列表水平对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7066116/

相关文章:

javascript - 使用 javascript 编译 html 并将其转储到文件

javascript - 加粗输入字段值

html - 对齐使用自定义元素符号点时换行的 li 文本

html - CSS 并排对齐 UL

css - 将 3 个列表中的 2 个列表向右移动/ float ,但保持标记顺序

javascript - 当屏幕尺寸为 800px 时,我想将左侧导航栏菜单 <div> 移至顶部

javascript - 如何更改 Javascript 上 DIV 标签的类?

css - 如何使用 id 属性以 Angular 导入样式表?

css - 如何删除bxslider图像边框

html - 滑动面板按钮问题