vue-element(二)樣式相關(guān)

說明

自用

一、項目中使用scss

  • 1.安裝
npm install sass-loader sass-resources-loader  style-loader css-loader --save-dev
  • 2.修改sass-loader版本
    package.json中修改
將"sass-loader": "^8.0.0",修改為"sass-loader": "^7.3.1",
  • 3.使用
    *.vue中使用
<style lang="scss" scoped>

</style>

SCSS 教程

二、全局引用公共scss

vue-cli 2.x中全局引用公共scss

  • 1.定義全局變量文件src/styles/_variables.scss
/* Variables */

// Base color
$blue:#409EFF;
$light-blue:#3A71A8;
$red:#C03639;
$pink: #F56C6C;
$green: #30B08F;
$tiffany: #4AB7BD;
$yellow:#E6A23C;
$panGreen: #30B08F;

$menuBg:#304156;
$menuText:#bfcbd9;
$menuActiveText:#409EFF; // Also see settings.sidebarTextTheme

:export {
  menuBg: $menuBg;
  menuText: $menuText;
  menuActiveText: $menuActiveText;
}
  • 2.定義全局的Mixins文件src/styles/_mixins.scss
/* Mixins */

/*Clearfix*/
@mixin clearfix() {
  &:before,
  &:after {
    content: "";
    display: table;
  }
  &:after {
    clear: both;
  }
}

/*圓角邊框*/
@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
  -moz-border-radius: $radius;
  -ms-border-radius: $radius;
  border-radius: $radius;
}

/*跨瀏覽器的透明度設(shè)置*/
@mixin opacity($opacity) {
  opacity: $opacity;
  $opacity-ie: $opacity * 100;
  filter: alpha(opacity=$opacity-ie); //IE8
}

/*文本溢出省略顯示*/
@mixin text-ellipsis() {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*多行文本溢出省略顯示*/
@mixin text-ellipsis() {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
  • 3.在src/styles/index.scss引入全局scss
@import './variables.scss';
@import './mixins.scss';
@import './transition.scss';
@import './svgicon.scss';

/* Global scss */

body {
  height: 100%;
  margin: 0px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}

html {
  height: 100%;
}
    1. 全局引入樣式
      build/utils.js
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    sass: generateLoaders('sass', { indentedSyntax: true }),
    scss: generateLoaders('sass'),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')

修改為:

    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    sass: generateLoaders('sass', { indentedSyntax: true }),
    // scss: generateLoaders('sass'),
    scss: generateLoaders('sass').concat(
      {
        loader: 'sass-resources-loader',
        options: {
          resources: path.resolve(__dirname, '../src/styles/index.scss')
        }
      }
    ),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')

三、使用Font Awesome圖標(biāo)擴展

Font Awesome中文網(wǎng)

  • 1.安裝
npm install font-awesome --save
  • 2.使用
    src/main.js中引入
// 圖標(biāo)網(wǎng)站:http://fontawesome.dashgame.com/
import 'font-awesome/scss/font-awesome.scss'

四、設(shè)置圖片背景

.el-main {
    height: calc(100% - 100px);
    padding: 0px;
    background-image: linear-gradient(to top right, rgba(0, 0, 255, 0.1), rgba(255, 104, 89, 0.1)), //漸變
    linear-gradient(rgba(27, 119, 255, 0.1) 100%, transparent),
    url("~@/styles/img/timg.jpg"); //圖片背景,使用'~@'
    background-size: 100% auto; //自適應(yīng)
  }

五、鼠標(biāo)形狀

/*鼠標(biāo) 手形狀態(tài)*/
    cursor:pointer;
  • default 默認(rèn)光標(biāo)(通常是一個箭頭)
  • auto 默認(rèn)。瀏覽器設(shè)置的光標(biāo)。
  • crosshair 光標(biāo)呈現(xiàn)為十字線。
  • pointer 光標(biāo)呈現(xiàn)為指示鏈接的指針(一只手)
  • move 此光標(biāo)指示某對象可被移動
  • text 此光標(biāo)指示文本
  • help 此光標(biāo)指示可用的幫助(通常是一個問號或一個氣球)

六、打包后修改element UI樣式被覆蓋

解決:修改src/main.js

import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App'
import router from './router'
import store from './store'

七、字體漸變動效

@mixin text-excessive() {
  /*初始顏色*/
  color: #f35626;
  /*漸變顏色*/
  background-image: linear-gradient(92deg, #f35626 0%,#feab3a 100%);
  /*填充文字*/
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  /*時間*/
  animation: hue 2s infinite linear;
}

@keyframes hue {
  from {
    filter: hue-rotate(0deg);
  }

  to {
    filter: hue-rotate(-360deg);
  }
}

參考:

(javascript)vue項目打包后,寫的覆蓋element的樣式無效了。這是什么原因?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • webpack使用學(xué)習(xí) 本分享學(xué)習(xí)借鑒webpack中文官網(wǎng),官網(wǎng)鏈接(中文文檔):https://www.web...
    腿毛怪丶叔叔閱讀 968評論 0 5
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,659評論 1 32
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計架構(gòu)和**解決方案**。> > 庫(lib...
    Rui_bdad閱讀 3,151評論 1 4
  • webpack 是什么? 本質(zhì)上,webpack 是一個現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包器(mo...
    IT老馬閱讀 3,559評論 2 27
  • 在之后的許多年里,珀金斯經(jīng)常拿此事說笑,每講一次那個池塘的面積便擴大一次。
    CNBLUEone閱讀 140評論 0 0

友情鏈接更多精彩內(nèi)容