css 水平垂直居中各种方法实现方式
不定宽高水平垂直居中?
面试题回答方式:
通过 display:flex;justify-content:center; align-items:center;就可以让子元素不定宽高水平垂直居中
也可以父 display:flex;,子设置一个 margin:auto;
通过 css3,给父元素设置相对定位,给子元素设置绝对定位,left:50% top:50% 通过 transform:translate(-50%,-50%)拉回自身的宽和高的一半。
通过给父元素设置 display:table-cell; vertical-align:middle text-align:center 给子元素设置 vertical-align:middle text-align:center。就可以让子元素不定宽高水平垂直居中了。
文字在垂直和水平方向重叠的两个属性分别是什么?
垂直方向:line-height。设置成比字体高度还小就可以让两行重叠水平方向:letter-spacing。设置为负值即可实现重叠。
如何居中 div
具体实现方式:
水平居中方法 1
给 div 设置一个宽度,然后添加 margin:0 auto; 属性
水平居中方法 2
让绝对定位的 div 居中
水平垂直居中方法 1
水平垂直居中方法 2
水平垂直居中方法 3
为什么 margin: 0 auto 会让 div 居中
margin 可以有 4 个值,分别对应影响的方向是上,右,下,左, 2 个值的时候,对应第一个值是 控制上下距离,第二个值是控制左右, 所以 magrgin:0 auto, 就是上下距离为 0,auto 是自适应,这里指的是左右两个方向的距离一样,也就是说,不论你的宽度怎么变化,都是两个方向距离一样,形成居中。
注意:
要给居中元素一个宽度,否则无效
该元素不可以浮动,否则无效
版权声明: 本文为 InfoQ 作者【肥晨】的原创文章。
原文链接:【http://xie.infoq.cn/article/5486c8c03951321849d0e7d26】。文章转载请联系作者。
评论