美文网首页web前端HTML+CSScss
CSS面试考点之水平垂直居中对齐

CSS面试考点之水平垂直居中对齐

作者: 团子哒哒 | 来源:发表于2021-06-18 16:39 被阅读0次

    parent 是父元素的类名,child是子元素的类名。

    1、绝对定位

    绝对定位的百分比是相对于父元素的宽高,通过这个特性可以让子元素的居中显示,但绝对定位是基于子元素的左上角,期望的效果是子元素的中心居中显示。我们需要对于子元素进行偏移,所以有定宽和不定宽的区别。

    1)absolute + 负margin(定宽)

    可以借助外边距的负值,负的外边距可以让元素向相反方向定位,通过指定子元素的外边距为子元素宽度一半的负值,就可以让子元素居中了。

    2)absolute + margin auto(定宽)

    这种方式也要求居中元素的宽高必须固定。设置各个方向的距离都是0,此时再将margin设为auto,就可以在各个方向上居中了。

    3)absolute + calc函数(定宽)

    使用 calc() 函数计算 <div> 元素的宽度。

    calc() 函数用于动态计算长度值。

    a、需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);

    b、任何长度值都可以使用calc()函数进行计算;

    c、calc()函数支持 "+", "-", "*", "/" 运算;

    d、calc()函数使用标准的数学运算优先级规则;

    以上的方式都需要知道不需要子元素固定宽高。

    4)absolute + transform(不定宽高)

    使用css3新增的transform,transform的translate属性也可以设置百分比,其是相对于自身的宽和高,所以可以将translate设置为-50%,就可以做到居中了。

    2、flex布局

    通过flex布局,将里面的内容和项居中即可。

    3、grid布局

    相关文章

      网友评论

        本文标题:CSS面试考点之水平垂直居中对齐

        本文链接:https://www.haomeiwen.com/subject/anoxeltx.html