CSS布局---居中方法

来源:互联网 发布:飞友网络 待遇 编辑:程序博客网 时间:2024/04/30 01:27

在web页面布局中居中是我们常遇到的情况,而居中分为水平居中与垂直居中

 

文本的居中

CSS中对文本的居中做的非常友好,我们是需要text-align, line-height 两个属性就可以控制文本的水平以及垂直居中

 

<head>    <style type="text/css">        .text {            width: 200px;            height: 200px;            border: 1px solid green;            text-align: center;            line-height: 200px;        }    </style></head><body>    <div class="text">文本的水平垂直居中</div></body></html>

 

 

 

注意:line-height属性控制文本的垂直方向居中时 只使用单行文本的情况,多行文本时不能采用次方法

 

元素的居中

在CSS 中对于元素的居中,相信写过CSS的同学对于其中的垂直居中都觉得非常苦恼,下面我们来看下实现居中的几种方法

方法一:

使用display:table-cell 来居中,通过display:table-cell 来把他模拟成一个表格的单元格,利用表格的居中特性

<head>    <style type="text/css">        .parent {            display: table-cell;            width: 200px;            height: 200px;            vertical-align: middle;            text-align: center;            border: 1px solid red;        }        .child {            display: inline-block;            background-color: #33F;        }    </style></head><body>    <div class="parent">        <div class="child">元素的水平居中</div>    </div></body></html>

注意:当前方法兼用 IE8+ 谷歌,火狐等

 

方法二:

使用绝对定位来居中,原理为设置定位元素的left与top为50%,但是这时候元素还不是居中的,因为坐标计算是根据元素的左上角的顶点计算的

所以相对中间的位置偏移了元素宽度/高度一半的距离,不过我们只需要设置元素的margin-top,margin-left 为负值就行了,值为元素宽/高的一半

<head>    <style type="text/css">        .parent {            position: relative;            width: 200px;            height: 200px;            border: 1px solid green;        }        .child {            margin-left: -50px;            margin-top: -50px;            position: absolute;            top: 50%;            left: 50%;            width: 100px;            height: 100px;            background-color: #33F;        }    </style></head><body>    <div class="parent">        <div class="child"></div>    </div></body></html>

注意: 此方法只能使用宽度高度已知的元素

 

方法三:

另一种绝对定位的方法

<head>    <style type="text/css">        .parent {            position: relative;            width: 200px;            height: 200px;            border: 1px solid green;        }        .child {            position: absolute;            top: 0;            left: 0;            right: 0;            bottom: 0;            margin: auto;            width: 50px;            height: 50px;            background-color: #33F;        }    </style></head><body>    <div class="parent">        <div class="child"></div>    </div></body></html>

注意:此方法也是只适用于有元素有固定宽高的情况,而且只支持IE9+ 谷歌,火狐等符合w3c标准的“现代浏览器”

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 多肉植物爆盆后怎么办 狗眼发炎了怎么办 旅行箱密码锁打不开怎么办 梅花夏季干支了怎么办 红梅树初夏落叶怎么办 电脑主机开关坏了怎么办 iqos加热片断了怎么办 眼睛容易出泪水怎么办 盖髓后牙齿疼痛怎么办 补牙材质掉了怎么办 补牙上药后痛怎么办 儿童牙缝隙大怎么办 牙齿塞药掉了怎么办啊 补牙后按压疼痛怎么办 补过的牙齿疼怎么办 堵完牙后牙涨疼怎么办 补牙到牙神经怎么办 想换飘窗窗户 大理石面怎么办 出差三个月绿萝怎么办 口红吊兰根烂怎么办 金鱼吊兰干枝怎么办 口红吊兰不开花怎么办 单位上班座位不好怎么办 简易办公室夏天闷热怎么办 开发商不让用公积金贷款怎么办 夏天脚底开裂缝怎么办 晚上脚丫子痒怎么办丫 栀子花长白粉虱怎么办 栀子花花骨朵变黄怎么办 栀子花苞焉了怎么办 水培栀子花焉了怎么办 三角梅叶子焉了怎么办 换瓣手术后出现漏洞怎么办 牙2瓣了怎么办 二件瓣反流已有20多年了怎么办 小阴唇静脉畸形怎么办 帝舵手表氧化怎么办? 脸干不易吸收怎么办 水粉画颜料裂了怎么办 吃粉条胃不舒服怎么办 胃营养吸收不好怎么办