154 lines
3.1 KiB
SCSS
154 lines
3.1 KiB
SCSS
// sass 混合宏(函数)
|
||
|
||
/**
|
||
* 溢出省略号
|
||
* @param {Number} 行数
|
||
*/
|
||
@mixin ellipsis($rowCount: 1) {
|
||
@if $rowCount <=1 {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
} @else {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: $rowCount;
|
||
-webkit-box-orient: vertical;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 控制用户能否选中文本
|
||
* @param {String} 类型
|
||
*/
|
||
@mixin userSelect($value: none) {
|
||
user-select: $value;
|
||
-moz-user-select: $value;
|
||
-ms-user-select: $value;
|
||
-webkit-user-select: $value;
|
||
}
|
||
|
||
// 绝对定位居中
|
||
@mixin absoluteCenter() {
|
||
position: absolute;
|
||
left: 0;
|
||
right: 0;
|
||
top: 0;
|
||
bottom: 0;
|
||
margin: auto;
|
||
}
|
||
|
||
/**
|
||
* css3动画
|
||
*
|
||
*/
|
||
@mixin animation(
|
||
$from: (
|
||
width: 0px
|
||
),
|
||
$to: (
|
||
width: 100px
|
||
),
|
||
$name: mymove,
|
||
$animate: mymove 2s 1 linear infinite
|
||
) {
|
||
-webkit-animation: $animate;
|
||
-o-animation: $animate;
|
||
animation: $animate;
|
||
|
||
@keyframes #{$name} {
|
||
from {
|
||
@each $key, $value in $from {
|
||
#{$key}: #{$value};
|
||
}
|
||
}
|
||
|
||
to {
|
||
@each $key, $value in $to {
|
||
#{$key}: #{$value};
|
||
}
|
||
}
|
||
}
|
||
|
||
@-webkit-keyframes #{$name} {
|
||
from {
|
||
@each $key, $value in $from {
|
||
$key: $value;
|
||
}
|
||
}
|
||
|
||
to {
|
||
@each $key, $value in $to {
|
||
$key: $value;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// 圆形盒子
|
||
@mixin circle($size: 11px, $bg: #FFFFFF) {
|
||
border-radius: 50%;
|
||
width: $size;
|
||
height: $size;
|
||
line-height: $size;
|
||
text-align: center;
|
||
background: $bg;
|
||
}
|
||
|
||
// placeholder
|
||
@mixin placeholder($color: #BBBBBB) {
|
||
// Firefox
|
||
&::-moz-placeholder {
|
||
color: $color;
|
||
opacity: 1;
|
||
}
|
||
|
||
// Internet Explorer 10+
|
||
&:-ms-input-placeholder {
|
||
color: $color;
|
||
}
|
||
|
||
// Safari and Chrome
|
||
&::-webkit-input-placeholder {
|
||
color: $color;
|
||
}
|
||
|
||
&:placeholder-shown {
|
||
text-overflow: ellipsis;
|
||
}
|
||
}
|
||
|
||
//背景透明,文字不透明。兼容IE8
|
||
@mixin betterTransparentize($color, $alpha) {
|
||
$c: rgba($color, $alpha);
|
||
$ie_c: ie_hex_str($c);
|
||
background: rgba($color, 1);
|
||
background: $c;
|
||
background: transparent \9
|
||
;
|
||
zoom: 1;
|
||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#{$ie_c}, endColorstr=#{$ie_c});
|
||
-ms-filter: 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#{$ie_c}, endColorstr=#{$ie_c})';
|
||
}
|
||
|
||
//添加浏览器前缀
|
||
@mixin browserPrefix($propertyName, $value) {
|
||
@each $prefix in -webkit-, -moz-, -ms-, -o-, '' {
|
||
#{$prefix}#{$propertyName}: $value;
|
||
}
|
||
}
|
||
|
||
// 边框
|
||
@mixin border($color: red) {
|
||
border: 1px solid $color;
|
||
}
|
||
|
||
// 背景滤镜
|
||
@mixin backdropBlur() {
|
||
--tw-backdrop-blur: blur(30px);
|
||
-webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
||
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
||
}
|