amis/scss/components/_audio.scss
吴多益 33686a375e
SCSS 基于 CSS custom properties 重构,支持通过配置来控制展现风格 (#1190)
* 使用自定义 css 属性初步,支持大部分组件的展现

* button 大部分可以看了

* cxd 和 dark 大部分正常

* 修复一些细节样式错误;补充 css 变量的文档

* 修复几个脚本发现的错误

* 完善一下注释

* 修复一些样式不一致问题

* 修复可能存在的 css xss

* 恢复 font-variant 功能

* 修复绝大部分 @if 相关的问题

* 恢复之前的注释

* 修复小错误,并将所有 background-color 改成 background,这样就能设置渐变色

* 修复 button group 在 cxd 下不一致问题

* 缩小查看配置和复制配置的宽度,留出更多空间

* 修复一些潜在的错误

* 恢复 utilities 中 label 背景色的设置

* 修复错误的 css 变量

* 补充 IE11 Variables Polyfill
2020-12-21 10:08:40 +08:00

147 lines
3.0 KiB
SCSS

@mixin input-range {
-webkit-appearance: none;
outline: none;
border: none;
padding: 0;
background: none;
&::-webkit-slider-runnable-track {
background: var(--Audio-track-bg);
height: var(--Audio-track-height);
border-radius: var(--Audio-track-borderRadius);
border: var(--Audio-track-border);
}
&::-webkit-slider-thumb {
-webkit-appearance: none !important;
border-radius: 100%;
cursor: pointer;
background: var(--Audio-thumb-bg);
width: var(--Audio-thumb-width);
height: var(--Audio-thumb-height);
margin-top: var(--Audio-thumb-marginTop);
}
}
@mixin svg {
width: var(--Audio-svg-width);
height: var(--Audio-svg-height);
position: relative;
top: var(--Audio-svg-top);
}
.#{$ns}Audio-original {
display: none;
}
.#{$ns}Audio--inline {
display: inline-block;
}
.#{$ns}Audio {
box-sizing: border-box;
height: var(--Audio-height);
line-height: var(--Audio-lineHeight);
border: var(--Audio-border);
padding-left: var(--Audio-item-margin);
overflow: hidden;
&-controls {
display: flex;
flex-direction: row;
align-items: center;
}
&-rates {
width: var(--Audio-rate-width);
height: var(--Audio-rate-height);
text-align: center;
background: var(--Audio-rate-bg);
cursor: pointer;
margin-right: var(--Audio-item-margin);
}
&-rateControl {
margin-right: var(--Audio-item-margin);
&::after {
clear: both;
content: '';
}
.#{$ns}Audio-rateControlItem {
width: var(--Audio-rate-width);
height: var(--Audio-rate-height);
background: var(--Audio-rate-bg);
cursor: pointer;
text-align: center;
float: left;
box-sizing: border-box;
border-right: var(--Audio-rateControlItem-borderRight);
}
}
&-play {
width: var(--Audio-play-width);
cursor: pointer;
margin-right: var(--Audio-item-margin);
svg {
@include svg();
}
}
&-times {
min-width: var(--Audio-times-width);
margin-right: var(--Audio-item-margin);
cursor: default;
flex-shrink: 0;
}
&-process {
flex: auto;
cursor: pointer;
min-width: var(--Audio-process-minWidth);
margin-right: var(--Audio-item-margin);
input[type='range'] {
@include input-range();
}
}
&-volume {
width: var(--Audio-volume-width);
height: var(--Audio-volume-height);
line-height: var(--Audio-volume-lineHeight);
cursor: pointer;
margin-right: var(--Audio-item-margin);
svg {
@include svg();
}
}
&-volumeControl {
display: flex;
flex-direction: row;
align-items: center;
width: var(--Audio-volumeControl-width);
height: var(--Audio-volume-height);
line-height: var(--Audio-volume-lineHeight);
margin-right: var(--Audio-item-margin);
input[type='range'] {
@include input-range();
}
.#{$ns}Audio-volumeControlIcon {
margin-right: var(--Audio-item-margin);
cursor: pointer;
}
svg {
@include svg();
}
}
}