博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS布局之——对齐方式
阅读量:6171 次
发布时间:2019-06-21

本文共 2404 字,大约阅读时间需要 8 分钟。

一、水平居中:

(1). 行内元素的水平居中?

如果被设置元素为文本、图片等行内元素时,在父元素中设置text-align:center实现行内元素水平居中,将子元素的display设置为,使子元素变成行内元素

DEMO

(2)块状元素的水平居中(定宽)

当被设置元素为定宽块级元素时用 text-align:center 就不起作用了。可以通过设置“左右margin”值为“auto”来实现居中的。

DEMO
.child{            width: 200px;            margin: 0 auto;        }

(3)块状元素的水平居中(不定定宽)

在实际工作中我们会遇到需要为“不定宽度的块级元素”设置居中,比如网页上的分页导航,因为分页的数量是不确定的,所以我们不能通过设置宽度来限制它的弹性。

可以直接给不定宽的块级元素设置text-align:center来实现,也可以给父元素加text-align:center 来实现居中效果。

当不定宽块级元素的宽度不要占一行时,可以设置display 为 inline 类型或inline-block(设置为  显示或行内块元素)

.container{text-align:center;background: beige}.container ul{list-style:none;margin:0;padding:0;display:inline-block;}.container li{margin-right:8px;display:inline-block;}

 

二、垂直居中:

和水平居中一样,这里要讲垂直居中,首先设定两个条件即父元素是盒子容器高度已经设定

场景1:子元素是行内元素,高度是由其内容撑开的

这种情况下,需要通过设定父元素的line-height为其高度来使得子元素垂直居中

111111
.wrap{            width:200px ;            height: 300px;            line-height: 300px;            border: 2px solid #ccc;        }.span{            background: red;        }

场景2:子元素是块级元素但是子元素高度没有设定,在这种情况下实际上是不知道子元素的高度的,无法通过计算得到padding或margin来调整,但是还是存在一些解法。

通过给父元素设定display:table-cell;vertical-align:middle来解决

11111
.wrap{       width:200px ;       height: 300px;       border: 2px solid #ccc;    display: table-cell;    vertical-align: middle;} .non-height{       background: green;        }

结果

场景3:子元素是块级元素且高度已经设定

计算子元素的margin-top或margin-bottom,计算方法为父(元素高度-子元素高度)/2

111111
.wrap{            width:200px ;            height: 300px;            border: 2px solid #ccc;        }.div1{            width:100px ;            height: 100px;            margin-top: 100px;            background: darkblue;        }

结果

 

三、水平垂直居中:

3.1水平对齐+行高

text-align + line-height实现单行文本水平垂直居中

测试文字

3.2水平+垂直对齐

1. text-align + vertical-align  在父元素设置和,并将父元素设置为元素,子元素设置为元素

测试文字

2.若子元素是,可不使用table-cell,而是其父元素用替代高度,且设为0。子元素本身设置vertical-align:middle

test

3.3相对+绝对定位

使用absolute,利用元素的,在为确定值的基础上,设置margin:auto

测试文字

 

来自http://www.cnblogs.com/chaixiaozhi/p/8490725.html

转载于:https://www.cnblogs.com/cristina-guan/p/9001867.html

你可能感兴趣的文章
我的友情链接
查看>>
ubuntu linux下源码编译安装lamp环境
查看>>
MySql创建多表关联的步骤
查看>>
修改mysql密码
查看>>
我的友情链接
查看>>
交换机命令
查看>>
Powershell 之加解密
查看>>
我的友情链接
查看>>
基于corosync+pacemaker 实现web的高可用
查看>>
IT管理的知识结构框架的一点总结
查看>>
打造属于前端的Uri解析器
查看>>
账户:Windows Phone与Windows Live ID 4-游戏(Games Hub)和商店
查看>>
js ajax
查看>>
如何判断刻录机是不是坏了?
查看>>
Openoffice.org3 在fedora16中的安装
查看>>
文章浏览次数的函数
查看>>
python内置函数积累
查看>>
Redis主从配置
查看>>
关于memcpy的实现
查看>>
sqlalchemy中文乱码问题解决方案
查看>>