水平居中
文本水平居中
1 | <style> |
1 | <div class="box"> |
结果如下:
无论是单行还是多行文本,都可以用text-align: center; 控制文本居中。img等行内级别的元素都满足这个规律。
块级子盒子在父盒子中居中
根据块级盒子的特性,当我们不设置盒子宽度的时候,默认宽度为父亲盒子的100%。所以我们必须设置块级子盒子的宽度才能让其居中。
块级子盒子宽度小于父盒子宽度
1 | <style> |
1 | <div class="box"> |
效果如图:
我上面用来 margin: 0 auto 的方法来居中,同时也可以用给子盒子设置左右相同的margin,margin值正好等于父盒子和子盒子宽度差值的一半。 来居中。即margin-left: 150px; margin-right: 150px;
块级子盒子宽度大于父盒子宽度
当块级子盒子的宽度大于父盒子的时候,子盒子会溢出:
1 | .box{ |
此时再写margin: 0 auto; 盒子不会变化。因为auto的作用是让盒子的外边距无限撑到允许值的最大 如果我们写了margin : 0 auto; 这时候在浏览器中可以看到margin-left的值为0,margin-right的值为-306.这是因为margin要和父盒子的右边框对齐,所以会出现margin-right的值是-306.
此时,一般我们用定位的方法来居中:
1 | <style> |
这是使用定位方式,加上对应方向的margin方向值是子盒子的一半的负值。定位的属性值包括relative、absolute都能实现。
垂直居中
单行文本垂直居中
1 | <style> |
1 | <div class="box"> |
效果如下:
设置行高和文本的盒子高度一致,即可达到垂直居中。
多行文字垂直居中
不太了解,之后再写。。。。