UNPKG

zui

Version:

一个基于 Bootstrap 深度定制开源前端实践方案,帮助你快速构建现代跨屏应用。

773 lines (542 loc) 25.1 kB
/// ======================================================================== /// ZUI: variables.theme.less /// http://openzui.com /// ======================================================================== /// Copyright 2014-2020 cnezsoft.com; Licensed MIT /// ======================================================================== // COLOR SCHEME // ============ // Basic colors @color-theme: light; @color-primary: #3F51B5; @color-secondary: #3949AB; @color-pale: #ECEFF1; @color-fore: #353535; @color-back: #fff; // Grays colors @color-gray-darker: lighten(#000, 13.5%); // #222 @color-gray-dark: lighten(#000, 20%); // #333 @color-gray: lighten(#000, 50%); // #808080 @color-gray-light: lighten(#000, 86.7%); // #ddd @color-gray-lighter: lighten(#000, 89.7%); // #e5e5e5 @color-gray-pale: lighten(#000, 94.5%); // #f1f1f1 // Named colors @color-white: #fff; @color-black: #000; @color-red: #d9534f; @color-yellow: #f0ad4e; @color-green: #4CAF50; @color-blue: #039BE5; @color-purple: #8666b8; @color-brown: #bd7b46; @color-green-pale: #ddf4df; @color-yellow-pale: #fff0d5; @color-red-pale: #ffe5e0; @color-blue-pale: #ddf3f5; @color-brown-pale: #f7ebe1; @color-purple-pale: #f5eeff; @color-light: @color-back; @color-dark: @color-fore; // Brand colors @color-success: @color-green; @color-warning: @color-yellow; @color-danger: @color-red; @color-info: @color-blue; @color-important: @color-brown; @color-special: @color-purple; @color-success-pale: @color-green-pale; @color-warning-pale: @color-yellow-pale; @color-danger-pale: @color-red-pale; @color-info-pale: @color-blue-pale; @color-important-pale: @color-brown-pale; @color-special-pale: @color-purple-pale; // VARIABLES // ========= // States @state-default-text: @color-dark; @state-default-bg: @color-gray-pale; @state-default-inverse-bg: @color-dark; @state-default-border: darken(spin(@state-default-bg, -10), 5%); @state-primary-text: @color-primary; @state-primary-bg: @color-pale; @state-primary-inverse-bg: @color-primary; @state-primary-border: darken(spin(@state-primary-bg, -10), 5%); @state-success-text: @color-success; @state-success-bg: @color-success-pale; @state-success-inverse-bg: @color-success; @state-success-border: darken(spin(@state-success-bg, -10), 10%); @state-info-text: @color-info; @state-info-bg: @color-info-pale; @state-info-inverse-bg: @color-info; @state-info-border: darken(spin(@state-info-bg, -10), 15%); @state-warning-text: @color-warning; @state-warning-bg: @color-warning-pale; @state-warning-inverse-bg: @color-warning; @state-warning-border: darken(spin(@state-warning-bg, -10), 5%); @state-danger-text: @color-danger; @state-danger-bg: @color-danger-pale; @state-danger-inverse-bg: @color-danger; @state-danger-border: darken(spin(@state-danger-bg, -10), 5%); @state-important-text: @color-important; @state-important-bg: @color-important-pale; @state-important-inverse-bg: @color-important; @state-important-border: darken(spin(@state-important-bg, -10), 5%); @state-special-text: @color-special; @state-special-bg: @color-special-pale; @state-special-inverse-bg: @color-special; @state-special-border: darken(spin(@state-special-bg, -10), 5%); // Scaffolding @body-bg: @color-back; @text-color: @color-fore; // Links @link-color: @color-secondary; @link-hover-color: darken(@link-color, 15%); @link-hover-decoration: underline; // MEDIA QUERIES TYPES // Extra small screen (phone). @screen-xs: 480px; @screen-xs-min: @screen-xs; @screen-phone: @screen-xs-min; // Small screen (tablet). @screen-sm: 768px; @screen-sm-min: @screen-sm; @screen-tablet: @screen-sm-min; // Medium screen (desktop). @screen-md: 992px; @screen-md-min: @screen-md; @screen-desktop: @screen-md-min; // Large screen (wide desktop). @screen-lg: 1200px; @screen-lg-min: @screen-lg; @screen-lg-desktop: @screen-lg-min; // Provide max value for different screens. @screen-xs-max: (@screen-sm-min - 1); @screen-sm-max: (@screen-md-min - 1); @screen-md-max: (@screen-lg-min - 1); // GRID SYSTEM // Number of grid columns. @grid-columns: 12; // Padding applied on all columns at left and right. @grid-gutter-width: 20px; @grid-float-breakpoint: @screen-tablet; // Small screen / tablet @container-tablet: ((720px + @grid-gutter-width)); // Medium screen / desktop @container-desktop: ((940px + @grid-gutter-width)); // Large screen / wide desktop @container-lg-desktop: ((1140px + @grid-gutter-width)); // TYPOGRAPHY // Font family. @font-family-sans-serif: "Helvetica Neue", Helvetica, Tahoma, Arial, 'PingFang SC', 'Source Han Sans CN', 'Source Han Sans', 'Source Han Serif', 'Hiragino Sans GB', 'WenQuanYi Micro Hei', 'Microsoft YaHei', sans-serif; @font-family-headings: @font-family-sans-serif; @font-family-serif: Georgia, "Times New Roman", Times, serif; @font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace; @font-family-base: @font-family-sans-serif; // Font size. @font-size-base: 13px; @font-size-large: ceil((@font-size-base * 1.25)); // 18px @font-size-small: ceil((@font-size-base * 0.85)); // 12px @font-size-h1: floor((@font-size-base * 2.00)); // 26px @font-size-h2: floor((@font-size-base * 1.58)); // 20px @font-size-h3: floor((@font-size-base * 1.29)); // 16px @font-size-h4: floor((@font-size-base * 1.15)); // 14px @font-size-h5: @font-size-base; // 13px @font-size-h6: ceil((@font-size-base * 0.85)); // 12px // Line height. @line-height-base: (20/13); // 20/13 @line-height-computed: floor((@font-size-base * @line-height-base)); // 20px // Headings font. @headings-font-family: @font-family-headings; @headings-font-weight: bold; @headings-line-height: 1.1; @headings-color: inherit; // COMPONENTS CONFIG @padding-base-vertical: 5px; @padding-base-horizontal: 12px; @padding-large-vertical: 10px; @padding-large-horizontal: 16px; @padding-small-vertical: 2px; @padding-small-horizontal: 8px; @padding-xs-vertical: 1px; @padding-xs-horizontal: 5px; @border-radius-base: 0; @border-radius-large: 1px; @border-radius-small: 0; @line-height-large: 1.25; @line-height-small: 1.5; @component-border: rgba(0,0,0,.15); @component-fallback-border: darken(@color-gray-light, 7%); @component-divider-bg: @color-gray-lighter; @component-bg: @color-back; @component-bg-gray: darken(@color-back, 4%); @component-color: @color-fore; @component-active-color: @color-light; @component-active-bg: @color-primary; @component-hover-color: @color-light; @component-hover-bg: @color-primary; @component-disabled-color: @color-gray-light; @component-header-color: @color-gray; @component-caret-color: @color-dark; @component-active-caret-color: @color-light; @caret-width-base: 4px; @caret-width-large: 5px; // Z-index master list // Used for a bird's eye view of components dependent on the z-axis // Try to avoid customizing these :) @zindex-navbar: 1000; @zindex-dropdown: 1000; @zindex-popover: 1010; @zindex-tooltip: 1030; @zindex-navbar-fixed: 1030; @zindex-modal-background: 1040; @zindex-modal: 1050; // TABLES @table-cell-padding: 8px; @table-condensed-cell-padding: 5px; @table-bg: transparent; // overall background-color @table-head-bg: @color-gray-pale; @table-bg-accent: lighten(@color-gray-pale, 3%); // for striping @table-bg-hover: @color-pale; @table-bg-active: darken(@color-warning-pale, 5%); @table-border-active: @color-gray-light; @table-border-color: @color-gray-light; // table and cell border // DROPDOWNS @dropdown-bg: @component-bg; @dropdown-border: @component-border; @dropdown-fallback-border: @component-fallback-border; @dropdown-divider-bg: @component-divider-bg; @dropdown-link-color: @component-color; @dropdown-link-hover-color: @component-hover-color; @dropdown-link-hover-bg: @component-hover-bg; @dropdown-link-active-color: @component-active-color; @dropdown-link-active-bg: @component-active-bg; @dropdown-link-disabled-color: @component-disabled-color; @dropdown-header-color: @component-header-color; @dropdown-caret-color: @component-caret-color; // BUTTONS @btn-font-weight: normal; @btn-default-color: @color-fore; @btn-default-bg: @color-back; @btn-default-border: #ccc; @btn-primary-color: @color-light; @btn-primary-bg: @color-primary; @btn-primary-border: darken(@btn-primary-bg, 1%); @btn-success-color: @color-light; @btn-success-bg: @color-success; @btn-success-border: darken(@btn-success-bg, 1%); @btn-warning-color: @color-light; @btn-warning-bg: @color-warning; @btn-warning-border: darken(@btn-warning-bg, 1%); @btn-danger-color: @color-light; @btn-danger-bg: @color-danger; @btn-danger-border: darken(@btn-danger-bg, 1%); @btn-info-color: @color-light; @btn-info-bg: @color-info; @btn-info-border: darken(@btn-info-bg, 1%); @btn-link-disabled-color: @color-gray-light; // PROGRESS BRAS // ------------------------- @progress-bg: @component-bg-gray; @progress-bar-color: @color-light; @progress-bar-bg: @color-primary; @progress-bar-success-bg: @color-success; @progress-bar-warning-bg: @color-warning; @progress-bar-danger-bg: @color-danger; @progress-bar-info-bg: @color-info; // THUMBNAILS @thumbnail-padding: 4px; @thumbnail-bg: @body-bg; @thumbnail-border: @color-gray-light; @thumbnail-border-radius: @border-radius-base; @thumbnail-caption-color: @text-color; @thumbnail-caption-padding: 9px; // DIVIDER // Hr border color @hr-border: @color-gray-lighter; // LEBELS @label-default-bg: @color-gray; @label-primary-bg: @color-primary; @label-success-bg: @color-success; @label-info-bg: @color-info; @label-warning-bg: @color-warning; @label-danger-bg: @color-danger; @label-color: @color-light; @label-link-hover-color: @color-light; // BADGES @badge-link-hover-color: @color-light; @badge-bg: @color-gray-light; @badge-active-color: @link-color; @badge-active-bg: @color-light; @badge-font-weight: bold; @badge-line-height: 1; @badge-border-radius: 12px; // INPUT @input-bg: @color-light; @input-bg-disabled: @color-gray-lighter; @input-color: @color-gray-darker; @input-border: #ccc; @input-border-radius: @border-radius-base; @input-border-focus: @link-color; @input-color-placeholder: @color-gray; @input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); @input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); @input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); @legend-color: @color-gray-dark; @legend-border-color: @color-gray-lighter; @input-group-addon-bg: @color-gray-pale; @input-group-addon-border-color: @input-border; //** Disabled cursor for form controls and buttons. @cursor-disabled: not-allowed; // BREADCUMBS @breadcrumb-color: #ccc; @breadcrumb-active-color: @color-gray-light; // LIST GROUP @list-group-bg: @color-light; @list-group-border: @color-gray-light; @list-group-border-radius: @border-radius-base; @list-group-hover-bg: @color-pale; @list-group-hover-color: @color-fore; @list-group-active-color: @component-active-color; @list-group-active-bg: @component-active-bg; @list-group-active-border: @component-active-color; @list-group-link-color: #555; @list-group-link-heading-color: #333; // PANELS // ------------------------- @panel-bg: @color-light; @panel-inner-border: @color-gray-light; @panel-border-radius: @border-radius-base; @panel-footer-bg: @component-bg-gray; @panel-default-text: @color-gray-dark; @panel-default-border: @color-gray-light; @panel-default-heading-bg: @color-gray-pale; @panel-primary-text: @color-light; @panel-primary-border: @color-primary; @panel-primary-heading-bg: @color-primary; @panel-success-text: @state-success-text; @panel-success-border: @state-success-border; @panel-success-heading-bg: @state-success-bg; @panel-warning-text: @state-warning-text; @panel-warning-border: @state-warning-border; @panel-warning-heading-bg: @state-warning-bg; @panel-danger-text: @state-danger-text; @panel-danger-border: @state-danger-border; @panel-danger-heading-bg: @state-danger-bg; @panel-info-text: @state-info-text; @panel-info-border: @state-info-border; @panel-info-heading-bg: @state-info-bg; // MODALS @modal-inner-padding: 15px; @modal-title-padding: 15px; @modal-title-line-height: @line-height-base; @modal-content-bg: @color-light; @modal-content-border-color: rgba(0,0,0,.2); @modal-content-fallback-border-color: #999; @modal-backdrop-bg: #000; @modal-header-border-color: #e5e5e5; @modal-footer-border-color: @modal-header-border-color; @modal-backdrop-opacity: .5; @modal-lg: 900px; @modal-md: 600px; @modal-sm: 300px; // ALERTS @alert-padding: 15px; @alert-border-radius: @border-radius-small; @alert-link-font-weight: bold; @alert-primary-bg: @color-pale; @alert-primary-text: @color-fore; @alert-primary-border: @alert-primary-bg; @alert-default-bg: @state-default-bg; @alert-default-text: @state-default-text; @alert-default-border: @state-default-bg; @alert-success-bg: @state-success-bg; @alert-success-text: @state-success-text; @alert-success-border: @state-success-bg; @alert-info-bg: @state-info-bg; @alert-info-text: @state-info-text; @alert-info-border: @state-info-bg; @alert-warning-bg: @state-warning-bg; @alert-warning-text: @state-warning-text; @alert-warning-border: @state-warning-bg; @alert-danger-bg: @state-danger-bg; @alert-danger-text: @state-danger-text; @alert-danger-border: @state-danger-bg; // ANIMATION @animation-speed-normal: 0.4s; @animation-speed-fast: 0.2s; @animation-speed-slow: 0.8s; @animation-type: cubic-bezier(0.175,.885,.32,1); // CODE @code-color: @color-danger; @code-bg: @color-gray-pale; @pre-bg: @component-bg-gray; @pre-color: @color-gray-dark; @pre-border-color: #ccc; @pre-scrollable-max-height: 340px; @pre-line-height: 18/13; // TYPE @text-muted: @color-gray; @abbr-border-color: @color-gray-light; @headings-small-color: @color-gray; @blockquote-small-color: @color-gray; @blockquote-border-color: @color-gray-lighter; @header-dividing-color: @color-gray-lighter; @headings-block-background: @color-gray-lighter; // MISCELLANEOUS // Hr border color @hr-border: @color-gray-lighter; // Horizontal forms & lists @component-offset-horizontal: 180px; // ARTICLE @article-padding: 20px; @article-section-padding: 10px 15px; @article-abstract-bg: @color-gray-pale; @article-abstract-color: lighten(@color-fore,20%); @article-img-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4); @article-img-shadow-hover: 0px 1px 6px rgba(0, 0, 0, 0.8); @article-font-size-h1: floor((@font-size-base * 1.58)); // 22px @article-font-size-h2: floor((@font-size-base * 1.43)); // 20px @article-font-size-h3: floor((@font-size-base * 1.29)); // 18px @article-font-size-h4: floor((@font-size-base * 1.15)); // 16px @article-font-size-h5: @font-size-base; @article-font-size-h6: floor((@font-size-base * 0.86)); // 12px @article-headings-border-color: @color-gray-light; @article-font-size: 14px; @article-line-height: 25/14; // CONTENTS LIST @list-padding: 15px; @list-item-bg-hover: #f5f5f5; // CARDS @card-border-color: @color-gray-light; @card-reveal-bg: @color-gray-pale; // PAGER @pager-bg: @color-light; @pager-border: @color-gray-light; @pager-hover-bg: @color-gray-lighter; @pager-active-bg: @component-active-bg; @pager-active-color: @component-active-color; @pager-disabled-color: @color-gray-light; @pager-border-radius: 16px; // NAVBAR // Basics of a navbar @navbar-height: 40px; @navbar-font-size: 14px; @navbar-margin-bottom: @line-height-computed; @navbar-border-radius: @border-radius-base; @navbar-padding-horizontal: floor((@grid-gutter-width / 2)); @navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2); @navbar-default-color: @color-gray-dark; @navbar-default-bg: lighten(@color-gray-pale, 2.5%); @navbar-default-border: darken(@navbar-default-bg, 10%); // Navbar links @navbar-default-link-color: @color-gray-dark; @navbar-default-link-hover-color: @color-gray-darker; @navbar-default-link-hover-bg: @color-gray-lighter; @navbar-default-link-active-color: #555; @navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%); @navbar-default-link-disabled-color: #ccc; @navbar-default-link-disabled-bg: transparent; // Navbar brand label @navbar-default-brand-color: @navbar-default-link-color; @navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%); @navbar-default-brand-hover-bg: transparent; // Navbar toggle @navbar-default-toggle-hover-bg: @color-gray-light; @navbar-default-toggle-icon-bar-bg: #ccc; @navbar-default-toggle-border-color: @color-gray-light; // Inverted navbar // // Reset inverted navbar basics @navbar-inverse-color: @color-gray-light; @navbar-inverse-bg: @color-secondary; @navbar-inverse-border: darken(@navbar-inverse-bg, 10%); // Inverted navbar links @navbar-inverse-link-color: @color-gray-light; @navbar-inverse-link-hover-color: @color-light; @navbar-inverse-link-hover-bg: lighten(@navbar-inverse-bg, 6%); @navbar-inverse-link-active-color: @navbar-inverse-link-hover-color; @navbar-inverse-link-active-bg: lighten(@navbar-inverse-bg, 10%); @navbar-inverse-link-disabled-color: #444; @navbar-inverse-link-disabled-bg: transparent; // Inverted navbar brand label @navbar-inverse-brand-color: @navbar-inverse-link-color; @navbar-inverse-brand-hover-color: @color-light; @navbar-inverse-brand-hover-bg: transparent; // Inverted navbar toggle @navbar-inverse-toggle-hover-bg: darken(@navbar-inverse-bg, 5%); @navbar-inverse-toggle-icon-bar-bg: @color-light; @navbar-inverse-toggle-border-color: lighten(@navbar-inverse-bg, 10%); // NAVS @nav-link-padding: 8px 15px; @nav-link-padding-top: 10px; @nav-link-hover-bg: @color-gray-pale; @nav-disabled-link-color: @color-gray-light; @nav-disabled-link-hover-color: @color-gray-light; @nav-open-link-hover-color: @color-light; @nav-open-caret-border-color: @color-light; // Tabs @nav-tabs-border-color: @color-gray-light; @nav-tabs-link-hover-border-color: @color-gray-lighter; @nav-tabs-active-link-hover-bg: @body-bg; @nav-tabs-active-link-hover-color: @color-gray; @nav-tabs-active-link-hover-border-color: @color-gray-light; @nav-tabs-justified-link-border-color: @color-gray-light; @nav-tabs-justified-active-link-border-color: @body-bg; // Pills @nav-pills-border-radius: 20px; @nav-pills-active-link-hover-bg: @component-active-bg; @nav-pills-active-link-hover-color: @component-active-color; // Secondary @nav-secondary-border-color: @color-gray-lighter; @nav-secondary-active-border-color: @component-active-bg; @nav-secondary-active-link-hover-bg: @component-bg-gray; @nav-secondary-active-link-hover-color: @component-active-bg; // Primary @nav-primary-border-color: @color-gray-light; @nav-primary-active-link-hover-color: @component-active-color; @nav-primary-active-border-color: @component-active-bg; // CAROUSEL @carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6); @carousel-control-color: @color-light; @carousel-control-width: 10%; @carousel-control-opacity: .4; @carousel-control-font-size: 20px; @carousel-indicator-active-bg: @color-light; @carousel-indicator-border-color: @color-light; @carousel-caption-color: @color-light; // CLOSE @close-color: @color-black; @close-font-weight: bold; @close-text-shadow: 0 1px 0 @color-light; // TOOLTIPS @tooltip-max-width: 200px; @tooltip-color: @color-back; @tooltip-bg: @color-fore; @tooltip-arrow-width: 5px; @tooltip-arrow-color: @tooltip-bg; // POPOVER @popover-bg: @color-light; @popover-max-width: 300px; @popover-border-color: rgba(0,0,0,.2); @popover-fallback-border-color: #ccc; @popover-title-bg: darken(@popover-bg, 3%); @popover-arrow-width: 10px; @popover-arrow-color: @color-light; @popover-arrow-outer-width: (@popover-arrow-width + 1); @popover-arrow-outer-color: rgba(0,0,0,.25); @popover-arrow-outer-fallback-color: #999; // ICON FONT @icon-font-path: "../fonts"; @icon-font-version: "2.2.0"; @icon-border-color: @color-gray-light; @icon-muted-color: @color-gray-light; @icon-light-color: @color-light; @icon-dark-color: @color-dark; @icons-li-width: 30/14em; @icon-font-file-name: zenicon; @icon-font-name: ZenIcon; // SCROLLBAR @scrollbar-size: 10px; @scrollbar-radius: 0; // MESSAGER @messager-radius: 0;