位置: 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盒子边框圆角)

  • ppt页码怎么去掉(怎样去掉ppt页码)

    ppt页码怎么去掉(怎样去掉ppt页码)

  • 微信朋友圈头像下面的字怎么设置(微信朋友圈头像下的文案)

    微信朋友圈头像下面的字怎么设置(微信朋友圈头像下的文案)

  • 微信收藏删了能恢复吗(微信收藏删除后可以找回吗)

    微信收藏删了能恢复吗(微信收藏删除后可以找回吗)

  • 街电充电宝抠出来不能充电(街电充电宝抠出来)

    街电充电宝抠出来不能充电(街电充电宝抠出来)

  • excel小三角怎么弄出来(excel小三角怎么选多条)

    excel小三角怎么弄出来(excel小三角怎么选多条)

  • 戴尔win10睡眠无法唤醒(戴尔电脑进入休眠唤醒不了)

    戴尔win10睡眠无法唤醒(戴尔电脑进入休眠唤醒不了)

  • 编程和机器人编程的区别(编程和机器人编程未来哪一个就业会)

    编程和机器人编程的区别(编程和机器人编程未来哪一个就业会)

  • 登录vivo账号显示网络异常(为什么vivo账号登录没反应)

    登录vivo账号显示网络异常(为什么vivo账号登录没反应)

  • 华为指关节截屏不灵了怎么办(华为指关节截屏没反应)

    华为指关节截屏不灵了怎么办(华为指关节截屏没反应)

  • 华为自动重启(华为自动重启解决方案)

    华为自动重启(华为自动重启解决方案)

  • 网关不可达是什么意思(wifi网关不可达)

    网关不可达是什么意思(wifi网关不可达)

  • 苹果手机发热严重怎么回事(苹果手机发热严重会怎么样)

    苹果手机发热严重怎么回事(苹果手机发热严重会怎么样)

  • 运行在哪(win11的开始运行在哪)

    运行在哪(win11的开始运行在哪)

  • 启用网络发现保存不了(启用网络发现保存后打开又是关闭状态)

    启用网络发现保存不了(启用网络发现保存后打开又是关闭状态)

  • 苹果手机视频打不开是什么原因(苹果手机视频打不开了怎么办)

    苹果手机视频打不开是什么原因(苹果手机视频打不开了怎么办)

  • t106平板型号(t106 平板)

    t106平板型号(t106 平板)

  • 苹果耳机有杂音滋滋怎么办(苹果耳机有杂音怎么修)

    苹果耳机有杂音滋滋怎么办(苹果耳机有杂音怎么修)

  • qq卸载了会一直在线吗(qq卸载会显示什么)

    qq卸载了会一直在线吗(qq卸载会显示什么)

  • iphone11发热怎么解决(苹果11发热官方如何)

    iphone11发热怎么解决(苹果11发热官方如何)

  • 滴滴购买的优惠券怎么退款(滴滴购买的优惠券怎么开发票)

    滴滴购买的优惠券怎么退款(滴滴购买的优惠券怎么开发票)

  • 小米cc9pro分辨率是多少(小米cc9e手机分辨率怎么调)

    小米cc9pro分辨率是多少(小米cc9e手机分辨率怎么调)

  • 美图秀秀萌趣贴纸在哪(美图秀秀萌拍素材已下载)

    美图秀秀萌趣贴纸在哪(美图秀秀萌拍素材已下载)

  • oppo reno是不是60倍变焦(oppo reno是不是双扬声器)

    oppo reno是不是60倍变焦(oppo reno是不是双扬声器)

  • cad文字乱码怎么修复(cad文字乱码怎么转化为正常文字)

    cad文字乱码怎么修复(cad文字乱码怎么转化为正常文字)

  • vue+node+mysql全栈项目完整记录(nodejs vue)

    vue+node+mysql全栈项目完整记录(nodejs vue)

  • 关于HTML中常用选择器(html用语)

    关于HTML中常用选择器(html用语)

  • 总账会计的职责目标设定
  • 税务局代个人开发票
  • 发票冲红重开,重开时是按新税率还是旧税率
  • 人工费已经支付怎么入账
  • 横幅属于什么发票范围
  • 制造费用在借方表示什么
  • 收到促销费方怎么做账
  • 个人所得税离职补偿金优惠政策
  • 所得税申报表里季初资产是指什么
  • 土地补偿款收入要交什么税
  • 股权转让过渡期损益会计处理
  • 无形资产增资需要缴纳个税吗
  • 城镇土地使用税的计税依据
  • 计提成本会计分录怎么做
  • 不征税收入税屋
  • 清包工如何纳税
  • 预缴纳税申报怎么报
  • 预缴水利基金如何申报?
  • 个人所得税申报退税的条件
  • 资本公积转增实收资本所有者权益会变吗
  • 地产商自持是什么意思
  • 普通的增值税发票可以查询到购买人的信息吗
  • 财务管理和会计学哪个好就业
  • 车船税在哪个科目下
  • 外币借款利息汇兑差额计算公式
  • 全年平均职工人数按季度平均公式
  • 服务设计合同标准版
  • 车间废品如何做账
  • 工程承包款要交多少税
  • 收到政府返还土地款 奖励 土地增值税
  • 收到服务费专票怎么做账
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • php vr
  • 代办税务需要什么资质
  • 苹果手机连接电脑
  • 无法偿还应付账款账务处理
  • 固定资产后续支出一律计入固定资产成本
  • php判断密码长度
  • 增值税检查的内容
  • bootstrapicon
  • javafiles
  • 外贸公司美金账户维护费用
  • 待摊费用在资产负债表里写在哪
  • python如何提取字典中的键
  • 应付职工薪酬怎么冲平
  • 差旅费补贴要交个人所得税文件
  • mybatis调用存储过程详解
  • 支付个人赔偿款要交税吗
  • 租赁个人房屋租金怎么算
  • 限额领料单属于什么凭证
  • sql 数据计算
  • 交通运输行业属于什么性质
  • 基本户与一般户的区别与联系
  • 全资子公司变成孙公司是利好吗?
  • 行政单位拨出经费的规定
  • 房地产企业土地增值税预缴
  • 第三季度利润
  • 农业公司土地租赁
  • 公司不按照劳动法给工资怎么办
  • 查询公司的公积金账号怎么查
  • mysql 复制表结构并把满足条件的数据添加到新表
  • windowsxp忘记密码了怎么办简单点
  • windows server vista
  • centos怎么看硬盘
  • 在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker的步骤
  • soffice.exe - soffice进程是什么意思 有什么用
  • linux doc
  • cocos2d开发的知名游戏
  • opengl update
  • unity 3d脚本编程
  • bootstrap需要学多久
  • 河北省网上税务局电子税务局
  • 浙江国税电子税务局
  • 税控盘时钟异常怎么办
  • 税务局追缴社保流程及办理期限
  • 江苏优抚对象
  • 民族贸易产生的原因
  • 企业资金运转资金投放
  • 货车违章查哪个部门
  • 企业在开办过程中的具体流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设