开发者社区> 问答> 正文

css让不同高度的浮动元素垂直居中

<ul class="row">
  <li class="col col-navbar">
    <h1><a href="/">Logo</a></h1>
  </li>
  <li class="col col-navbar">
    <a href="/books">图书</a>
  </li>
  <li class="col col-navbar">
    <a href="/groups">小组</a>
  </li>
</ul>

li是浮动的元素,ul,li的高度均不固定,由于li内部子元素的内容高度不同,元素显示出来不能垂直居中显示,请问要怎样才能做到呢?

展开
收起
杨冬芳 2016-06-01 13:47:07 2577 0
1 条回答
写回答
取消 提交回答
  • IT从业

    ①首先在ul外面包一层,设置display为table
    ②其次对ul设置display:table-cell

    修改:不用外层的div了。经检测可行。

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="utf-8">
        <title>Test</title>
        <style>
            ul{
                display:table;
                margin:0;
                padding:0;
                list-style-type:none;
            }
            li{
                display:table-cell;
                vertical-align:middle;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>aaaa</li>
            <li>bbb<br>bbb</li>
            <li>cc<br>cc<br>cc</li>
        </ul>
    </body>
    </html>
    2019-07-17 19:23:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
零基础CSS入门教程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载