ul+li水平居中的几种方法

一.posotion:relative;

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>testUl居中</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        ul,li{
            list-style: none;
        }
        .wrapper{
            float:left;
            position: relative;
            left:50%;
        }
        ul{
            position:relative;
            left:-50%;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <ul>
            <li>内容一</li>
            <li>内容为二</li>
            <li>内容三</li>
            <li>内容四</li>
        </ul>
    </div>
</body>
</html>

浏览器兼容性:IE8以上

若要兼容IE7在div外面再包裹一个div{position:relative;}

二.display:inline-block +text-align:center

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>testUl居中</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        ul,li{
            list-style: none;
        }
        .wrapper{
            text-align: center;
        }
        ul{
            display:inline-block;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <ul>
            <li>内容一</li>
            <li>内容二</li>
            <li>内容三</li>
            <li>内容四</li>
        </ul>
    </div>
</body>
</html>

浏览器兼容性:IE8以上

三.diplay:table

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>testUl居中</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        ul,li{
            list-style: none;
        }
        /*.wrapper{
            text-align: center;
        }*/
        ul{
             display:table;
             margin:0 auto;
        }
        li{
            display:table-cell;
        }
    </style>
</head>
<body>
    <!-- <div class="wrapper"> -->
        <ul>
            <li>内容一</li>
            <li>内容二</li>
            <li>内容三</li>
            <li>内容四</li>
        </ul>
    <!-- </div> -->
</body>
</html>

浏览器兼容性:不支持IE7以下版本的IE浏览器

四.display:inline-flex + text-align:center

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>testUl居中</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        ul,li{
            list-style: none;
        }
        .wrapper{
            text-align: center;
        }
        ul{
            display:-webkit-inline-box;
            display:-moz-inline-box;
            display:-ms-inline-flexbox;
            display:-webkit-inline-flex;
            display:inline-flex;
        }
       
    </style>
</head>
<body>
    <div class="wrapper">
        <ul>
            <li>内容一</li>
            <li>内容二</li>
            <li>内容三</li>
            <li>内容四</li>
        </ul>
    </div>
</body>
</html>

浏览器兼容性:不支持IE7以下版本的IE浏览器

原文地址:https://www.cnblogs.com/keleyz/p/5065966.html