IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌 全国咨询热线:0371-86588008
课程 请选择课程
    校区 请选择校区
      • 华为
        授权培训中心
      • 腾讯云
        一级认证培训中心
      • 百度营销大学
        豫陕深授权运营中心
      • Oracle甲骨文
        OAEP中心
      • Microsoft Azure
        微软云合作伙伴
      • Unity公司
        战略合作伙伴
      • 普华基础软件
        战略合作伙伴
      • 新开普(股票代码300248)
        旗下丹诚开普投资
      • 中国互联网百强企业锐之旗
        旗下锐旗资本投资

      Web开发之CSS 的这几个居中,你都知道吗?

      • 发布时间:
        2019-06-24
      • 版权所有:
        云和教育
      • 分享:

      CSS居中是前端工程师经常要面对的问题,也是基本技能之一。 CSS中的居中可分为水平居中和垂直居中。水平居中分为行内元素居中和块状元素居中两种情况,而块状元素又分为定宽块状元素居中和不定宽块状元素居中。今天,我们就和大家分享一些居中的常用方法。

      1、把margin设为auto

      配图1 Web开发之CSS居中.jpg

      具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效。

      2、使用line-height让单行文字垂直居中

      把文字的line-height设为文字父容器的高度,适用于只有一行文字的情况。

      配图2 Web开发之CSS居中.jpg

      3、使用display:table-cell

      对于那些个不是表格的元素,我们可以通过display:table-cell 来把它模拟成一个表格单元格,然后结合text-align:center;vertical-align:middle;来使元素居中。

      4、利用css3的translate实现居中

      css3里的移动属性也能实现元素的水平居中对齐。但是,需要注意的是只支持高版本浏览器,IE8及以下版本想都别想了。

      配图3 Web开发之CSS居中.jpg

      5、弹性盒子实现垂直水平居中

      弹性盒子也是css3新增的样式,完全解决了垂直布局难的问题。需要注意的是 :一样要考虑浏览器的兼容性。

      6、使用表格

      如果你使用的是表格的话,那完全不用为各种居中问题而烦恼了,只要用到 td(也可能会用到 th)元素的 align=”center” 以及 valign=”middle” 这两个属性就可以完美的处理它里面内容的水平和垂直居中问题了,而且表格默认的就会对它里面的内容进行垂直居中。

      配图4 Web开发之CSS居中.jpg

      如果想在css中控制表格内容的居中,垂直居中可以使用 vertical-align:middle,至于水平居中,貌似css中是没有相对应的属性的,但是在IE6、7中我们可以使用text-align:center来对表格里的元素进行水平居中,IE8+以及谷歌、火狐等浏览器的text-align:center只对行内元素起作用,对块状元素无效。

      7、使用绝对定位来进行居中

      此法只适用于那些我们已经知道它们的宽度或高度的元素。

      绝对定位进行居中的原理是通过把这个绝对定位元素的left或top的属性设为50%,这个时候元素并不是居中的,而是比居中的位置向右或向左偏了这个元素宽度或高度的一半的距离,所以需要使用一个负的margin-left或margin-top的值来把它拉回到居中的位置,这个负的margin值就取元素宽度或高度的一半。

      如果只想实现一个方向的居中,则可以只使用left , margin-left 来实现水平居中,使用top , margin-top来实现垂直居中。

      8、终极定位元素居中

      配图5 Web开发之CSS居中.jpg

      通过让内部定位的盒子left,right,top,bottom四个值同时为0,然后让margin的四个值自动平分空间,实现元素的垂直水平都居中对齐。一样要注意的是IE7及以下低版本浏览器的不配合问题。

      以上所述就是云和数据小编给大家介绍的CSS实现居中的几种方法,希望对大家有所帮助。