html - 保持 li 的垂直对齐

标签 html css

遇到一个问题,如果“li”里面的“a”有两行文本,那么“li”比“li”高一行。

html 是一个标准的 div>ul>li 这是CSS

ul#menu-main-menu {
/*this is to make li's go beyond the container width*/
    position:absolute;
    left:16%;
    right:-100%;
    }
ul#menu-main-menu li {  
    display: inline-block;
    width: 148px;
    }        
ul#menu-main-menu li a {
    position: relative;
    height: 70px;
    margin: 0 5px;
    display: block;
    padding: 0 10px;
    }

jsfiddle 添加 https://jsfiddle.net/dLmwp5kp/

最佳答案

当属性设置为 display:inline-block 时,高度最大的元素与其他元素的中间对齐

可以在这里找到更详细的解释

http://www.w3.org/TR/CSS2/visuren.html#inline-formatting

ul#menu-main-menu li 添加 vertical-align: middle; 它将垂直对齐

演示 - https://jsfiddle.net/dLmwp5kp/2/

关于html - 保持 li 的垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29506100/

相关文章:

jquery - 使用 max-width 和 min-widths 水平居中 JQuery 弹出窗口

javascript - 如何在元素外部单击时隐藏div

javascript - 为什么我的代码有时会返回 undefined

html - 页脚不会留在我的某个页面的底部

javascript - 带孔的模态背景

javascript - 如何使新输入显示在新行而不是替换旧输入

JavaScript:单击按钮时无法更改 div 的背景颜色

javascript - 如何使 facebook 评论框宽度为 100%?

html - 溢出插图?

html - 如何在移动/平板电脑 View 中在 css 的不同行上显示内容?