温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CSS水平居中的方法实例分析

发布时间:2022-04-28 16:06:02 来源:亿速云 阅读:101 作者:iii 栏目:大数据

本篇内容主要讲解“CSS水平居中的方法实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS水平居中的方法实例分析”吧!

(1)文本,图片等行内元素的水平居中

给父元素设置text-align:center可以实现文本,图片等行内元素的水平居中,代码如下:

<style>
.wrap{text-align:center;background:#ccc;margin-bottom:10px;color:red;}
</style>
<div class="wrap">Hello word</div>
<div class="wrap"><img src="logo.png" height="129" width="238" alt="" /></div>

效果如下:

CSS水平居中的方法实例分析

2)确定宽度的块级元素的水平居中

确定宽度的块级元素的水平居中是通过设置margin-left:auto;margin-right:auto;来实现的,代码如下

<style>
.wrap{width:500px;height:100px;background:#ccc;}
.test{width:200px;height:50px;background:red;margin:0 auto;}
</style>
<div class="wrap"><div class="test"></div></div>

效果如下 :

CSS水平居中的方法实例分析

(3)不确定宽度的块级元素的水平居中

不确定宽度的块级元素的水平居中有三种实现方式,下面以分页为例子,因为分页的数量是不确定的 ,所以我们不能通过设置宽度来限制他的弹性。

方法一:

<style>
.wrap{background:red;}
ul,li{list-style:none;margin:0;padding:0;}
table{margin-left:auto;margin-right:auto;background:#ccc;}
.test li{float:left;display:inline;margin-right:5px;}
</style>
<div class="wrap">
    <table>
        <tbody>
            <tr>
                <th>
                    <ul class="test">
                        <li>1</li>
                    </ul>
                </th>
            </tr>
        </tbody>
    </table>
    <table>
        <tbody>
            <tr>
                <th>
                    <ul class="test">
                        <li>1</li>
                        <li>2</li>
                    </ul>
                </th>
            </tr>
        </tbody>
    </table>
    <table>
        <tbody>
            <tr>
                <th>
                    <ul class="test">
                        <li>1</li>
                        <li>2</li>
                        <li>3</li>
                    </ul>
                </th>
            </tr>
        </tbody>
    </table>
</div>

效果如下:

CSS水平居中的方法实例分析

方法一演示了分别有一个,两个,三个分页的情况下,分页模块都能居中的示例。ul标签是整个分页模块的根元素,它包含的li的数量不确定,所以ul本身的宽度也无法确定,所以不能通过固定宽度设置margin-left和margin-right:auto设置居中,这里用到了一个table来帮助实现不确定宽度的块级元素的水平居中,table有趣的地方是它本身不是块级元素,如果不给它设置宽度的话,它本身的宽度是通过内部元素&ldquo;撑起&rdquo;,即使不给它设置宽度,仅设置margin-left:auto, margin-right:auto 来实现居中,间接使ul居中了

方法二:

<style>
ul,li{list-style:none;margin:0;padding:0;}
.wrap{width:500px;height:100px;background:#ccc;}
.test{text-align:center;padding:5px;}
.test li{display:inline;padding-right:10px;}
</style>
<div class="wrap">
    <ul class="test">
        <li>1</li>
    </ul>
    <ul class="test">
        <li>1</li>
        <li>2</li>
    </ul>
    <ul class="test">
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
</div>

效果如下:

CSS水平居中的方法实例分析

此方法的思路是改变块级元素为line类型,然后通过text-align:center来实现居中,比方法一简单,它的好处是不用添加无语义标签,简化了标签的嵌套深度,但也存在一定的问题:将块级元素转化为inline元素,行内元素比块级元素少一些功能,如设置长宽值,在某些特殊需要的css设置中,可能会带来一些限制。

方法三:

<style>
ul{list-style:none;margin:0;padding:0;}
.wrap{background:#ccc;width:500px;height:100px;}
.test{clear: both;float:left;padding-top:5px;position:relative;left:50%;}
.test li{position:relative;left:-50%;margin-right:5px;float:left;display:inline;}
</style>
<div class="wrap">
    <ul class="test">
        <li>1</li>
    </ul>
    <ul class="test">
        <li>1</li>
        <li>2</li>
    </ul>
    <ul class="test">
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
</div>

效果如下:

CSS水平居中的方法实例分析

方法三的是给父元素设置float,然后父元素设置position:relative和left:50%;  子元素设置position:relative和left:-50%来实现水平居中,这种方法可以保留块级元素仍以display:block的形式显示,不会增加无语义标签。

到此,相信大家对“CSS水平居中的方法实例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI