scss全解Element-ui源码BEM函数
CSS To SCSS Converter
SCSS Compiler
switch.scss转switch.css
// =============== config.scss=============== $namespace: 'el'; $element-separator: '__'; $modifier-separator: '--'; $state-prefix: 'is-'; // =============== function.scss=============== @function selectorToString($selector) { $selector: inspect($selector); $selector: str-slice($selector, 2, -2); @return $selector; } @function containsModifier($selector) { $selector: selectorToString($selector); @if str-index($selector, $modifier-separator) { @return true; } @else { @return false; } } @function containWhenFlag($selector) { $selector: selectorToString($selector); @if str-index($selector, '.' + $state-prefix) { @return true } @else { @return false } } @function containPseudoClass($selector) { $selector: selectorToString($selector); @if str-index($selector, ':') { @return true } @else { @return false } } @function hitAllSpecialNestRule($selector) { @return containsModifier($selector) or containWhenFlag($selector) or containPseudoClass($selector); } // ===============var.scss=============== $--all-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) !default; $--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; $--fade-linear-transition: opacity 200ms linear !default; $--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; $--border-transition-base: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !default; $--color-transition-base: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !default; $--color-primary: #409eff !default; $--color-white: #ffffff !default; $--color-black: #000000 !default; $--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; $--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; $--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; $--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; $--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; $--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; $--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; $--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; $--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; $--color-success: #67c23a !default; $--color-warning: #e6a23c !default; $--color-danger: #f56c6c !default; $--color-info: #909399 !default; $--color-success-light: mix($--color-white, $--color-success, 80%) !default; $--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; $--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; $--color-info-light: mix($--color-white, $--color-info, 80%) !default; $--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; $--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; $--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; $--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; $--color-text-primary: #303133 !default; $--color-text-regular: #606266 !default; $--color-text-secondary: #909399 !default; $--color-text-placeholder: #c0c4cc !default; $--border-color-base: #dcdfe6 !default; $--border-color-light: #e4e7ed !default; $--border-color-lighter: #ebeef5 !default; $--border-color-extra-light: #f2f6fc !default; $--background-color-base: #f5f7fa !default; $--link-color: $--color-primary-light-2 !default; $--link-hover-color: $--color-primary !default; $--border-width-base: 1px !default; $--border-style-base: solid !default; $--border-color-hover: $--color-text-placeholder !default; $--border-base: $--border-width-base $--border-style-base $--border-color-base !default; $--border-radius-base: 4px !default; $--border-radius-small: 2px !default; $--border-radius-circle: 100% !default; $--border-radius-zero: 0 !default; $--box-shadow-base: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04) !default; $--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.12) !default; $--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; $--fill-base: $--color-white !default; $--font-path: 'fonts' !default; $--font-display: 'auto' !default; $--font-size-extra-large: 20px !default; $--font-size-large: 18px !default; $--font-size-medium: 16px !default; $--font-size-base: 14px !default; $--font-size-small: 13px !default; $--font-size-extra-small: 12px !default; $--font-weight-primary: 500 !default; $--font-weight-secondary: 100 !default; $--font-line-height-primary: 24px !default; $--font-line-height-secondary: 16px !default; $--font-color-disabled-base: #bbb !default; $--size-base: 14px !default; $--index-normal: 1 !default; $--index-top: 1000 !default; $--index-popper: 2000 !default; $--disabled-fill-base: $--background-color-base !default; $--disabled-color-base: $--color-text-placeholder !default; $--disabled-border-base: $--border-color-light !default; $--icon-color: #666 !default; $--icon-color-base: $--color-info !default; $--checkbox-font-size: 14px !default; $--checkbox-font-weight: $--font-weight-primary !default; $--checkbox-font-color: $--color-text-regular !default; $--checkbox-input-height: 14px !default; $--checkbox-input-width: 14px !default; $--checkbox-border-radius: $--border-radius-small !default; $--checkbox-background-color: $--color-white !default; $--checkbox-input-border: $--border-base !default; $--checkbox-disabled-border-color: $--border-color-base !default; $--checkbox-disabled-input-fill: #edf2fc !default; $--checkbox-disabled-icon-color: $--color-text-placeholder !default; $--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; $--checkbox-disabled-checked-input-border-color: $--border-color-base !default; $--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; $--checkbox-checked-font-color: $--color-primary !default; $--checkbox-checked-input-border-color: $--color-primary !default; $--checkbox-checked-background-color: $--color-primary !default; $--checkbox-checked-icon-color: $--fill-base !default; $--checkbox-input-border-color-hover: $--color-primary !default; $--checkbox-bordered-height: 40px !default; $--checkbox-bordered-padding: 9px 20px 9px 10px !default; $--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; $--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; $--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; $--checkbox-bordered-medium-input-height: 14px !default; $--checkbox-bordered-medium-input-width: 14px !default; $--checkbox-bordered-medium-height: 36px !default; $--checkbox-bordered-small-input-height: 12px !default; $--checkbox-bordered-small-input-width: 12px !default; $--checkbox-bordered-small-height: 32px !default; $--checkbox-bordered-mini-input-height: 12px !default; $--checkbox-bordered-mini-input-width: 12px !default; $--checkbox-bordered-mini-height: 28px !default; $--checkbox-button-checked-background-color: $--color-primary !default; $--checkbox-button-checked-font-color: $--color-white !default; $--checkbox-button-checked-border-color: $--color-primary !default; $--radio-font-size: $--font-size-base !default; $--radio-font-weight: $--font-weight-primary !default; $--radio-font-color: $--color-text-regular !default; $--radio-input-height: 14px !default; $--radio-input-width: 14px !default; $--radio-input-border-radius: $--border-radius-circle !default; $--radio-input-background-color: $--color-white !default; $--radio-input-border: $--border-base !default; $--radio-input-border-color: $--border-color-base !default; $--radio-icon-color: $--color-white !default; $--radio-disabled-input-border-color: $--disabled-border-base !default; $--radio-disabled-input-fill: $--disabled-fill-base !default; $--radio-disabled-icon-color: $--disabled-fill-base !default; $--radio-disabled-checked-input-border-color: $--disabled-border-base !default; $--radio-disabled-checked-input-fill: $--disabled-fill-base !default; $--radio-disabled-checked-icon-color: $--color-text-placeholder !default; $--radio-checked-font-color: $--color-primary !default; $--radio-checked-input-border-color: $--color-primary !default; $--radio-checked-input-background-color: $--color-white !default; $--radio-checked-icon-color: $--color-primary !default; $--radio-input-border-color-hover: $--color-primary !default; $--radio-bordered-height: 40px !default; $--radio-bordered-padding: 12px 20px 0 10px !default; $--radio-bordered-medium-padding: 10px 20px 0 10px !default; $--radio-bordered-small-padding: 8px 15px 0 10px !default; $--radio-bordered-mini-padding: 6px 15px 0 10px !default; $--radio-bordered-medium-input-height: 14px !default; $--radio-bordered-medium-input-width: 14px !default; $--radio-bordered-medium-height: 36px !default; $--radio-bordered-small-input-height: 12px !default; $--radio-bordered-small-input-width: 12px !default; $--radio-bordered-small-height: 32px !default; $--radio-bordered-mini-input-height: 12px !default; $--radio-bordered-mini-input-width: 12px !default; $--radio-bordered-mini-height: 28px !default; $--radio-button-font-size: $--font-size-base !default; $--radio-button-checked-background-color: $--color-primary !default; $--radio-button-checked-font-color: $--color-white !default; $--radio-button-checked-border-color: $--color-primary !default; $--radio-button-disabled-checked-fill: $--border-color-extra-light !default; $--select-border-color-hover: $--border-color-hover !default; $--select-disabled-border: $--disabled-border-base !default; $--select-font-size: $--font-size-base !default; $--select-close-hover-color: $--color-text-secondary !default; $--select-input-color: $--color-text-placeholder !default; $--select-multiple-input-color: #666 !default; $--select-input-focus-border-color: $--color-primary !default; $--select-input-font-size: 14px !default; $--select-option-color: $--color-text-regular !default; $--select-option-disabled-color: $--color-text-placeholder !default; $--select-option-disabled-background: $--color-white !default; $--select-option-height: 34px !default; $--select-option-hover-background: $--background-color-base !default; $--select-option-selected-font-color: $--color-primary !default; $--select-option-selected-hover: $--background-color-base !default; $--select-group-color: $--color-info !default; $--select-group-height: 30px !default; $--select-group-font-size: 12px !default; $--select-dropdown-background: $--color-white !default; $--select-dropdown-shadow: $--box-shadow-light !default; $--select-dropdown-empty-color: #999 !default; $--select-dropdown-max-height: 274px !default; $--select-dropdown-padding: 6px 0 !default; $--select-dropdown-empty-padding: 10px 0 !default; $--select-dropdown-border: solid 1px $--border-color-light !default; $--alert-padding: 8px 16px !default; $--alert-border-radius: $--border-radius-base !default; $--alert-title-font-size: 13px !default; $--alert-description-font-size: 12px !default; $--alert-close-font-size: 12px !default; $--alert-close-customed-font-size: 13px !default; $--alert-success-color: $--color-success-lighter !default; $--alert-info-color: $--color-info-lighter !default; $--alert-warning-color: $--color-warning-lighter !default; $--alert-danger-color: $--color-danger-lighter !default; $--alert-icon-size: 16px !default; $--alert-icon-large-size: 28px !default; $--messagebox-title-color: $--color-text-primary !default; $--msgbox-width: 420px !default; $--msgbox-border-radius: 4px !default; $--messagebox-font-size: $--font-size-large !default; $--messagebox-content-font-size: $--font-size-base !default; $--messagebox-content-color: $--color-text-regular !default; $--messagebox-error-font-size: 12px !default; $--msgbox-padding-primary: 15px !default; $--messagebox-success-color: $--color-success !default; $--messagebox-info-color: $--color-info !default; $--messagebox-warning-color: $--color-warning !default; $--messagebox-danger-color: $--color-danger !default; $--message-shadow: $--box-shadow-base !default; $--message-min-width: 380px !default; $--message-background-color: #edf2fc !default; $--message-padding: 15px 15px 15px 20px !default; $--message-close-icon-color: $--color-text-placeholder !default; $--message-close-size: 16px !default; $--message-close-hover-color: $--color-text-secondary !default; $--message-success-font-color: $--color-success !default; $--message-info-font-color: $--color-info !default; $--message-warning-font-color: $--color-warning !default; $--message-danger-font-color: $--color-danger !default; $--notification-width: 330px !default; $--notification-padding: 14px 26px 14px 13px !default; $--notification-radius: 8px !default; $--notification-shadow: $--box-shadow-light !default; $--notification-border-color: $--border-color-lighter !default; $--notification-icon-size: 24px !default; $--notification-close-font-size: $--message-close-size !default; $--notification-group-margin-left: 13px !default; $--notification-group-margin-right: 8px !default; $--notification-content-font-size: $--font-size-base !default; $--notification-content-color: $--color-text-regular !default; $--notification-title-font-size: 16px !default; $--notification-title-color: $--color-text-primary !default; $--notification-close-color: $--color-text-secondary !default; $--notification-close-hover-color: $--color-text-regular !default; $--notification-success-icon-color: $--color-success !default; $--notification-info-icon-color: $--color-info !default; $--notification-warning-icon-color: $--color-warning !default; $--notification-danger-icon-color: $--color-danger !default; $--input-font-size: $--font-size-base !default; $--input-font-color: $--color-text-regular !default; $--input-width: 140px !default; $--input-height: 40px !default; $--input-border: $--border-base !default; $--input-border-color: $--border-color-base !default; $--input-border-radius: $--border-radius-base !default; $--input-border-color-hover: $--border-color-hover !default; $--input-background-color: $--color-white !default; $--input-fill-disabled: $--disabled-fill-base !default; $--input-color-disabled: $--font-color-disabled-base !default; $--input-icon-color: $--color-text-placeholder !default; $--input-placeholder-color: $--color-text-placeholder !default; $--input-max-width: 314px !default; $--input-hover-border: $--border-color-hover !default; $--input-clear-hover-color: $--color-text-secondary !default; $--input-focus-border: $--color-primary !default; $--input-focus-fill: $--color-white !default; $--input-disabled-fill: $--disabled-fill-base !default; $--input-disabled-border: $--disabled-border-base !default; $--input-disabled-color: $--disabled-color-base !default; $--input-disabled-placeholder-color: $--color-text-placeholder !default; $--input-medium-font-size: 14px !default; $--input-medium-height: 36px !default; $--input-small-font-size: 13px !default; $--input-small-height: 32px !default; $--input-mini-font-size: 12px !default; $--input-mini-height: 28px !default; $--cascader-menu-font-color: $--color-text-regular !default; $--cascader-menu-selected-font-color: $--color-primary !default; $--cascader-menu-fill: $--fill-base !default; $--cascader-menu-font-size: $--font-size-base !default; $--cascader-menu-radius: $--border-radius-base !default; $--cascader-menu-border: solid 1px $--border-color-light !default; $--cascader-menu-shadow: $--box-shadow-light !default; $--cascader-node-background-hover: $--background-color-base !default; $--cascader-node-color-disabled: $--color-text-placeholder !default; $--cascader-color-empty: $--color-text-placeholder !default; $--cascader-tag-background: #f0f2f5; $--group-option-flex: 0 0 (1/5) * 100% !default; $--group-option-offset-bottom: 12px !default; $--group-option-fill-hover: rgba($--color-black, 0.06) !default; $--group-title-color: $--color-black !default; $--group-title-font-size: $--font-size-base !default; $--group-title-width: 66px !default; $--tab-font-size: $--font-size-base !default; $--tab-border-line: 1px solid #e4e4e4 !default; $--tab-header-color-active: $--color-text-secondary !default; $--tab-header-color-hover: $--color-text-regular !default; $--tab-header-color: $--color-text-regular !default; $--tab-header-fill-active: rgba($--color-black, 0.06) !default; $--tab-header-fill-hover: rgba($--color-black, 0.06) !default; $--tab-vertical-header-width: 90px !default; $--tab-vertical-header-count-color: $--color-white !default; $--tab-vertical-header-count-fill: $--color-text-secondary !default; $--button-font-size: $--font-size-base !default; $--button-font-weight: $--font-weight-primary !default; $--button-border-radius: $--border-radius-base !default; $--button-padding-vertical: 12px !default; $--button-padding-horizontal: 20px !default; $--button-medium-font-size: $--font-size-base !default; $--button-medium-border-radius: $--border-radius-base !default; $--button-medium-padding-vertical: 10px !default; $--button-medium-padding-horizontal: 20px !default; $--button-small-font-size: 12px !default; $--button-small-border-radius: #{$--border-radius-base - 1} !default; $--button-small-padding-vertical: 9px !default; $--button-small-padding-horizontal: 15px !default; $--button-mini-font-size: 12px !default; $--button-mini-border-radius: #{$--border-radius-base - 1} !default; $--button-mini-padding-vertical: 7px !default; $--button-mini-padding-horizontal: 15px !default; $--button-default-font-color: $--color-text-regular !default; $--button-default-background-color: $--color-white !default; $--button-default-border-color: $--border-color-base !default; $--button-disabled-font-color: $--color-text-placeholder !default; $--button-disabled-background-color: $--color-white !default; $--button-disabled-border-color: $--border-color-lighter !default; $--button-primary-border-color: $--color-primary !default; $--button-primary-font-color: $--color-white !default; $--button-primary-background-color: $--color-primary !default; $--button-success-border-color: $--color-success !default; $--button-success-font-color: $--color-white !default; $--button-success-background-color: $--color-success !default; $--button-warning-border-color: $--color-warning !default; $--button-warning-font-color: $--color-white !default; $--button-warning-background-color: $--color-warning !default; $--button-danger-border-color: $--color-danger !default; $--button-danger-font-color: $--color-white !default; $--button-danger-background-color: $--color-danger !default; $--button-info-border-color: $--color-info !default; $--button-info-font-color: $--color-white !default; $--button-info-background-color: $--color-info !default; $--button-hover-tint-percent: 20% !default; $--button-active-shade-percent: 10% !default; $--cascader-height: 200px !default; $--switch-on-color: $--color-primary !default; $--switch-off-color: $--border-color-base !default; $--switch-font-size: $--font-size-base !default; $--switch-core-border-radius: 10px !default; $--switch-width: 40px !default; $--switch-height: 20px !default; $--switch-button-size: 16px !default; $--dialog-background-color: $--color-white !default; $--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; $--dialog-title-font-size: $--font-size-large !default; $--dialog-content-font-size: 14px !default; $--dialog-font-line-height: $--font-line-height-primary !default; $--dialog-padding-primary: 20px !default; $--table-border-color: $--border-color-lighter !default; $--table-border: 1px solid $--table-border-color !default; $--table-font-color: $--color-text-regular !default; $--table-header-font-color: $--color-text-secondary !default; $--table-row-hover-background-color: $--background-color-base !default; $--table-current-row-background-color: $--color-primary-light-9 !default; $--table-header-background-color: $--color-white !default; $--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, 0.12) !default; $--pagination-font-size: 13px !default; $--pagination-background-color: $--color-white !default; $--pagination-font-color: $--color-text-primary !default; $--pagination-border-radius: 3px !default; $--pagination-button-color: $--color-text-primary !default; $--pagination-button-width: 35.5px !default; $--pagination-button-height: 28px !default; $--pagination-button-disabled-color: $--color-text-placeholder !default; $--pagination-button-disabled-background-color: $--color-white !default; $--pagination-hover-color: $--color-primary !default; $--popup-modal-background-color: $--color-black !default; $--popup-modal-opacity: 0.5 !default; $--popover-background-color: $--color-white !default; $--popover-font-size: $--font-size-base !default; $--popover-border-color: $--border-color-lighter !default; $--popover-arrow-size: 6px !default; $--popover-padding: 12px !default; $--popover-padding-large: 18px 20px !default; $--popover-title-font-size: 16px !default; $--popover-title-font-color: $--color-text-primary !default; $--tooltip-fill: $--color-text-primary !default; $--tooltip-color: $--color-white !default; $--tooltip-font-size: 12px !default; $--tooltip-border-color: $--color-text-primary !default; $--tooltip-arrow-size: 6px !default; $--tooltip-padding: 10px !default; $--tag-info-color: $--color-info !default; $--tag-primary-color: $--color-primary !default; $--tag-success-color: $--color-success !default; $--tag-warning-color: $--color-warning !default; $--tag-danger-color: $--color-danger !default; $--tag-font-size: 12px !default; $--tag-border-radius: 4px !default; $--tag-padding: 0 10px !default; $--tree-node-hover-background-color: $--background-color-base !default; $--tree-font-color: $--color-text-regular !default; $--tree-expand-icon-color: $--color-text-placeholder !default; $--dropdown-menu-box-shadow: $--box-shadow-light !default; $--dropdown-menuItem-hover-fill: $--color-primary-light-9 !default; $--dropdown-menuItem-hover-color: $--link-color !default; $--badge-background-color: $--color-danger !default; $--badge-radius: 10px !default; $--badge-font-size: 12px !default; $--badge-padding: 6px !default; $--badge-size: 18px !default; $--card-border-color: $--border-color-lighter !default; $--card-border-radius: 4px !default; $--card-padding: 20px !default; $--slider-main-background-color: $--color-primary !default; $--slider-runway-background-color: $--border-color-light !default; $--slider-button-hover-color: mix($--color-primary, black, 97%) !default; $--slider-stop-background-color: $--color-white !default; $--slider-disable-color: $--color-text-placeholder !default; $--slider-margin: 16px 0 !default; $--slider-border-radius: 3px !default; $--slider-height: 6px !default; $--slider-button-size: 16px !default; $--slider-button-wrapper-size: 36px !default; $--slider-button-wrapper-offset: -15px !default; $--steps-border-color: $--disabled-border-base !default; $--steps-border-radius: 4px !default; $--steps-padding: 20px !default; $--menu-item-font-size: $--font-size-base !default; $--menu-item-font-color: $--color-text-primary !default; $--menu-background-color: $--color-white !default; $--menu-item-hover-fill: $--color-primary-light-9 !default; $--rate-height: 20px !default; $--rate-font-size: $--font-size-base !default; $--rate-icon-size: 18px !default; $--rate-icon-margin: 6px !default; $--rate-icon-color: $--color-text-placeholder !default; $--datepicker-font-color: $--color-text-regular !default; $--datepicker-off-font-color: $--color-text-placeholder !default; $--datepicker-header-font-color: $--color-text-regular !default; $--datepicker-icon-color: $--color-text-primary !default; $--datepicker-border-color: $--disabled-border-base !default; $--datepicker-inner-border-color: #e4e4e4 !default; $--datepicker-inrange-background-color: $--border-color-extra-light !default; $--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; $--datepicker-active-color: $--color-primary !default; $--datepicker-hover-font-color: $--color-primary !default; $--datepicker-cell-hover-color: #fff !default; $--loading-spinner-size: 42px !default; $--loading-fullscreen-spinner-size: 50px !default; $--scrollbar-background-color: rgba($--color-text-secondary, 0.3) !default; $--scrollbar-hover-background-color: rgba( $--color-text-secondary, 0.5 ) !default; $--carousel-arrow-font-size: 12px !default; $--carousel-arrow-size: 36px !default; $--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; $--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; $--carousel-indicator-width: 30px !default; $--carousel-indicator-height: 2px !default; $--carousel-indicator-padding-horizontal: 4px !default; $--carousel-indicator-padding-vertical: 12px !default; $--carousel-indicator-out-color: $--border-color-hover !default; $--collapse-border-color: $--border-color-lighter !default; $--collapse-header-height: 48px !default; $--collapse-header-background-color: $--color-white !default; $--collapse-header-font-color: $--color-text-primary !default; $--collapse-header-font-size: 13px !default; $--collapse-content-background-color: $--color-white !default; $--collapse-content-font-size: 13px !default; $--collapse-content-font-color: $--color-text-primary !default; $--transfer-border-color: $--border-color-lighter !default; $--transfer-border-radius: $--border-radius-base !default; $--transfer-panel-width: 200px !default; $--transfer-panel-header-height: 40px !default; $--transfer-panel-header-background-color: $--background-color-base !default; $--transfer-panel-footer-height: 40px !default; $--transfer-panel-body-height: 246px !default; $--transfer-item-height: 30px !default; $--transfer-filter-height: 32px !default; $--header-padding: 0 20px !default; $--footer-padding: 0 20px !default; $--main-padding: 20px !default; $--timeline-node-size-normal: 12px !default; $--timeline-node-size-large: 14px !default; $--timeline-node-color: $--border-color-light !default; $--backtop-background-color: $--color-white !default; $--backtop-font-color: $--color-primary !default; $--backtop-hover-background-color: $--border-color-extra-light !default; $--link-font-size: $--font-size-base !default; $--link-font-weight: $--font-weight-primary !default; $--link-default-font-color: $--color-text-regular !default; $--link-default-active-color: $--color-primary !default; $--link-disabled-font-color: $--color-text-placeholder !default; $--link-primary-font-color: $--color-primary !default; $--link-success-font-color: $--color-success !default; $--link-warning-font-color: $--color-warning !default; $--link-danger-font-color: $--color-danger !default; $--link-info-font-color: $--color-info !default; $--calendar-border: $--table-border !default; $--calendar-selected-background-color: #f2f8fe !default; $--calendar-cell-width: 85px !default; $--form-label-font-size: $--font-size-base !default; $--avatar-font-color: #fff !default; $--avatar-background-color: #c0c4cc !default; $--avatar-text-font-size: 14px !default; $--avatar-icon-font-size: 18px !default; $--avatar-border-radius: $--border-radius-base !default; $--avatar-large-size: 40px !default; $--avatar-medium-size: 36px !default; $--avatar-small-size: 28px !default; $--empty-padding: 40px 0 !default; $--empty-image-width: 160px !default; $--empty-description-margin-top: 20px !default; $--empty-bottom-margin-top: 20px !default; $--descriptions-header-margin-bottom: 20px !default; $--descriptions-title-font-size: 16px !default; $--descriptions-table-border: 1px solid $--border-color-lighter !default; $--descriptions-item-bordered-label-background: #fafafa !default; $--skeleton-color: #f2f2f2 !default; $--skeleton-to-color: #e6e6e6 !default; $--svg-monochrome-grey: #dcdde0 !default; $--result-padding: 40px 30px !default; $--result-icon-font-size: 64px !default; $--result-title-font-size: 20px !default; $--result-title-margin-top: 20px !default; $--result-subtitle-margin-top: 10px !default; $--result-extra-margin-top: 30px !default; $--result-info-color: $--color-info !default; $--result-success-color: $--color-success !default; $--result-warning-color: $--color-warning !default; $--result-danger-color: $--color-danger !default; $--sm: 768px !default; $--md: 992px !default; $--lg: 1200px !default; $--xl: 1920px !default; $--breakpoints: ( 'xs': ( max-width: $--sm - 1, ), 'sm': ( min-width: $--sm, ), 'md': ( min-width: $--md, ), 'lg': ( min-width: $--lg, ), 'xl': ( min-width: $--xl, ), ); $--breakpoints-spec: ( 'xs-only': ( max-width: $--sm - 1, ), 'sm-and-up': ( min-width: $--sm, ), 'sm-only': '(min-width: #{$--sm}) and (max-width: #{$--md - 1})', 'sm-and-down': ( max-width: $--md - 1, ), 'md-and-up': ( min-width: $--md, ), 'md-only': '(min-width: #{$--md}) and (max-width: #{$--lg - 1})', 'md-and-down': ( max-width: $--lg - 1, ), 'lg-and-up': ( min-width: $--lg, ), 'lg-only': '(min-width: #{$--lg}) and (max-width: #{$--xl - 1})', 'lg-and-down': ( max-width: $--xl - 1, ), 'xl-only': ( min-width: $--xl, ), ); // ===============mixins.scss=============== @mixin b($block) { $B: $namespace+'-'+$block !global; .#{$B} { @content; } } @mixin e($element) { $E: $element !global; $selector: &; $currentSelector: ""; @each $unit in $element { $currentSelector: #{$currentSelector + "." + $B + $element-separator + $unit + ","}; } @if hitAllSpecialNestRule($selector) { @at-root { #{$selector} { #{$currentSelector} { @content; } } } } @else { @at-root { #{$currentSelector} { @content; } } } } @mixin m($modifier) { $selector: &; $currentSelector: ""; @each $unit in $modifier { $currentSelector: #{$currentSelector + $selector + $modifier-separator + $unit + ","}; } @at-root { #{$currentSelector} { @content; } } } @mixin when($state) { @at-root { &.#{$state-prefix + $state} { @content; } } } // =============== switch.scss =============== @include b(switch) { display: inline-flex; align-items: center; position: relative; font-size: $--switch-font-size; line-height: $--switch-height; height: $--switch-height; vertical-align: middle; @include when(disabled) { & .el-switch__core, & .el-switch__label { cursor: not-allowed; } } @include e(label) { transition: .2s; height: $--switch-height; display: inline-block; font-size: $--switch-font-size; font-weight: 500; cursor: pointer; vertical-align: middle; color: $--color-text-primary; @include when(active) { color: $--color-primary; } @include m(left) { margin-right: 10px; } @include m(right) { margin-left: 10px; } & * { line-height: 1; font-size: $--switch-font-size; display: inline-block; } } @include e(input) { position: absolute; width: 0; height: 0; opacity: 0; margin: 0; } @include e(core) { margin: 0; display: inline-block; position: relative; width: $--switch-width; height: $--switch-height; border: 1px solid $--switch-off-color; outline: none; border-radius: $--switch-core-border-radius; box-sizing: border-box; background: $--switch-off-color; cursor: pointer; transition: border-color .3s, background-color .3s; vertical-align: middle; &:after { content: ""; position: absolute; top: 1px; left: 1px; border-radius: $--border-radius-circle; transition: all .3s; width: $--switch-button-size; height: $--switch-button-size; background-color: $--color-white; } } @include when(checked) { .el-switch__core { border-color: $--switch-on-color; background-color: $--switch-on-color; &::after { left: 100%; margin-left: -$--switch-button-size - 1px; } } } @include when(disabled) { opacity: 0.6; } @include m(wide) { .el-switch__label { &.el-switch__label--left { span { left: 10px; } } &.el-switch__label--right { span { right: 10px; } } } } & .label-fade-enter, & .label-fade-leave-active { opacity: 0; } }
编译后的switch.css
.el-switch { display: inline-flex; align-items: center; position: relative; font-size: 14px; line-height: 20px; height: 20px; vertical-align: middle; } .el-switch.is-disabled .el-switch__core, .el-switch.is-disabled .el-switch__label { cursor: not-allowed; } .el-switch__label { transition: .2s; height: 20px; display: inline-block; font-size: 14px; font-weight: 500; cursor: pointer; vertical-align: middle; color: #303133; } .el-switch__label.is-active { color: #409eff; } .el-switch__label--left { margin-right: 10px; } .el-switch__label--right { margin-left: 10px; } .el-switch__label * { line-height: 1; font-size: 14px; display: inline-block; } .el-switch__input { position: absolute; width: 0; height: 0; opacity: 0; margin: 0; } .el-switch__core { margin: 0; display: inline-block; position: relative; width: 40px; height: 20px; border: 1px solid #dcdfe6; outline: none; border-radius: 10px; box-sizing: border-box; background: #dcdfe6; cursor: pointer; transition: border-color .3s, background-color .3s; vertical-align: middle; } .el-switch__core:after { content: ""; position: absolute; top: 1px; left: 1px; border-radius: 100%; transition: all .3s; width: 16px; height: 16px; background-color: #ffffff; } .el-switch.is-checked .el-switch__core { border-color: #409eff; background-color: #409eff; } .el-switch.is-checked .el-switch__core::after { left: 100%; margin-left: -17px; } .el-switch.is-disabled { opacity: 0.6; } .el-switch--wide .el-switch__label.el-switch__label--left span { left: 10px; } .el-switch--wide .el-switch__label.el-switch__label--right span { right: 10px; } .el-switch .label-fade-enter, .el-switch .label-fade-leave-active { opacity: 0; }
scss中声明变量
Scss 基本使用 ( @extend、 @mixin、@import、@if、@for、@while、@each )
element-ui源码解读-基于scss的bem方法的实现
Scss学习--关于Scss指令@mixin、@include、@content、@function
Scss学习--定义变量!default、!global、!optional
Scss中的指令@import、@media、@extend 继承、@mixin、@include
浙公网安备 33010602011771号