设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

利用CSS的Sass预处理器(框架)来制作居中效果(6)

发布时间:2020-03-17 09:56 所属栏目:52 来源:站长网
导读:注意!上面代码中的 #{0 0} 实际上一种容错措施,如果直接使用 0 0 的话,Sass 解析器会尝试进行数值运算(在这里会自动进行 0 -($height / 2) 的数学运算),进而导致我们得到 margin: mt 0 ml; 而不是想要得到的

注意!上面代码中的 #{0 0} 实际上一种容错措施,如果直接使用 0 0 的话,Sass 解析器会尝试进行数值运算(在这里会自动进行 0 -($height / 2) 的数学运算),进而导致我们得到 margin: mt 0 ml; 而不是想要得到的 margin: mt 0 0 ml;。
深入浅出

基本的功能实现后,我们还可以添加更多的特性,比如添加 @support 来检查浏览器对 CSS transform 的支持度,进而可以根据 CSS transform 的支持度输出相应的条件样式。此外,我们还可以更严谨地去测试出入的参数是否是有效数值……

使用 Flexbox

看到 Flexbox 这个词是不是就很兴奋啊,少年!确实,使用 Flexbox 确实是最简单的方式,它和前面方法主要的差别在于,使用 Flexbox 需要为父容器设定相关样式,而使用前面的方法则主要是为子元素设定相关样式(当然,父容器需要被设定为除 static 之外的任意 position)。

使用 Flexbox 实现子元素的居中效果,只需三行代码:

CSS Code复制内容到剪贴板

@mixin center-children {   

    display: flex;   

    justify-content: center;   

    align-items: center;   

}   

由于 Flexbox 还是比较新的属性,那么添加上相关的浏览器前缀的话,会让它拥有更广泛的兼容性。

CSS Code复制内容到剪贴板

.parent {   

    @include center-children;   

}  

正如你料想的那样,就这么简单我们就实现了:

CSS Code复制内容到剪贴板

.parent {   

    display: flex;   

    justify-content: center;   

    align-items: center;   

}  

总结

我们就想要一个简短的 mixin 让元素在父容器中居中,我们做到了,而且做的更好。它不仅仅简单易用无副作用,而且提供了良好的开发接口。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读