css居中方法汇总
来源:互联网 发布:英雄联盟网络转播权 编辑:程序博客网 时间:2024/06/15 19:29
css居中方法汇总
水平居中
①margin: 0 auto
子元素设置margin值为0 auto
即可。
使用范围:所有块级元素
// html<div class="parent"> <div class="child"></div></div>// css.parent { width: 500px; height: 300px; border: 1px solid #333;}.child { width: 80px; height: 30px; background: blue; margin: 0 auto; // 关键样式}
预览:
②display:inline-block
设置父元素text-align: center;
,
设置子元素display: inline-block;
使用范围:所有元素
// html<div class="parent"> <div class="child"></div></div>// css.parent { width: 500px; height: 300px; border: 1px solid #333; text-align: center; // 关键样式}.child { width: 80px; height: 30px; background: blue; display: inline-block; // 关键样式}
③position:relative
将子元素设置为相对定位(position: relative;
),
向右偏移基于父元素的50%(left: 50%;
),
再向左偏移基于自身的50%(transform: translateX(-50%);
)
使用范围:所有元素
// html<div class="parent"> <div class="child"></div></div>// css.parent { width: 500px; height: 300px; border: 1px solid #333;}.child { width: 80px; height: 30px; background: blue; position: relative; // 关键样式 left: 50%; // 关键样式 transform: translateX(-50%); // 关键样式}
④display:table
使用该方法需要注意子元素的宽度问题;
同时该方法也同样可以用于垂直居中。
// html<div class="parent"> <div class="child"></div></div>// css.parent { width: 500px; height: 300px; border: 1px solid #333; box-sizing: border-box; padding: 100px; display: table; // 关键样式}.child { width: 80px; height: 30px; background: blue; display: table-cell; // 关键样式}
预览:
⑤flex
使用flex布局进行居中,同样可以用于垂直居中。
```// html<div class="parent"> <div class="child"></div></div>// css.parent { width: 500px; height: 300px; border: 1px solid #333; box-sizing: border-box; display: flex; // 关键样式 justify-content: center; // 关键样式}.child { width: 80px; height: 30px; background: blue;}
方法比较
毫无疑问第一种方法是最常用的,简单且原理易懂。
另外第五种方法也推荐使用,不过要注意兼容低版本浏览器的问题。
而方法二至方法四,了解下原理就行,真用于水平居中就没这个必要;另外对于方法三,其在其他方面的用处比较广泛。
垂直居中
① 单行文本垂直居中
若元素的height与line-height相等,元素内文本即可垂直居中。
但是,该方法只适用于单行文本,对于多行文本,该方法不适用。
// html<div class="parent"> 123456</div>//css.parent { width: 500px; height: 300px; border: 1px solid #333; box-sizing: border-box; line-height: 300px;}
②多行文本垂直居中
对于多行文本,前面提到过使用display:table-cell
可以实现水平垂直居中。此方法对于单行文本、多行文本都适用。
// html<div class="parent"> <div class="child"></div></div>// css.parent { width: 500px; height: 300px; border: 1px solid #333; box-sizing: border-box; padding: 100px; display: table; // 关键样式}.child { width: 80px; height: 30px; background: blue; display: table-cell; // 关键样式}
另外,还可以使用vertical-align
进行居中。
// html<div class="parent"> <span class="child">123<br>456<br>789</span></div>//css.parent { width: 300px; height: 200px; border: 1px solid #ccc; line-height: 200px; // 关键样式}.child { display: inline-block; // 关键样式 line-height: 22px; // 关键样式 vertical-align: middle; // 关键样式}
③ 图片垂直居中
使用绝对定位,同时各个方向的偏移量设置为0。
此方法同样可以用于图片的水平居中、垂直居中、水平垂直居中。
// html<div class="img-wrap"> <img src="http://dummyimage.com/200x200/f66/"/></div>// css.img-wrap { position:relative; height: 400px; width: 400px; border: 1px solid}.img-wrap > img { position:absolute; top:0; bottom:0; left:0; right:0; margin:auto;}
阅读全文
0 0
- css居中方法汇总
- CSS居中方法汇总(包括水平居中和垂直居中)
- CSS水平居中方法汇总(有经验有转帖)
- css 文本和div垂直居中方法汇总
- div居中方法汇总
- CSS各种万能居中汇总
- CSS居中方法
- CSS垂直居中方法
- CSS各种居中方法
- CSS各种居中方法
- CSS各种居中方法
- CSS各种居中方法
- css居中方法详解
- CSS各种居中方法
- CSS各种居中方法
- css居中方法
- CSS各种居中方法
- css万能居中方法
- 2017-11-11每日练习
- BootStrap3滑动展开功能
- Eclipse 安装 SVN 插件的两种方法
- Java 阶段总结
- 如何在WMware上创建虚拟机并安装Ubuntu操作系统
- css居中方法汇总
- HDU 1035-Robot Motion
- http状态码表
- Java——使用DOM4j解析XML文档
- 2017 CCPC 哈尔滨
- leetcode: 32. Longest Valid Parentheses
- 4个小代
- 密码学:基于python支持448位输入的sha-1算法
- Angular2 ng-boostarp 日历控件