html - 垂直对齐 block 元素中的文本

标签 html css

我知道垂直对齐总是被问到,但我似乎无法为这个特定示例找到解决方案。我希望文本在元素内居中,而不是元素本身居中:

li a {
    width: 300px;
    height: 100px;
    margin: auto 0;
    display: block;
    background: red;
}
<ul>
    <li><a href="">I would like this text centered vertically</a></li>
</ul>

真的没有 CSS 属性吗?我愿意添加 <span>但我真的不想添加任何更多的标记。

最佳答案

根据CSS Flexible Box Layout Module ,您可以将 a 元素声明为 flex 容器(见图)并使用 align-items垂直沿横轴(垂直于主轴)对齐文本。

enter image description here

您需要做的就是:

display: flex;
align-items: center;

查看此 fiddle .

关于html - 垂直对齐 block 元素中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166574/

相关文章:

java - 使用 URL.openStream() 下载的 HTML 内容始终包含无效字符

javascript - 基于 URL 查询字符串的弹出和淡入淡出消息 - CSS/JS

javascript - 剑道网格不显示在弹出窗口中

css - 防止在 LESS 中编译导入文件的更改

javascript - 不同的 ng-switch 动画

javascript - 使用下拉菜单阻止页面加载

html - 如何使导航栏在页面上拉伸(stretch)

javascript - 使用 animate() 滑动 div 元素不起作用

html - 如何在动态可变的 div 中定位按钮 div?

html - 覆盖内容并使其响应