css居中方式大全
2019-04-15 17:01
127 查看
前言:
以下布局方案所指的父元素都是块级元素、子元素不固定情况下对子元素进行居中的方式,可以对照表格中的见指定的下方代码进行使用,结尾附代码,直接可以运行,如有错误,不吝赐教:
元素/居中方式 | 子元素主动居中 | 父元素控制子元素居中 |
---|---|---|
水平居中 | 行内:【见1】;块级:【见2】 | 行内:【见3】;块级:【见4】 |
垂直居中 | 行内:【见5】;块级:【见6】 | 行内:【见7】;块级:【见8】 |
- 1
转换为块级元素:
display:inline-block/block
- 通过父元素控制行内元素的居中:【见3】
-
定宽:
position:relative; left:50%; margin-left:[width/2]
margin: 0 auto;
position:absolute; left 50%; translateX:50%;
text-aligin:center
-
Flex布局
-
转换为块级元素
-
定宽定高
position:absolute; translateY:50%
position:relative; top:50%; margin-top:[height/2];
-
定高:
height = line-height
display:table-cell; vertical-align:middle;
display:inline-block; content:''; height:100%; vertical-align:middle
-
Flex布局
Flex布局居中方案
display: flex/inline-flex; flex-direction: row; justify-content: center; align-items: center;
方案总结
每种居中都有自己的优缺点,在使用时,可以根据CSS属性兼容性、代码可行性、页面分辨率进行选择;个人推荐Flex布局来进行居中。
demo代码附录
HTML: <!-- 子元素主动居中 --> <!-- 行内 --> <div class="parent"> <span class="child inline-center-child">子元素-行内</span> </div> <!-- 块级 --> <div class="parent"> <div class="child block-center-child">子元素-块级</div> </div> <!-- 父元素主动居中 --> <!-- 行内 --> <div class="parent inline-center-parent"> <span class="child">父元素-行内</span> </div> <!-- 块级 --> <div class="parent block-center-parent"> <div class="child">父元素-块级</div> </div>
CSS样式初始化 *{ margin: 0; padding: 0; } /*元素初始化*/ .parent{ display: inline-block; background: #eeb8c3; width: 200px; height: 200px; margin-right: 10px; } .child{ background: #ee4866; width: 70px; height: 70px; }
CSS居中核心代码: /*居中代码*/ .inline-center-child{ } .block-center-child{ /* case1 */ margin: 0 auto; /* case2 */ position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%); /* case3 */ position: relative; top: 50%; margin-top: -50px; } .inline-center-parent{ /* case1 */ text-align: center; /* case2 */ display: table-cell; vertical-align: middle; /* case3 */ line-height: 200px; } /* case4 */ .inline-center-parent::before{ display: inline-block; content: ''; height: 100%; vertical-align: middle; } .block-center-parent{ } /* 万能-flex布局 */ .parent{ display: inline-flex; flex-direction: row; justify-content: center; align-items: center; }
相关文章推荐
- CSS垂直水平居中方式大全(一)----水平居中-垂直居中
- CSS垂直水平居中方式大全(二)----水平垂直居中
- css考核点整理(六)-水平居中定位的几种方式
- css 总结内容用到的绝对居中的几种方式
- CSS居中方式总结
- CSS水平居中,垂直居中以及各种布局方式
- 讨论CSS中的各类居中方式
- 【基础】这15种CSS居中的方式,你都用过哪几种?
- CSS 居中大全
- 你想要的CSS居中方法大全
- [分享] 纯CSS完美实现垂直水平居中的6种方式
- css 图片垂直水平居中以及清除浮动方式(常用几种方式)
- 第212天:15种CSS居中的方式,最全了
- 前端面试经典问题:CSS中居中的几种方式
- CSS制作水平垂直居中对齐 多种方式各有千秋
- css 四种盒子垂直居中方式
- css垂直居中的几种方式
- 七种CSS方式让一个容器水平垂直居中
- 15种CSS居中的方式
- css常用的四种单列居中布局方式