css中已知宽高的子元素水平垂直居中的三种方法
2017-08-04 22:33
381 查看
元素水平垂直居中三种的方法
设置两个盒子,关系是父与子:<body> <div id="wrap"> <div id="inner"> inner </div> </div> </body>
方法一:
将父元素的width和height设置的和子元素的大小一样,然后设置父元素wrap的padding。此时padding会将子元素挤进父元素的中间位置;
此时父、子元素的定位是否开启都可以;
*{ margin: 0; padding: 0; } #wrap{ width: 100px; height: 100px; /*将padding设置,来挤出来居中的样子;但是要注意的是,此时的width和height要和子元素的大小一样,否则还是不居中*/ padding: 100px; border: 1px solid; margin: 100px auto; } #inner{ width: 100px; height: 100px; background: pink; line-height: 100px; text-align: center; }
方法二:
父元素相对定位,子元素绝对定位;
绝对定位盒子模型有个特点:left+right+width+padding+margin=包含块的宽度;所以此时可以将left、right(默认值为auto,所以需要重设置)设置为0,而padding已经确定(未设置时默认值为0px),所以剩下的都是margin,但是margin的默认值是0px。所以就将magin设为auto,使得元素自动居中了;
即:left、right、top、bottom为0;margin为auto;
*{margin: 0;padding: 0;} #wrap{ position: relative; width: 200px; height: 200px; /*padding: 100px;*/ border: 1px solid; margin: 100px auto; } #inner{ position: absolute; /*left+right+width+padding+margin=包含块的宽度*/ /*0 0 100 0 auto =300*/ left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 100px; height: 100px; background: pink; line-height: 100px; text-align: center; }
方法三:
父元素相对定位,子元素绝对定位;
将子元素left和right直接设为50%,相对的是父元素;
然后在使用margin-left和margin-top设为子元素的一半的负数。就是将偏离父元素中心的那段拽回来;
#inner{ position: absolute; left: 50%; top: 50%; margin-left: -50px; margin-top: -50px; width: 100px; height: 100px; background: pink; line-height: 100px; text-align: center; }
(待扩充)
相关文章推荐
- css中已知宽高的子元素水平垂直居中的三种方法
- css中已知宽高的子元素水平垂直居中的三种方法
- css中已知宽高的子元素水平垂直居中的三种方法
- css中已知宽高的子元素水平垂直居中的三种方法
- css中已知宽高的子元素水平垂直居中的三种方法
- css中已知宽高的子元素水平垂直居中的三种方法
- css元素的垂直水平居中;flex 已知元素宽高 未知元素宽高
- CSS实现父级元素属性display为block的元素垂直和水平居中的三种方法
- 编写css让一个已知宽高的div元素水平居中?垂直居中
- CSS使元素水平垂直居中的方法
- 元素的垂直水平居中的三种方法
- css几种方法使元素水平垂直居中
- css 实现元素水平垂直居中总结5中方法
- CSS实现元素水平、垂直居中的方法
- css设置元素水平垂直居中的方法
- CSS实现元素水平/垂直居中的方法
- CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)
- css中元素水平垂直居中4种方法介绍
- CSS实现元素水平/垂直居中的方法
- 元素居中的三种方法(包括垂直居中和水平居中)