总结CSS居中的多种方法_html/css_WEB-ITnose
程序员文章站
2022-04-14 15:49:02
...
使用 CSS 让页面元素居中可能是我们页面开发中最常见的拦路虎啦,接下来总结一下常见的几种居中方法吧。
1. 首先来聊聊水平居中:
-
text-align 与 inline-block 的配合
就像这样:
See the Pen mVpVEr by xal821792703 ( @honoka ) on CodePen .
HTML 中在想要居中的元素外面套了一个父元素,然后在 CSS 中将父元素的 text-align 属性设为 center,接下来将子元素的 display 属性设为 inline-block 就可以水平居中了。
-
通过 margin 实现
See the Pen rxpxmR by xal821792703 ( @honoka ) on CodePen .
通过 margin 实现连父元素都不用套了,直接 margin: 0 auto; 搞定,对,就是这么简单快捷,恐怕是居中最常用的方法了吧。
2. 结果老板表示只是水平居中不行,还得垂直居中:
-
还是上 margin 来实现一下绝对定位元素的水平垂直居中吧
See the Pen NxXxBz by xal821792703 ( @honoka ) on CodePen .
注意代码中的几个关键点:
-
- 子元素 div 绝对定位
- 父元素需要被定位
- 子元素 top、bottom、left、right 四个位置值均为 0
- 子元素 margin: auto;
-
来自 CSS3 的新杀器 flex
See the Pen xZpZMw by xal821792703 ( @honoka ) on CodePen .
使用 flex 容器布局实现水平垂直居中的关键点在于:
-
- 父元素 display 属性设为 flex
- 垂直布局的属性是 align-items,设为 center 时便垂直居中
- 水平布局的属性是 justify-content,设为 center 时水平居中
- 子元素弹性居中,增加子元素也不会有影响
另外请注意兼容性问题,见下图:
其实利用 CSS 实现居中还有许多方法我没有写在博文中,如何选择居中的技术方案,最后还是得取决于当前业务场景下的浏览器支持程度和适合度。
推荐阅读
-
jquery设置css样式的多种方法(总结)
-
结合CSS3的新特性来总结垂直居中的实现方法
-
jquery设置css样式的多种方法(总结)
-
结合CSS3的新特性来总结垂直居中的实现方法
-
css实现文章分割线样式的多种方法总结
-
看《css知多少》的一些总结_html/css_WEB-ITnose
-
div的垂直居中_html/css_WEB-ITnose
-
如何让下图中的红色部分(span)内的文字相对于红色部分竖直方向上居中呢?源代码如下,图在第二楼_html/css_WEB-ITnose
-
css 隐藏html元素的方法_html/css_WEB-ITnose
-
为什么导航栏的文本和鼠标滑上去颜色居中_html/css_WEB-ITnose