Browse Source

Theme-default: add variables

Leopoldthecoder 8 years ago
parent
commit
0eb6b5b3ce

+ 1 - 1
examples/docs/zh-cn/select.md

@@ -306,7 +306,7 @@
 
 适用性较广的基础多选,用 Tag 展示已选项
 
-:::demo 为`el-select`设置`nultiple`属性即可启用多选,此时`v-model`的值为当前选中值所组成的数组
+:::demo 为`el-select`设置`multiple`属性即可启用多选,此时`v-model`的值为当前选中值所组成的数组
 ```html
 <template>
   <el-select v-model="value5" multiple>

+ 16 - 16
packages/theme-default/src/alert.css

@@ -5,12 +5,12 @@
 
   @b alert {
     width: 100%;
-    padding: 8px 16px;
+    padding: var(--alert-padding);
     margin: 0;
     box-sizing: border-box;
-    border-radius: 4px;
+    border-radius: var(--alert-border-radius);
     position: relative;
-    background-color: #fff;
+    background-color: var(--color-white);
     overflow: hidden;
     color: #fff;
     opacity: 1;
@@ -18,19 +18,19 @@
     transition: opacity .2s;
 
     @modifier success {
-      background-color: var(--color-success);
+      background-color: var(--alert-success-color);
     }
 
     @modifier info {
-      background-color: var(--color-info);
+      background-color: var(--alert-info-color);
     }
 
     @modifier warning {
-      background-color: var(--color-warning);
+      background-color: var(--alert-warning-color);
     }
 
     @modifier error {
-      background-color: var(--color-danger);
+      background-color: var(--alert-danger-color);
     }
 
     @e content {
@@ -39,19 +39,19 @@
     }
 
     @e icon {
-      font-size: 16px;
-      width: 16px;
+      font-size: var(--alert-icon-size);
+      width: var(--alert-icon-size);
       display: table-cell;
-      color: #fff;
+      color: var(--color-white);
       vertical-align: middle;
       @when big {
-        font-size: 28px;
-        width: 28px;
+        font-size: var(--alert-icon-large-size);
+        width: var(--alert-icon-large-size);
       }
     }
 
     @e title {
-      font-size: 13px;
+      font-size: var(--alert-title-font-size);
       line-height: 18px;
       @when bold {
         font-weight: bold;
@@ -60,12 +60,12 @@
 
     & .el-alert__description {
       color: #fff;
-      font-size: 12px;
+      font-size: var(--alert-description-font-size-font-size);
       margin: 5px 0 0 0;
     }
 
     @e closebtn {
-      font-size: 12px;
+      font-size: var(--alert-close-font-size);
       color: #fff;
       opacity: 1;
       position: absolute 12px 15px * *;
@@ -73,7 +73,7 @@
 
       @when customed {
         font-style: normal;
-        font-size: 13px;
+        font-size: var(--alert-close-customed-font-size);
         top: 9px;
       }
     }

+ 205 - 79
packages/theme-default/src/common/var.css

@@ -1,7 +1,6 @@
 :root {
 
-  /*
-    Transition
+  /* Transition
   -------------------------- */
   --fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1);
   --fade-linear-transition: opacity 200ms linear;
@@ -33,11 +32,18 @@
   --border-width-base: 1px;
   --border-style-base: solid;
   --border-color-base: var(--color-grey);
+  --border-color-hover: #8492a6;
   --border-base: var(--border-width-base) var(--border-style-base) var(--border-color-base);
   --border-radius-base: 4px;
+  --border-radius-small: 2px;
   --border-radius-circle: 100%;
   --shadow-base: 0 0 2px rgba(var(--color-black), 0.18), 0 0 1px var(--color-blue-light);
 
+  /* Box-shadow
+  -------------------------- */
+  --box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
+  --box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12);
+
   /* Fill
   -------------------------- */
   --fill-base: var(--color-white);
@@ -124,6 +130,105 @@
 
   --radio-button-font-size: var(--font-size-base);
 
+  /* Select
+  -------------------------- */
+  --select-border-color-hover: var(--border-color-hover);
+  --select-disabled-border: var(--disabled-border-base);
+  --select-font-size: var(--font-size-base);
+  --select-close-hover-color: #99a9bf;
+
+  --select-input-color: var(--color-grey);
+  --select-multiple-input-color: #666;
+  --select-input-focus-background: #2ea0ff;
+  --select-input-font-size: 12px;
+
+  --select-tag-height: 24px;
+  --select-tag-color: var(--color-white);
+  --select-tag-background: var(--color-primary);
+
+  --select-option-color: #475669;
+  --select-option-disabled-color: var(--color-grey);
+  --select-option-height: 36px;
+  --select-option-hover-background: #e5e9f2;
+  --select-option-selected: var(--color-primary);
+  --select-option-selected-hover: #1D8CE0;
+
+  --select-group-color: #999;
+  --select-group-height: 30px;
+  --select-group-font-size: 12px;
+
+  --select-dropdown-background: var(--color-white);
+  --select-dropdown-shadow: var(--box-shadow-base);
+  --select-dropdown-empty-color: #999;
+  --select-dropdown-max-height: 274px;
+  --select-dropdown-padding: 6px 0;
+  --select-dropdown-empty-padding: 10px 0;
+  --select-dropdown-border: solid 1px #d3dce6;
+
+  /* Alert
+  -------------------------- */
+  --alert-padding: 8px 16px;
+  --alert-border-radius: var(--border-radius-base);
+  --alert-title-font-size: 13px;
+  --alert-description-font-size: 12px;
+  --alert-close-font-size: 12px;
+  --alert-close-customed-font-size: 13px;
+
+  --alert-success-color: var(--color-success);
+  --alert-info-color: var(--color-info);
+  --alert-warning-color: var(--color-warning);
+  --alert-danger-color: var(--color-danger);
+
+  --alert-icon-size: 16px;
+  --alert-icon-large-size: 28px;
+
+  /* Message Box
+  -------------------------- */
+  --msgbox-width: 420px;
+  --msgbox-border-radius: 3px;
+  --msgbox-font-size: 16px;
+  --msgbox-content-font-size: 14px;
+  --msgbox-content-color: #475669;
+  --msgbox-error-font-size: 12px;
+
+  --msgbox-success-color: var(--color-success);
+  --msgbox-info-color: var(--color-info);
+  --msgbox-warning-color: var(--color-warning);
+  --msgbox-danger-color: var(--color-danger);
+
+  /* Message
+  -------------------------- */
+  --message-shadow: var(--box-shadow-base);
+  --message-min-width: 300px;
+  --message-padding: 10px 12px;
+  --message-content-color: #8492a6;
+  --message-close-color: var(--color-grey);
+  --message-close-hover-color: #99A9BF;
+
+  --message-success-color: var(--color-success);
+  --message-info-color: var(--color-info);
+  --message-warning-color: var(--color-warning);
+  --message-danger-color: var(--color-danger);
+
+  /* Notification
+  -------------------------- */
+  --notification-width: 330px;
+  --notification-padding: 20px;
+  --notification-shadow: var(--box-shadow-base);
+  --notification-icon-size: 40px;
+  --notification-font-size: var(--font-size-base);
+  --notification-color: #8492a6;
+  --notification-title-font-size: 16px;
+  --notification-title-color: #1f2d3d;
+
+  --notification-close-color: var(--color-grey);
+  --notification-close-hover-color: #99A9BF;
+
+  --notification-success-color: var(--color-success);
+  --notification-info-color: var(--color-info);
+  --notification-warning-color: var(--color-warning);
+  --notification-danger-color: var(--color-danger);
+
   /* Input
   -------------------------- */
   --input-font-size: var(--font-size-base);
@@ -134,7 +239,7 @@
   --input-border: var(--border-base);
   --input-border-color: var(--border-color-base);
   --input-border-radius: var(--border-radius-base);
-  --input-border-color-hover: #8492A6;
+  --input-border-color-hover: var(--border-color-hover);
   --input-fill: #fff;
   --input-fill-disabled: var(--disabled-fill-base);
   --input-color-disabled: var(--font-color-disabled-base);
@@ -142,7 +247,7 @@
   --input-placeholder-color: #99a9bf;
   --input-max-width: 314px;
 
-  --input-hover-border: #8492A6;
+  --input-hover-border: var(--border-color-hover);
 
   --input-focus-border: var(--color-primary);
   --input-focus-fill: #fff;
@@ -182,13 +287,6 @@
   --cascader-menu-option-pinyin-color: #999;
   --cascader-menu-submenu-shadow: 1px 1px 2px rgba(var(--color-black), 0.14), 1px 0 2px rgba(var(--color-black), 0.14);
 
-  /* Tag
-  -------------------------- */
-  --tag-color: var(--font-color-base);
-  --tag-fill: #e2e2e2;
-  --tag-border-radius: var(--border-radius-base);
-  --tag-close-color: #666;
-
   /* Group
   -------------------------- */
   --group-option-flex: 0 0 (1/5) * 100%;
@@ -279,10 +377,23 @@
   --switch-disabled-color: #E5E9F3;
   --switch-disabled-text-color: #F9FAFC;
 
+  --switch-font-size: var(--font-size-base);
+  --switch-core-border-radius: 12px;
+  --switch-size: 46px 22px;
+  --switch-button-size: 16px;
+
   /* Dialog
  -------------------------- */
   --dialog-background-color: var(--color-blue);
   --dialog-footer-background: var(--color-blue-lighter);
+  --dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
+  --dialog-tiny-width: 30%;
+  --dialog-small-width: 50%;
+  --dialog-large-width: 90%;
+  --dialog-close-color: var(--color-grey);
+  --dialog-close-hover-color: var(--color-primary);
+  --dialog-title-font-size: 16px;
+  --dialog-font-size: 14px;
 
   /* Table
  -------------------------- */
@@ -297,7 +408,6 @@
   --pagination-color: #475669;
   --pagination-border-radius: 2px;
   --pagination-button-color: #99a9bf;
-  --pagination-button-disabled-color: #D3DCE6;
   --pagination-button-size: 28px;
   --pagination-button-disabled-color: #e4e4e4;
   --pagination-button-disabled-fill: var(--color-white);
@@ -316,7 +426,7 @@
   --popover-title-color: #1f2d3d;
 
   /* Tooltip
-   -------------------------- */
+  -------------------------- */
   --tooltip-fill: #1f2d3d;
   --tooltip-color: #fff;
   --tooltip-font-size: 12px;
@@ -325,77 +435,93 @@
   --tooltip-padding: 10px;
 
   /* Tag
-   -------------------------- */
-    --tag-padding: 0 5px;
-    --tag-fill: #8492a6;
-    --tag-border: #8492a6;
-    --tag-color: #fff;
-    --tag-font-size: 12px;
-    --tag-border-radius: 4px;
-
-    --tag-gray-fill: #e5e9f2;
-    --tag-gray-border: #e5e9f2;
-    --tag-gray-color: #475669;
-
-    --tag-primary-fill: rgba(32,159,255,0.10);
-    --tag-primary-border: rgba(32,159,255,0.20);
-    --tag-primary-color: #20a0ff;
-
-    --tag-success-fill: rgba(18,206,102,0.10);
-    --tag-success-border: rgba(18,206,102,0.20);
-    --tag-success-color: #13ce66;
-
-    --tag-warning-fill: rgba(247,186,41,0.10);
-    --tag-warning-border: rgba(247,186,41,0.20);
-    --tag-warning-color: #f7ba2a;
-
-    --tag-danger-fill: rgba(255,73,73,0.10);
-    --tag-danger-border: rgba(255,73,73,0.20);
-    --tag-danger-color: #ff4949;
+  -------------------------- */
+  --tag-padding: 0 5px;
+  --tag-fill: #8492a6;
+  --tag-border: #8492a6;
+  --tag-color: #fff;
+  --tag-close-color: #666;
+  --tag-font-size: 12px;
+  --tag-border-radius: 4px;
+
+  --tag-gray-fill: #e5e9f2;
+  --tag-gray-border: #e5e9f2;
+  --tag-gray-color: #475669;
+
+  --tag-primary-fill: rgba(32,159,255,0.10);
+  --tag-primary-border: rgba(32,159,255,0.20);
+  --tag-primary-color: #20a0ff;
+
+  --tag-success-fill: rgba(18,206,102,0.10);
+  --tag-success-border: rgba(18,206,102,0.20);
+  --tag-success-color: #13ce66;
+
+  --tag-warning-fill: rgba(247,186,41,0.10);
+  --tag-warning-border: rgba(247,186,41,0.20);
+  --tag-warning-color: #f7ba2a;
+
+  --tag-danger-fill: rgba(255,73,73,0.10);
+  --tag-danger-border: rgba(255,73,73,0.20);
+  --tag-danger-color: #ff4949;
 
   /* Dropdown
-   -------------------------- */
-    --dropdown-menu-box-shadow: 0 0 6px 0 rgba(0,0,0,.12), 0 2px 4px 0 rgba(0,0,0,.12);
-    --dropdown-menuItem-hover-fill: #e5e9f2;
-    --dropdown-menuItem-hover-color: #475669;
+  -------------------------- */
+  --dropdown-menu-box-shadow: var(--box-shadow-dark);
+  --dropdown-menuItem-hover-fill: #e5e9f2;
+  --dropdown-menuItem-hover-color: #475669;
 
   /* Badge
-   -------------------------- */
-   --badge-fill: var(--color-danger);
-   --badge-radius: 10px;
-   --badge-font-size: 12px;
-   --badge-padding: 6px;
-   --badge-size: 18px;
-
-    /*Card
-    --------------------------*/
-    --card-border-color: var(--disabled-border-base);
-    --card-border-radius: 4px;
-    --card-padding: 20px;
-
-  /*Slider
-    --------------------------*/
+  -------------------------- */
+  --badge-fill: var(--color-danger);
+  --badge-radius: 10px;
+  --badge-font-size: 12px;
+  --badge-padding: 6px;
+  --badge-size: 18px;
+
+  /* Card
+  --------------------------*/
+  --card-border-color: var(--disabled-border-base);
+  --card-border-radius: 4px;
+  --card-padding: 20px;
+
+  /* Slider
+  --------------------------*/
   --slider-main-background-color: var(--color-primary);
   --slider-runway-background-color: #e5e9f2;
   --slider-button-hover-color: #1d8ce0;
-  --slider-stop-background-color: #c0ccda;
-  --slider-disable-color: #c0ccda;
-
-    /*Steps
-    --------------------------*/
-    --steps-border-color: var(--disabled-border-base);
-    --steps-border-radius: 4px;
-    --steps-padding: 20px;
-
-    /*Steps
-    --------------------------*/
-    --menu-item-color: #475669;
-    --menu-item-fill: #eff2f7;
-    --menu-item-hover-fill: #d3dce6;
-    --submenu-item-fill: #e5e9f2;
-
-    --dark-menu-item-color: #475669;
-    --dark-menu-item-fill: #324057;
-    --dark-menu-item-hover-fill: #475669;
-    --dark-submenu-item-fill: #1f2d3d;
+  --slider-stop-background-color: var(--color-grey);
+  --slider-disable-color: var(--color-grey);
+
+  --slider-margin: 20px 0;
+  --slider-border-radius: 3px;
+  --slider-height: 4px;
+  --slider-button-size: 12px;
+  --slider-button-wrapper-size: 36px;
+  --slider-button-wrapper-offset: -16px;
+
+  /* Steps
+  --------------------------*/
+  --steps-border-color: var(--disabled-border-base);
+  --steps-border-radius: 4px;
+  --steps-padding: 20px;
+
+  /* Steps
+  --------------------------*/
+  --menu-item-color: #475669;
+  --menu-item-fill: #eff2f7;
+  --menu-item-hover-fill: #d3dce6;
+  --submenu-item-fill: #e5e9f2;
+
+  --dark-menu-item-color: #475669;
+  --dark-menu-item-fill: #324057;
+  --dark-menu-item-hover-fill: #475669;
+  --dark-submenu-item-fill: #1f2d3d;
+
+  /* Rate
+  --------------------------*/
+  --rate-height: 20px;
+  --rate-font-size: var(--font-size-base);
+  --rate-icon-size: 18px;
+  --rate-icon-margin: 6px;
+  --rate-icon-color: #C6D1DE;
 }

+ 9 - 9
packages/theme-default/src/dialog.css

@@ -9,20 +9,20 @@
     left: 50%;
     transform: translateX(-50%);
     background: #fff;
-    border-radius: 2px;
-    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
+    border-radius: var(--border-radius-small);
+    box-shadow: var(--dialog-box-shadow);
     box-sizing: border-box;
 
     @modifier tiny {
-      width: 30%;
+      width: var(--dialog-tiny-width);
     }
 
     @modifier small {
-      width: 50%;
+      width: var(--dialog-small-width);
     }
 
     @modifier large {
-      width: 90%;
+      width: var(--dialog-large-width);
     }
 
     @modifier full {
@@ -44,16 +44,16 @@
 
     @e close {
       cursor: pointer;
-      color: #C0CCDA;
+      color: var(--dialog-close-color);
 
       &:hover {
-        color: var(--color-primary);
+        color: var(--dialog-close-hover-color);
       }
     }
 
     @e title {
       line-height: 1;
-      font-size: 16px;
+      font-size: var(--dialog-title-font-size);
       font-weight: bold;
       color: #1f2d3d;
     }
@@ -61,7 +61,7 @@
     @e body {
       padding: 30px 20px;
       color: #475669;
-      font-size: 14px;
+      font-size: var(--dialog-font-size);
     }
 
     @e headerbtn {

+ 14 - 14
packages/theme-default/src/message-box.css

@@ -12,9 +12,9 @@
     left: 50%;
     transform: translate3d(-50%, -50%, 0);
     background-color: #fff;
-    width: 420px;
-    border-radius: 3px;
-    font-size: 16px;
+    width: var(--msgbox-width);
+    border-radius: var(--msgbox-border-radius);
+    font-size: var(--msgbox-font-size);
     -webkit-user-select: none;
     overflow: hidden;
     backface-visibility: hidden;
@@ -25,8 +25,8 @@
 
     @e content {
       padding: 30px 20px;
-      color: #475669;
-      font-size: 14px;
+      color: var(--msgbox-content-color);
+      font-size: var(--msgbox-content-font-size);
       position: relative;
     }
 
@@ -48,16 +48,16 @@
     @e input {
       padding-top: 15px;
       & input.invalid {
-        border-color: #ff4949;
+        border-color: var(--color-danger);
         &:focus {
-          border-color: #ff4949;
+          border-color: var(--color-danger);
         }
       }
     }
 
     @e errormsg {
-      color: red;
-      font-size: 12px;
+      color: var(--color-danger);
+      font-size: var(--msgbox-error-font-size);
       min-height: 18px;
       margin-top: 2px;
     }
@@ -65,7 +65,7 @@
     @e title {
       padding-left: 0;
       margin-bottom: 0;
-      font-size: 16px;
+      font-size: var(--msgbox-font-size);
       font-weight: bold;
       height: 18px;
       color: #333;
@@ -100,19 +100,19 @@
       font-size: 36px !important;
 
       &.el-icon-circle-check {
-        color: #13ce66;
+        color: var(--msgbox-success-color);
       }
 
       &.el-icon-information {
-        color: #50bfff;
+        color: var(--msgbox-info-color);
       }
 
       &.el-icon-warning {
-        color: #f7ba2a;
+        color: var(--msgbox-warning-color);
       }
 
       &.el-icon-circle-cross {
-        color: #ff4949;
+        color: var(--msgbox-error-color);
       }
     }
   }

+ 13 - 13
packages/theme-default/src/message.css

@@ -4,11 +4,11 @@
 @component-namespace el {
 
   @b message {
-    box-shadow:0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04);
-    min-width: 300px;
-    padding: 10px 12px;
+    box-shadow: var(--message-shadow);
+    min-width: var(--message-min-width);
+    padding: var(--message-padding);
     box-sizing: border-box;
-    border-radius: 2px;
+    border-radius: var(--border-radius-small);
     position: fixed;
     left: 50%;
     top: 20px;
@@ -23,11 +23,11 @@
       position: relative;
 
       & p {
-        font-size: 14px;
+        font-size: var(--font-size-base);
         line-height: 20px;
         margin: 0 34px 0 0;
         white-space: nowrap;
-        color: #8492a6;
+        color: var(--message-content-color);
         text-align: justify;
       }
     }
@@ -42,28 +42,28 @@
     @e closeBtn {
       position: absolute 3px 0 * *;
       cursor: pointer;
-      color: #C0CCDA;
-      font-size: 14px;
+      color: var(--message-close-color);
+      font-size: var(--font-size-base);
 
       &:hover {
-        color: #99A9BF;
+        color: var(--message-close-hover-color);
       }
     }
 
     & .el-icon-circle-check {
-      color: #13ce66;
+      color: var(--message-success-color);
     }
 
     & .el-icon-circle-cross {
-      color: #ff4949;
+      color: var(--message-danger-color);
     }
 
     & .el-icon-information {
-      color: #50bfff;
+      color: var(--message-info-color);
     }
 
     & .el-icon-warning {
-      color: #f7ba2a;
+      color: var(--message-warning-color);
     }
   }
 

+ 17 - 17
packages/theme-default/src/notification.css

@@ -4,36 +4,36 @@
 @component-namespace el {
 
   @b notification {
-    width: 330px;
-    padding: 20px;
+    width: var(--notification-width);
+    padding: var(--notification-padding);
     box-sizing: border-box;
-    border-radius: 2px;
+    border-radius: var(--border-radius-small);
     position: fixed;
     right: 16px;
     background-color: #fff;
-    box-shadow: 0 0 6px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .12);
+    box-shadow: var(--notification-shadow);
     transition: opacity 0.3s, transform .3s, right .3s, top 0.4s;
     overflow: hidden;
     z-index: var(--index-popper);
 
     @e group {
       & span {
-        font-size: 16px;
-        color: #1f2d3d;
+        font-size: var(--notification-title-font-size);
+        color: var(--notification-title-color);
       }
 
       & p {
-        font-size: 14px;
+        font-size: var(--notification-font-size);
         line-height: 21px;
         margin: 10px 0 0 0;
-        color: #8492a6;
+        color: var(--notification-color);
         text-align: justify;
       }
     }
 
     @e icon {
-      size: 40px;
-      font-size: 40px;
+      size: var(--notification-icon-size);
+      font-size: var(--notification-icon-size);
       float: left;
       position: relative;
       top: 3px;
@@ -42,28 +42,28 @@
     @e closeBtn {
       position: absolute 20px 20px * *;
       cursor: pointer;
-      color: #C0CCDA;
-      font-size: 14px;
+      color: var(--notification-close-color);
+      font-size: var(--notification-font-size);
 
       &:hover {
-        color: #99A9BF;
+        color: var(--notification-close-hover-color);
       }
     }
 
     & .el-icon-circle-check {
-      color: #13ce66;
+      color: var(--notification-success-color);
     }
 
     & .el-icon-circle-cross {
-      color: #ff4949;
+      color: var(--notification-danger-color);
     }
 
     & .el-icon-information {
-      color: #50bfff;
+      color: var(--notification-info-color);
     }
 
     & .el-icon-warning {
-      color: #f7ba2a;
+      color: var(--notification-warning-color);
     }
   }
 

+ 4 - 4
packages/theme-default/src/option-group.css

@@ -15,10 +15,10 @@
 
     @e title {
       padding-left: 10px;
-      font-size: 12px;
-      color: #999;
-      height: 30px;
-      line-height: 30px;
+      font-size: var(--select-group-font-size);
+      color: var(--select-group-color);
+      height: var(--select-group-height);
+      line-height: var(--select-group-height);
     }
 
     & .el-select-dropdown__item {

+ 9 - 9
packages/theme-default/src/option.css

@@ -5,37 +5,37 @@
 
   @b select-dropdown {
     @e item {
-      font-size: 14px;
+      font-size: var(--select-font-size);
       padding: 8px 10px;
       position: relative;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
-      color: #475669;
-      height: 36px;
+      color: var(--select-option-color);
+      height: var(--select-option-height);
       line-height: 1.5;
       box-sizing: border-box;
       cursor: pointer;
 
       @when disabled {
-        color: #c0ccda;
+        color: var(--select-option-disabled-color);
         cursor: not-allowed;
 
         &:hover {
-          background-color: #fff;
+          background-color: var(--color-white);
         }
       }
 
       &.hover {
-        background-color: #e5e9f2;
+        background-color: var(--select-option-hover-background);
       }
 
       &.selected {
-        color: #fff;
-        background-color: #20A0FF;
+        color: var(--color-white);
+        background-color: var(--select-option-selected);
 
         &.hover {
-          background-color: #1D8CE0;
+          background-color: var(--select-option-selected-hover);
         }
       }
 

+ 5 - 5
packages/theme-default/src/rate.css

@@ -4,7 +4,7 @@
 @component-namespace el {
 
   @b rate {
-    height: 20px;
+    height: var(--rate-height);
     @e item {
       display: inline-block;
       position: relative;
@@ -15,9 +15,9 @@
     @e icon {
       position: relative;
       display: inline-block;
-      font-size: 18px;
-      margin-right: 6px;
-      color: #C6D1DE;
+      font-size: var(--rate-icon-size);
+      margin-right: var(--rate-icon-margin);
+      color: var(--rate-icon-color);
       transition: .3s;
       &.hover {
         transform: scale(1.15);
@@ -39,7 +39,7 @@
     }
 
     @e text {
-      font-size: 14px;
+      font-size: var(--rate-font-size);
       vertical-align: middle;
     }
   }

+ 12 - 12
packages/theme-default/src/select-dropdown.css

@@ -6,20 +6,20 @@
   @b select-dropdown {
     position: absolute;
     z-index: 1001;
-    border: solid 1px #d3dce6;
-    border-radius: 2px;
-    background-color: #fff;
-    box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
+    border: var(--select-dropdown-border);
+    border-radius: var(--border-radius-small);
+    background-color: var(--select-dropdown-background);
+    box-shadow: var(--select-dropdown-shadow);
     box-sizing: border-box;
     margin: 5px 0;
 
     @when multiple {
       & .el-select-dropdown__item.selected {
-        color: #20A0FF;
-        background-color: #fff;
+        color: var(--select-option-selected);
+        background-color: var(--select-dropdown-background);
 
         &.hover {
-          background-color: #E5E9F2;
+          background-color: var(--select-option-hover-background);
         }
 
         &::after {
@@ -36,19 +36,19 @@
   }
 
   @b select-dropdown__empty {
-    padding: 10px 0;
+    padding: var(--select-dropdown-empty-padding);
     margin: 0;
     text-align: center;
-    color: #999;
-    font-size: 14px;
+    color: var(--select-dropdown-empty-color);
+    font-size: var(--select-font-size);
   }
 
   @b select-dropdown__list {
     list-style: none;
-    padding: 6px 0;
+    padding: var(--select-dropdown-padding);
     margin: 0;
     width: 100%;
-    max-height: 274px;
+    max-height: var(--select-dropdown-max-height);
     box-sizing: border-box;
     overflow-y: auto;
   }

+ 24 - 24
packages/theme-default/src/select.css

@@ -14,21 +14,21 @@
 
     @when small {
       & input {
-        border-radius: 2px;
+        border-radius: var(--border-radius-small);
         height: 28px;
       }
     }
 
     &:hover {
       .el-input__inner {
-        border-color: #8492a6;
+        border-color: var(--select-border-color-hover);
       }
     }
 
     & .el-input {
       & .el-input__icon {
-        color: #c0ccda;
-        font-size: 12px;
+        color: var(--select-input-color);
+        font-size: var(--select-input-font-size);
         transition: transform .3s;
         transform: translateY(-50%) rotateZ(180deg);
         line-height: 16px;
@@ -42,15 +42,15 @@
         @when show-close {
           transition: 0s;
           size: 16px;
-          font-size: 14px;
+          font-size: var(--select-font-size);
           right: 8px;
           text-align: center;
           transform: translateY(-50%) rotateZ(180deg);
-          border-radius: 50%;
-          color: #C0CCDA;
+          border-radius: var(--border-radius-circle);
+          color: var(--select-input-color);
 
           &:hover {
-            color: #99A9BF;
+            color: var(--select-close-hover-color);
           }
         }
       }
@@ -59,7 +59,7 @@
         cursor: pointer;
 
         &:focus {
-          border-color: #2ea0ff;
+          border-color: var(--select-input-focus-background);
         }
       }
 
@@ -68,7 +68,7 @@
           cursor: not-allowed;
 
           &:hover {
-            border-color: #D3DCE6;
+            border-color: var(--select-disabled-border);
           }
         }
       }
@@ -79,8 +79,8 @@
       outline: none;
       padding: 0;
       margin: 4px 0 -3px 10px;
-      color: #666;
-      font-size: 14px;
+      color: var(--select-multiple-input-color);
+      font-size: var(--select-font-size);
       vertical-align: baseline;
       appearance: none;
       height: 28px;
@@ -93,12 +93,12 @@
       top: 8px;
       z-index: var(--index-top);
       right: 25px;
-      color: #c0ccda;
+      color: var(--select-input-color);
       line-height: 18px;
-      font-size: 12px;
+      font-size: var(--select-input-font-size);
 
       &:hover {
-        color: #99A9BF;
+        color: var(--select-close-hover-color);
       }
     }
 
@@ -114,23 +114,23 @@
     }
 
     & .el-tag {
-      height: 24px;
-      line-height: 24px;
+      height: var(--select-tag-height);
+      line-height: var(--select-tag-height);
       box-sizing: border-box;
       margin: 6px 0 0 6px;
     }
 
     @e tag {
       display: inline-block;
-      height: 24px;
-      line-height: 24px;
-      font-size: 14px;
-      border-radius: 4px;
-      color: #fff;
-      background-color: #20a0ff;
+      height: var(--select-tag-height);
+      line-height: var(--select-tag-height);
+      font-size: var(--select-font-size);
+      border-radius: var(--border-radius-base);
+      color: var(--select-tag-color);
+      background-color: var(--select-tag-background);
 
       & .el-icon-close {
-        font-size: 12px;
+        font-size: var(--select-input-font-size);
       }
     }
   }

+ 11 - 11
packages/theme-default/src/slider.css

@@ -8,10 +8,10 @@
     @utils-clearfix;
     @e runway {
       width: 100%;
-      height: 4px;
-      margin: 20px 0;
+      height: var(--slider-height);
+      margin: var(--slider-margin);
       background-color: var(--slider-runway-background-color);
-      border-radius: 3px;
+      border-radius: var(--slider-border-radius);
       position: relative;
       cursor: pointer;
       vertical-align: middle;
@@ -64,18 +64,18 @@
     }
 
     @e bar {
-      height: 4px;
+      height: var(--slider-height);
       background-color: var(--slider-main-background-color);
-      border-top-left-radius: 3px;
-      border-bottom-left-radius: 3px;
+      border-top-left-radius: var(--slider-border-radius);
+      border-bottom-left-radius: var(--slider-border-radius);
       position: absolute;
     }
 
     @e button-wrapper {
-      size: 36px;
+      size: var(--slider-button-wrapper-size);
       position: absolute;
       z-index: 1001;
-      top: -16px;
+      top: var(--slider-button-wrapper-offset);
       transform: translateX(-50%);
       background-color: transparent;
       text-align: center;
@@ -95,7 +95,7 @@
     }
 
     @e button {
-      size: 12px;
+      size: var(--slider-button-size);
       background-color: var(--slider-main-background-color);
       border-radius: 50%;
       transition: .2s;
@@ -119,8 +119,8 @@
 
     @e stop {
       position: absolute;
-      size: 4px;
-      border-radius: 50%;
+      size: var(--slider-height);
+      border-radius: var(--border-radius-circle);
       background-color: var(--slider-stop-background-color);
       transform: translateX(-50%);
     }

+ 8 - 9
packages/theme-default/src/switch.css

@@ -6,8 +6,7 @@
   @b switch {
     display: inline-block;
     position: relative;
-    line-height: 20px;
-    font-size: 14px;
+    font-size: var(--switch-font-size);
     @when disabled {
       & .el-switch__core,
       & .el-switch__label {
@@ -19,11 +18,11 @@
       transition: .2s;
       position: absolute;
       z-index: 10;
-      size: 46px 22px;
+      size: var(--switch-size);
       left: 0;
       top: 0;
       display: inline-block;
-      font-size: 14px;
+      font-size: var(--switch-font-size);
       cursor: pointer;
       user-select: none;
       @m left {
@@ -40,7 +39,7 @@
         line-height: 1;
         top: 4px;
         position: absolute;
-        font-size: 14px;
+        font-size: var(--switch-font-size);
         display: inline-block;
         color: var(--color-white);
       }
@@ -58,10 +57,10 @@
       display: inline-block;
       vertical-align: middle;
       position: relative;
-      size: 46px 22px;
+      size: var(--switch-size);
       border: 1px solid var(--switch-off-color);
       outline: none;
-      border-radius: 12px;
+      border-radius: var(--switch-core-border-radius);
       box-sizing: border-box;
       background: var(--switch-off-color);
       cursor: pointer;
@@ -69,9 +68,9 @@
 
       & .el-switch__button {
         position: absolute 0 * * 0;
-        border-radius: 15px;
+        border-radius: var(--border-radius-circle);
         transition: transform .3s;
-        size: 16px;
+        size: var(--switch-button-size);
         z-index: 20;
         background-color: var(--color-white);
       }