美文网首页
vue-element(二)样式相关

vue-element(二)样式相关

作者: 陈凌川 | 来源:发表于2019-12-03 17:39 被阅读0次

说明

自用

一、项目中使用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;
}

/*跨浏览器的透明度设置*/
@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图标扩展

Font Awesome中文网

  • 1.安装
npm install font-awesome --save
  • 2.使用
    src/main.js中引入
// 图标网站:http://fontawesome.dashgame.com/
import 'font-awesome/scss/font-awesome.scss'

四、设置图片背景

.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; //自适应
  }

五、鼠标形状

/*鼠标 手形状态*/
    cursor:pointer;
  • default 默认光标(通常是一个箭头)
  • auto 默认。浏览器设置的光标。
  • crosshair 光标呈现为十字线。
  • pointer 光标呈现为指示链接的指针(一只手)
  • move 此光标指示某对象可被移动
  • text 此光标指示文本
  • help 此光标指示可用的帮助(通常是一个问号或一个气球)

六、打包后修改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的样式无效了。这是什么原因?

相关文章

  • vue-element(二)样式相关

    说明 自用 一、项目中使用scss 1.安装 2.修改sass-loader版本在package.json中修改 ...

  • vue-element中复选框,单选框等表单项隐藏label

    有时候实现一个 table样式的全选,复选框可能不需要任何文字说明,而vue-element 好像必须要写labe...

  • CSS全局样式的设置

    默认字体设置,边距设置 去除默认边距 链接相关样式 排版相关样式 内嵌文本相关样式 表单文本相关样式 结尾给大家分...

  • 样式相关

    移动端1px显示不缩放问题解决方法:使用伪元素,然后给这个元素加一个scaleY(0.5) 四条boder样式设置...

  • footer显示在网页最下方可滚动

    相关样式 页面

  • 边框相关样式

    border-radius(边框圆角) 该属性用于设置边框圆角,属性值为圆角半径,当设置一个时为值为四个角的圆角半...

  • DOM样式相关

    记录自己学习前端的过程,内容仅供参考 样式设置 单个设置操作 ->node(节点名).style.样式名 = "样...

  • Word使用技巧——设置文档中要用的样式

    一、作用 一键套用 批量修改和更新 文档结构导航 生成目录 二、相关概念 1.样式 样式类型默认的是链接段落和字符...

  • 【Axure10】菜单-项目

    元件样式管理 元件的基本样式管理。 调整元件样式为全局调整。 注:相关样式设置可查看样式区域中的元件样式。 页面样...

  • 02-CSS基础[Python]

    一、服务器相关 1、服务器的分类: 2、服务器的搭建: 二、样式表 1、内部样式表(嵌套到页面中) 注意:每个CS...

网友评论

      本文标题:vue-element(二)样式相关

      本文链接:https://www.haomeiwen.com/subject/rbzcgctx.html