首页 > web前端 > html教程 > 总结CSS居中的多种方法_html/css_WEB-ITnose

总结CSS居中的多种方法_html/css_WEB-ITnose

WBOY
发布: 2016-06-21 08:59:01
原创
1045 人浏览过

使用 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 实现居中还有许多方法我没有写在博文中,如何选择居中的技术方案,最后还是得取决于当前业务场景下的浏览器支持程度和适合度。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板