盒子居中方法 您所在的位置:网站首页 将盒子居中 盒子居中方法

盒子居中方法

2024-06-19 04:20| 来源: 网络整理| 查看: 265

布局中经常会遇到让一个盒子水平且垂直居中的情况,以下总结了几种居中方法:

margin固定宽高居中 负margin居中 绝对定位居中 table-cell居中 flex居中 transform居中 不确定宽高居中(绝对定位百分数) button居中

不兼容IE低版本的可以用其他方法hack。

不多说,直接上代码: 大多数方法的html都相同,所以写一个了,不同的再单独写出来。

(demo中有代码和效果)

HTML:

margin固定宽高居中

这种定位方法,纯粹是靠宽高和margin拼出来的,不灵活。

CSS:

#container { width: 600px; height: 500px; border: 1px solid #000; margin: auto; } #box { width: 200px; height: 200px; margin: 150px 200px; background-color: #0ff; }

点击查看demo

负margin居中

利用负的margin来进行居中,需要知道固定宽高,限制比较大。

CSS:

#container { position: relative; width: 600px; height: 500px; border: 1px solid #000; margin: auto; } #box { position: absolute; width: 200px; height: 200px; left: 50%; top: 50%; margin: -100px -100px; background-color: #0ff; }

点击查看demo

绝对定位居中

利用绝对定位居中,非常常用的一种方法。

CSS:

#container { position: relative; width: 600px; height: 500px; border: 1px solid #000; margin: auto; } #box { position: absolute; width: 200px; height: 200px; left: 0; top: 0; right: 0; bottom: 0; margin: auto; background-color: #0ff; }

点击查看demo

table-cell居中

利用table-cell来控制垂直居中。

CSS:

#container { display: table-cell; width: 600px; height: 500px; vertical-align: middle; border: 1px solid #000; } #box { width: 200px; height: 200px; margin: 0 auto; background-color: #0ff; }

点击查看demo

flex居中

CSS3中引入的新布局方式,比较好用。缺点:IE9以及IE9一下不兼容。

CSS:

#container { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 600px; height: 500px; border: 1px solid #000; margin: auto; } #box { width: 200px; height: 200px; background-color: #0ff; }

点击查看demo

transform居中

这种方法灵活运用CSS中transform属性,较为新奇。缺点是IE9下不兼容。

CSS:

#container { position: relative; width: 600px; height: 600px; border: 1px solid #000; margin: auto; } #box { position: relative; top: 50%; left: 50%; width: 200px; height: 200px; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); background-color: #0ff; }

点击查看demo

不确定宽高居中(绝对定位百分数)

这种不确定宽高的居中,较为灵活。只需要保证left和right的百分数一样就可以实现水平居中,保证top和bottom的百分数一样就可以实现垂直居中。

CSS:

#container { position: relative; width: 600px; height: 500px; border: 1px solid #000; margin: auto; } #box { position: absolute; left: 30%; right: 30%; top: 25%; bottom: 25%; background-color: #0ff; }

点击查看demo

button居中

利用button做外容器,里边的块元素会自动垂直居中,只需要控制一下水平居中就可以达到效果。

HTML:

CSS:

button { width: 600px; height: 500px; border: 1px solid #000; } div { width: 200px; height: 200px; margin: 0 auto; background-color: #0ff; }

点击查看demo



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有