单个块级元素的居中
@mixin center-block() {
display: block;
margin-left: auto;
margin-right: auto;
}
多个块级元素占一行
用 display: inline-block
来实现
@mixin row($parent-selector, $item-selector, $font-size: 12px, $vertical-align: top) {
#{$parent-selector} {
font-size: 0;// 防止子元素的空白元素占据空间
}
#{$item-selector} {
display: inline-block;
vertical-align: $vertical-align;// 防止子元素高度不同导致的奇怪的对齐
font-size: $font-size;
}
}
用 flex 来实现
@mixin row() {
display: flex;
}
多个块级元素的居中
用 display: inline-block
来实现
@mixin center-blocks($parent-selector, $item-selector, $font-size: 12px, $vertical-align: top) {
@include row($parent-selector, $item-selector, $font-size: 12px, $vertical-align: top);
#{$parent-selector} {
text-align: center;
}
}
用 flex 来实现
@mixin center-blocks($parent-selector) {
#{$parent-selector} {
@include row;
justify-content: center;
}
}
两端对齐
用 display: inline-block
来实现
@mixin justify-blocks($parent-selector, $item-selector, $font-size: 12px, $vertical-align: top) {
@include row($parent-selector, $item-selector, $font-size: 12px, $vertical-align: top);
#{$parent-selector} {
text-align: justify;
&:after {
content: '';
display: inline-block;
width: 100%;
}
}
}
用 flex 来实现
@mixin justify-blocks($parent-selector) {
#{$parent-selector} {
@include row;
justify-content: space-between;
}
}
多个块级元素占一行,某个元素占据剩余部分
用 display: table
来实现
@mixin item-fill($parent-selector, $item-selector, $fill-item-selector, $vertical-align: top) {
#{$parent-selector} {
display: table; // 兼容性相当好。IE8+ 都支持 http://caniuse.com/#feat=css-table
}
#{$item-selector} {
display: table-cell; // 兼容性相当好。IE8+ 都支持 http://caniuse.com/#feat=css-table
vertical-align: $vertical-align;
}
#{$fill-item-selector} {
width: 100%;
}
}
用 flex 来实现
@mixin item-fill($parent-selector, $fill-item-selector) {
#{$parent-selector} {
@include row;
}
#{$fill-item-selector} {
-webkit-flex-grow: 1;
flex-grow: 1;
}
}
完整源码
参考链接
本文遵守创作共享CC BY-NC-SA 4.0协议
网络平台如需转载必须与本人联系确认。
点击查看更多内容
6人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦