位置: IT常识 - 正文

vue3项目使用样式穿透修改elementUI默认样式(vue3.0用法)

编辑:rootadmin
vue3项目使用样式穿透修改elementUI默认样式 一、样式模块化

推荐整理分享vue3项目使用样式穿透修改elementUI默认样式(vue3.0用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3项目实战,vue3项目实战,vue3.0用法,vue在项目中怎么用的,vue在项目中怎么用的,vue3使用教程,vue3.0项目,vue3.0使用,内容如对您有帮助,希望把文章链接给更多的朋友!

在css单文件中,我们在style标签中写组件的样式,可以看到,一般style标签都会带上一个scoped属性,这样可以实现及时不同组件选择器一样,但是样式互不干扰。 看一个例子,我们在两个组件中都定义一个hello-world-box类,在对应的scope标签中设置不同的样式。

可以看到,vue为我们在不同的组件中的标签上加上了一个独有的属性(PostCSS转译实现)。然后通过属性选择器,实现不同属性的标签样式互不干扰。

css属性选择器的作用是:为带有特定属性的 HTML 元素设置样式

.hello-world-box[data-v-e17ea971] { color: red;}

这也是style标签scoped属性实现样式模块化的原理。 当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素。通过该属性,可以使得组件之间的样式不互相污染。如果一个项目中的所有style标签全部加上了scoped,相当于实现了样式的模块化。

二、样式穿透实现vue3项目使用样式穿透修改elementUI默认样式(vue3.0用法)

了解了vue中样式模块化的实现,进入正题,如何实现自定义elmentUI组件库中组件的样式呢? 这其实也是比较常见的需求,因为有的UI图并不是使用element组件库的组件画的,所以样式上肯定存在偏差。 我们来看看el-table 可以看到,element组件的样式都是通过外部样式文件实现的,所以对应的标签上并没有vue加上的属性。 那么我们直接在使用elment组件的组件中加上样式,是不会生效的,外部导入的样式文件优先级更高。

1、外部css文件

我们可以自己定义一个css文件,然后书写对应的要修改的样式。 例如:styles.css 在入口文件main.js中引入: 这里注意引入elment css文件和自定义css文件的引入顺序,因为css样式生效是后来者居上的。 生效了。 但是这样其实是存在问题的: 样式文件影响了所有组件,也就是我们在其他页面中调用这个组件,样式也被修改了。 解决办法之一就是在组件对应的类上在包上一层自定义的类名。

2、:deep()

:deep():改变css解析时私有属性的位置

.outer { .el-input__inner { // 此时css解析的为 .outer .el-input__inner[data-v-xxxx] 样式无效 background: pink; } :deep(.el-input__inner) { // 此时css解析的为 .outer[data-v-xxxx] .el-input__inner 样式生效 background: red; }}3、:slotted()

:slotted():在子组件定义样式插槽内容样式

默认情况下,作用域样式不会影响到 <slot/> 渲染出来的内容,因为它们被认为是父组件所持有并传递进来的。

<template> <div> <slot>插槽</slot> </div></template><style lang="less" scoped>:slotted(.red) { color: red;}</style>4、:global()

:global() :全局选择器,定义全局样式,不用单开一个没有scoped的style。

<style scoped>:global(.red-box) {color: red;}</style><!-- 等效于 --><style> .red-box{ color:red }</style>5、动态css(v-bind)

vue3单文件组件的 <style> 标签支持使用 v-bind CSS 函数将 CSS 的值链接到动态的组件状态,也就是我们可以在style标签中引入script标签中的响应式变量:

<template> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="date" label="Date" width="180" /> <el-table-column prop="name" label="Name" width="180" /> <el-table-column prop="address" label="Address" /> </el-table></template><script lang="ts" setup>import { ref } from 'vue';const tableData = [ { date: '2016-05-03', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, { date: '2016-05-02', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, { date: '2016-05-04', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, { date: '2016-05-01', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', },]const redColor = ref('red')</script><style scoped>.el-table { color: v-bind(redColor);}</style>

可以看到,即使在带scoped的style标签中,样式穿透也生效了。

实际的值会被编译成哈希化的 CSS 自定义属性,因此 CSS 本身仍然是静态的。自定义属性会通过内联样式的方式应用到组件的根元素上,并且在源值变更的时候响应式地更新。 参考vue官网:单文件组件 CSS 功能

本文链接地址:https://www.jiuchutong.com/zhishi/295283.html 转载请保留说明!

上一篇:基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)(基于Selenium的自动化测试平台设计与实现)

下一篇:html--盒子的边框属性(border)(html盒子边框圆角)

  • wps搜索快捷键ctrl加什么(wps搜索快捷键打不开怎么办)

    wps搜索快捷键ctrl加什么(wps搜索快捷键打不开怎么办)

  • 为什么华为p30老是卡(为什么华为p30老手机,不能更新)

    为什么华为p30老是卡(为什么华为p30老手机,不能更新)

  • a13是几纳米(全球首款3nm芯片)

    a13是几纳米(全球首款3nm芯片)

  • 小爱3.0有什么新功能(小爱同学 3.0)

    小爱3.0有什么新功能(小爱同学 3.0)

  • bmp和jpg哪个文件大(bmp和jpg哪个图像质量好)

    bmp和jpg哪个文件大(bmp和jpg哪个图像质量好)

  • 华为m6为啥只有4G内存(华为m6的4g够用么)

    华为m6为啥只有4G内存(华为m6的4g够用么)

  • 微信换号码了怎么改手机账号(微信换号码了怎么发在朋友圈里面)

    微信换号码了怎么改手机账号(微信换号码了怎么发在朋友圈里面)

  • 微信视频号什么时候出来的(微信视频号什么时候发作品容易上热门)

    微信视频号什么时候出来的(微信视频号什么时候发作品容易上热门)

  • 打电话响9声后weis呼为什么叫失败(打电话响9声后呼叫失败)

    打电话响9声后weis呼为什么叫失败(打电话响9声后呼叫失败)

  • 拼多多没有拼单成功怎么取消订单(拼多多没有拼单成功怎么退款取消订单)

    拼多多没有拼单成功怎么取消订单(拼多多没有拼单成功怎么退款取消订单)

  • 钉钉观看回放时长怎么算(钉钉观看回放时间)

    钉钉观看回放时长怎么算(钉钉观看回放时间)

  • 微信解封一直提示收不到短信(微信解封一直提示失败)

    微信解封一直提示收不到短信(微信解封一直提示失败)

  • qq点赞8次的含义(qq点赞8次的意思)

    qq点赞8次的含义(qq点赞8次的意思)

  • 手机位置信息是什么意思(手机位置信息是不是一直要开着)

    手机位置信息是什么意思(手机位置信息是不是一直要开着)

  • 怎么开启笔记本电脑的无线功能(怎么开启笔记本无线网络功能)

    怎么开启笔记本电脑的无线功能(怎么开启笔记本无线网络功能)

  • 抖音怎么查到手机号(抖音怎么查手机记录)

    抖音怎么查到手机号(抖音怎么查手机记录)

  • 抖音店铺怎么开通(2023抖音店铺怎么开)

    抖音店铺怎么开通(2023抖音店铺怎么开)

  • 快手主页如何置顶三个自己喜欢的作品?(快手主页具体位置怎么设置)

    快手主页如何置顶三个自己喜欢的作品?(快手主页具体位置怎么设置)

  • 韩剧tv的电影在哪里看(韩剧tv的电影在线观看)

    韩剧tv的电影在哪里看(韩剧tv的电影在线观看)

  • ipad怎么看电池健康(ipad怎么看电池效率)

    ipad怎么看电池健康(ipad怎么看电池效率)

  • 小米8屏幕发黄怎么回事(小米8屏幕发黄怎么办)

    小米8屏幕发黄怎么回事(小米8屏幕发黄怎么办)

  • 管控端解除守护怎么解(管控端解除守护什么意思)

    管控端解除守护怎么解(管控端解除守护什么意思)

  • 怎么连接局域网电脑(魔兽争霸怎么连接局域网)

    怎么连接局域网电脑(魔兽争霸怎么连接局域网)

  • 鸿蒙怎么设置默认音乐软件?鸿蒙设置默认音乐软件(鸿蒙怎么设置默认系统)

    鸿蒙怎么设置默认音乐软件?鸿蒙设置默认音乐软件(鸿蒙怎么设置默认系统)

  • 君子兰的养殖方法和注意事项(君子兰的养殖方法)

    君子兰的养殖方法和注意事项(君子兰的养殖方法)

  • yolov5——detect.py代码【注释、详解、使用教程】(yolo object detection)

    yolov5——detect.py代码【注释、详解、使用教程】(yolo object detection)

  • 分类问题的评价指标:多分类【Precision、 micro-P、macro-P】、【Recall、micro-R、macro-R】、【F1、 micro-F1、macro-F1】(分类问题的评价方法有)

    分类问题的评价指标:多分类【Precision、 micro-P、macro-P】、【Recall、micro-R、macro-R】、【F1、 micro-F1、macro-F1】(分类问题的评价方法有)

  • 上月少计提的个税本月怎么调整
  • 计提本月所得税费用怎么算
  • 房产税如何交
  • 计提附加税会计凭证怎么做会计分录
  • 城镇垃圾处理费的计税依据
  • 税收指的是什么
  • 其他个人出租房屋按照多少征收应纳税额
  • 支付给法律顾问的钱
  • 担保费能否开专票
  • 银行电子承兑汇票怎么转让
  • 资产负债和所有者权益三要素反映企业的
  • 红字发票冲销的销项税怎么处理
  • 补贴给客户的支出怎样做会计分录?
  • 交易性金融资产的交易费用计入哪里
  • 企业注销前需要固定资产清理吗
  • 生活垃圾处理项目基础金融产品包括
  • 垃圾填埋沼气发电招聘
  • 专项维修基金和契税有什么区别
  • 安全生产费用包含哪些
  • 发票单据流水号
  • win10自带的照片查看器
  • 年薪制职工薪酬计算方法
  • php怎么获取单选框的值
  • 安全生产责任险保障范围
  • 销售已使用过的固定资产增值税税率
  • 冲减其他应收款需要领导审批吗
  • 代开专票缴纳的增值税怎么做账?
  • win10桌面图标怎么随意摆放
  • 跨年发票能不能开
  • dgservice.exe是什么软件
  • 应付职工薪酬的含义
  • php框架的作用
  • Yii2实现ajax上传图片插件用法
  • 小微企业延缓缴纳
  • 有利润但不交企业所得税
  • 超参数有哪些调优方法
  • openai 入门
  • 企业会计日志
  • 注解@entity
  • sql数据库check 约束代码怎么设置
  • 超简单的土法自制水泥
  • 加油卡充值如何退款
  • 商业汇票如何申请操作
  • 有净残值的固定资产如何折旧
  • 残保金的滞纳金怎么算
  • 法定盈余公积的作用
  • 企业所得税季度申报表营业收入怎么填写
  • 购买性支出和转移性支出的区别
  • 工程奖金计入什么科目
  • 商誉的会计核算怎么核算
  • 办公室租赁费摊销分录
  • 社保扣款上月没扣费
  • 融资租赁咨询服务合同
  • 复利现值系数表怎么算
  • 医保卡收到钱
  • 开空头发票犯法吗
  • 增值税发票红冲和作废的区别
  • 怎么设置win7密码
  • 服务器找不到存储盘
  • centos6 service
  • windows的安装
  • win8.1文件夹选项
  • 惠普装xp系统
  • win7系统有自带的杀毒软件吗
  • win8不能安装软件
  • win10玩游戏遇到问题需要重新启动
  • win8.1使用技巧
  • cocos2dx 教程
  • curl发送formdata
  • shell编程之循环语句for与while
  • dos命令 /b
  • jquery model
  • void方法设置断言
  • Unity multiplayer
  • 细说javascript
  • androidstudio性能检测工具
  • cocos creator android
  • 上季度报表错误怎样更正
  • 福建通用定额发票查询
  • 代办营业执照代办人有什么法律责任
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设