为了账号安全,请及时绑定邮箱和手机立即绑定

使不定宽块状元素水平居中-第三种方法

使不定宽块状元素水平居中-第三种方法

方法三:通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。

我们可以这样理解:假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。

 

代码如下:

</head>

    <style> 

        .container   {  

                float:left;    

                 position:relative;     

                left:50% 

        } 

        .container ul  {    

                 list-style:none;     

                margin:0;     

                padding:0;          

                position:relative;     

                left:-50%; 

        }

         .container li    {

                float:left;

                display:inline;

                margin-right:8px;

                } 

    </style>

</head>


<body> 

    <div>     

        <ul>         

            <li><a href="#">1</a></li>         

            <li><a href="#">2</a></li>         

            <li><a href="#">3</a></li>     

        </ul> 

    </div> 

</body>



我们可以这样理解:假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。


完全懵了。有谁能帮帮我??尤其是读了这段话之后,我的脑袋都转不动了。。


正在回答

2 回答

首先你可以理解为父元素如果啥都不改的话正常默认情况放置    当设置float即float:left时,父元素会浮动在最左边,再设置position:relative和left:50%后,父元素的最左端就到了中心线的位置,此时子元素是在父元素内的,即在中心线右侧,再设置子元素的position:relative和left:-50%,就会使子元素向左偏移其父元素的50%,所以此时子元素被中心线分割即达到水平居中。

1 回复 有任何疑惑可以回复我~
#1

老王哥哥 提问者

非常感谢!
2016-07-30 回复 有任何疑惑可以回复我~

其实就是子元素的中心线对齐父元素的中心线,在这里就是

li层的中心线对齐ul层(div层)的中心线

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

使不定宽块状元素水平居中-第三种方法

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号