元素的水平垂直居中
来源:互联网 发布:java线程synchronized 编辑:程序博客网 时间:2024/05/16 06:55
1.行内元素水平居中
a.将行内元素包裹在块级元素中,然后设置:text-align:center
.box1 {background: #2b2b2b;margin: 0 auto;width: 100px;color: white;text-align: center;}
2.块级元素水平居中
块级元素的宽度一定,这就是我们平常所用的:margin: 0 auto。
但是当块级元素的宽度不定的时候,我们可以这样:让他display为inline类型,然后给父级标签设置text-align:center实现。当然了还有另外一种有趣的方法:给父级设置float属性,position:relative,left:50%;同时给子元素设置position:relative left:-50%.但是相对定位设置left后会在原地‘留坑’,酌情使用。
.box {float: left;position: relative;left: 50%;}.box1 {background:blue;font-size: 40px;color: white;position: relative;left: -50%;}
<div class="box"><div class="box1">1</div></div>
3.水平排列的多个块级元素的水平居中
a.给子元素设置:display:inline-block,再给父级设置text-align:center即可。
.box {width: 400px;height: 200px;margin: 100px auto;border: 1px solid red;text-align: center;}.box1 {background:blue;width: 100px;height: 100px;line-height: 100px;font-size: 40px;color: white;display: inline-block;;}
<div class="box"><div class="box1">1</div><div class="box1">2</div><div class="box1">3</div></div>
b.用弹性盒子实现flexbox .给元素父级设置:display:flex;justify-content:center 给子元素设置display:inline-flex;
.box {width: 400px;height: 200px;margin: 100px auto;border: 1px solid red;display: flex;justify-content: center;}.box1 {background:blue;display: inline-flex;width: 100px;height: 100px;line-height: 100px;font-size: 40px;color: white;}
<div class="box"><div class="box1">1</div><div class="box1">2</div><div class="box1">3</div></div>
4.子元素的父元素高度不确定的垂直居中
这个时候只要给父元素设置相同的上下padding即可实现。
.box {width: 300px;border: 1px solid black;padding-top: 30px;padding-bottom: 30px;margin: 0 auto;}.box1 {background:orange;font-size: 40px;color: white;width: 100px;line-height: 100px;text-align: center;}
<div class="box"><div class="box1">1</div></div>
5.子元素的父元素高度确定的垂直居中
a.如果是单行文本,设置line-height等于父元素高度即可。
b.如果是多行文本,图片,块级等元素的时候,高度又不确定,我们可以利用vertical-align:middle这个属性实现居中。但是这个vertical-align这个属性默认为父元素是td或者th等表单类的时候才生效。这个时候我们就要把父元素进行转化:display:table-cell(ie6、7不支持此属性)。大家可以试着居中一下图片。
.box {width: 300px;height: 300px;margin-left: 400px;border: 1px solid red;display: table-cell;vertical-align: middle;}.box1 {background:orange;font-size: 40px;color: white;width: 100px;text-align: center;margin: 0 auto;}
<div class="box"><div class="box1">1</div></div>
6.已知宽高元素的水平垂直居中
a.父元素设置相对定位。子元素设置绝对定位。令子元素的top,left值都为50%,利用负的margin-left和负的margin-top值为其宽高的一半实现水平垂直居中。
.box {width: 300px;height: 300px;margin: 100px auto;border: 1px solid red;position: relative;}.box1 {background:purple;font-size: 40px;color: white;text-align: center;line-height: 80px;width: 100px;height: 80px;position: absolute;left: 50%;top: 50%;margin-left: -50px;margin-top: -40px;}
<div class="box"><div class="box1">1</div></div>
b.设置父元素相对定位,设置子元素的margin为auto,并令其left.top,bottom.right值都为0.仍然可以实现上述效果。
.box {width: 300px;height: 300px;margin: 100px auto;border: 1px solid red;position: relative;}.box1 {background:#2b2b2b;font-size: 40px;color: white;text-align: center;line-height: 80px;width: 100px;height: 80px;margin: auto;position: absolute;left: 0;top: 0;right: 0;bottom: 0;}
<div class="box"><div class="box1">1</div></div>
总结:如果还有更好的方法,本人会继续补充说明。
0 0
- 元素的水平垂直居中
- 元素水平垂直居中
- 元素垂直水平居中
- 元素水平垂直居中
- 元素水平垂直居中
- 绝对定位元素的水平垂直居中
- html中块级元素的水平垂直居中
- 让元素水平垂直居中的方法
- html元素水平居中、垂直居中、水平垂直居中于其父级元素的方法
- html元素水平居中、垂直居中、水平垂直居中于其父级元素的方法
- 元素的水平居中,垂直居中以及同时水平,垂直居中方法
- 元素水平居中和垂直居中的方式
- 7种元素的水平居中和垂直居中方法
- 元素水平居中和垂直居中的方式总结
- CSS3 Flex实现元素的水平居中和垂直居中
- 各种元素水平垂直居中
- 子元素水平垂直居中
- 子元素水平垂直居中
- 动态添加删除网卡
- HDU 1092 JAVA
- MVC,MVP 和 MVVM
- 从源码角度看Activity知识点(二)
- Java 判断文件夹、文件是否存在、否则创建文件夹
- 元素的水平垂直居中
- Keepalived+Nginx实现高可用(HA)
- 尝试解析加入域中域控制器的DNS名称失败,请验证已将此客户端已配置为连接到解析目标域中DNS名称的DNS服务器
- 宏定义
- (POJ) 3682
- tyedef的用法
- linux之修改用户密码
- Android四大组件的工作过程
- 基于Android的以太网,网线连接状态判断