加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_韶关站长网 (https://www.0751zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Web开发中盒子居中的几种方法

发布时间:2016-12-05 17:52:34 所属栏目:百科 来源:站长网
导读:一、记录下几种盒子居中的方法: nbsp; 1.0、margin固定宽高居中; nbsp; 2.0、负margin居中; nbsp; 3.0、绝对定位居中; nbsp; 4.0、table-cell居中; nbsp; 5.0、flex居中; nbsp; 6.0、transform居中; nbsp; 7.0、不确定宽高居中(绝对定位百分数); n

一、记录下几种盒子居中的方法:
nbsp;
1.0、margin固定宽高居中;
nbsp;
2.0、负margin居中;
nbsp;
3.0、绝对定位居中;
nbsp;
4.0、table-cell居中;
nbsp;
5.0、flex居中;
nbsp;
6.0、transform居中;
nbsp;
7.0、不确定宽高居中(绝对定位百分数);
nbsp;
8.0、button居中。
nbsp;
二、代码演示(html使用同一个Demo):
nbsp;
html Demo:
nbsp;
lt;bodygt;
nbsp;nbsp;nbsp; lt;div id=quot;containerquot;gt;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; lt;div id=quot;boxquot;gt;lt;/divgt;
nbsp;nbsp;nbsp; lt;/divgt;
lt;/bodygt;
nbsp;
nbsp;
1.0、margin固定宽高居中(演示)
nbsp;
这种定位方法纯粹是靠宽高和margin拼出来的,不是很灵活。
nbsp;
CSS:
nbsp;
#container {
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 500px;
nbsp;nbsp;nbsp; border: 1px solid #000;
nbsp;nbsp;nbsp; margin: auto;
}
#box {
nbsp;nbsp;nbsp; width: 200px;
nbsp;nbsp;nbsp; height: 200px;
nbsp;nbsp;nbsp; margin: 150px 200px;
nbsp;nbsp;nbsp; background-color: #0ff;
}nbsp;
nbsp;
2.0、负margin居中(演示)
nbsp;
利用负的margin来进行居中,需要知道固定宽高,限制比较大。
nbsp;
CSS:

#container {
nbsp;nbsp;nbsp; position: relative;
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 500px;
nbsp;nbsp;nbsp; border: 1px solid #000;
nbsp;nbsp;nbsp; margin: auto;
}
#box {
nbsp;nbsp;nbsp; position: absolute;
nbsp;nbsp;nbsp; width: 200px;
nbsp;nbsp;nbsp; height: 200px;
nbsp;nbsp;nbsp; left: 50%;
nbsp;nbsp;nbsp; top: 50%;
nbsp;nbsp;nbsp; margin: -100px -100px;
nbsp;nbsp;nbsp; background-color: #0ff;
}
nbsp;
3.0、绝对定位居中(演示)
nbsp;
利用绝对定位居中,非常常用的一种方法。
nbsp;
CSS:

#container {
nbsp;nbsp;nbsp; position: relative;
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 500px;
nbsp;nbsp;nbsp; border: 1px solid #000;
nbsp;nbsp;nbsp; margin: auto;
}
#box {
nbsp;nbsp;nbsp; position: absolute;
nbsp;nbsp;nbsp; width: 200px;
nbsp;nbsp;nbsp; height: 200px;
nbsp;nbsp;nbsp; left: 0;
nbsp;nbsp;nbsp; top: 0;
nbsp;nbsp;nbsp; right: 0;
nbsp;nbsp;nbsp; bottom: 0;
nbsp;nbsp;nbsp; margin: auto;
nbsp;nbsp;nbsp; background-color: #0ff;
}
nbsp;
4.0、table-cell居中(演示)
nbsp;
利用table-cell来控制垂直居中。
nbsp;
CSS:
nbsp;
#container {
nbsp;nbsp;nbsp; display: table-cell;
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 500px;
nbsp;nbsp;nbsp; vertical-align: middle;
nbsp;nbsp;nbsp; border: 1px solid #000;
}
#box {
nbsp;nbsp;nbsp; width: 200px;
nbsp;nbsp;nbsp; height: 200px;
nbsp;nbsp;nbsp; margin: 0 auto;
nbsp;nbsp;nbsp; background-color: #0ff;
}
nbsp;
5.0、flex居中(演示)
nbsp;
CSS3中引入的新布局方式,比较好用。缺点:IE9以及IE9一下不兼容。
nbsp;
CSS:
nbsp;
#container {
nbsp;nbsp;nbsp; display: -webkit-flex;
nbsp;nbsp;nbsp; display: flex;
nbsp;nbsp;nbsp; -webkit-align-items: center;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; align-items: center;
nbsp;nbsp;nbsp; -webkit-justify-content: center;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; justify-content: center;
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 500px;
nbsp;nbsp;nbsp; border: 1px solid #000;
nbsp;nbsp;nbsp; margin: auto;
}
#box {
nbsp;nbsp;nbsp; width: 200px;
nbsp;nbsp;nbsp; height: 200px;
nbsp;nbsp;nbsp; background-color: #0ff;
}nbsp;
nbsp;
6.0、transform居中(演示)
nbsp;
这种方法灵活运用CSS中transform属性,较为新奇。缺点是IE9下不兼容。
nbsp;
CSS:

#container {
nbsp;nbsp;nbsp; position: relative;
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 600px;
nbsp;nbsp;nbsp; border: 1px solid #000;
nbsp;nbsp;nbsp; margin: auto;
}
#box {
nbsp;nbsp;nbsp; position: relative;
nbsp;nbsp;nbsp; top: 50%;
nbsp;nbsp;nbsp; left: 50%;
nbsp;nbsp;nbsp; width: 200px;
nbsp;nbsp;nbsp; height: 200px;
nbsp;nbsp;nbsp; transform: translate(-50%, -50%);
nbsp;nbsp;nbsp; -webkit-transform: translate(-50%, -50%);
nbsp;nbsp;nbsp; -ms-transform: translate(-50%, -50%);
nbsp;nbsp;nbsp; -moz-transform: translate(-50%, -50%);
nbsp;nbsp;nbsp; background-color: #0ff;
}
nbsp;
7.0、不确定宽高居中(绝对定位百分数)(演示)
nbsp;
这种不确定宽高的居中,较为灵活。只需要保证left和right的百分数一样就可以实现水平居中,保证top和bottom的百分数一样就可以实现垂直居中。
nbsp;
CSS:

#container {
nbsp;nbsp;nbsp; position: relative;
nbsp;nbsp;nbsp; width: 600px;
nbsp;nbsp;nbsp; height: 500px;
nbsp;nbsp;nbsp; border: 1px solid #000;
nbsp;nbsp;nbsp; margin: auto;
}
#box {
nbsp;nbsp;nbsp; position: absolute;
nbsp;nbsp;nbsp; left: 30%;
nbsp;nbsp;nbsp; right: 30%;
nbsp;nbsp;nbsp; top: 25%;
nbsp;nbsp;nbsp; bottom: 25%;
nbsp;nbsp;nbsp; background-color: #0ff;
}
nbsp;
8.0、button居中(演示)
nbsp;
利用button做外容器,里边的块元素会自动垂直居中,只需要控制一下水平居中就可以达到效果。
nbsp;
HTML:
nbsp;
lt;buttongt;
nbsp;nbsp;nbsp; lt;divgt;lt;/divgt;
lt;/buttongt;

CSS:

(编辑:云计算网_韶关站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!