vue样式

news/2024/9/20 20:23:09

1.局部样式,在style标签上加stoped,样式只在当前组件生效,原理是编译后给当前组件内所有标签加上data-v-hash属性,给样式生成属性选择器 .myClass[data-v-hash] {color: red; },不加scoped样式在全局生效。

<style scoped>

.myClass {

  color: red;

}

</style>

2.父组件修改子组件的样式时可以使用 /deep/ 或者使用组件库时,这样样式会被编译为 [data-v-hash] .myClass {color: red;},在写一下vue项目的时候,经常会引起一些组件,无论是自定义组件还是引入的外部组件,style经常用scoped属性实现组件的私有化,防止影响到其他页面上的样式。但是有时候需要在父组件中更改子组件的样式,比如要改变element-ui某个深层次元素(eg:.el-input_inner)或其他深层次样式时,就要用到组件穿透,(也叫深度修改css,深度作用选择器)可用的方法有 >>> 、 /deep/ 、 ::v-deep,有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。如果项目style使用的是css 原生样式,那么你可以直接使用 >>> 穿透修改,但是像scss等预处理器却无法解析>>>,所以我们使用下面的方式.

/deep/
项目style中用到了css预处理器 scss 、sass、less时, 操作符 >>> 可能会因为无法编译而报错 。可以使用 /deep/,但是在vue-cli3编译时,/deep/的方式会报错或者警告,导致变异报错。这个时候用::v-deep

::v-deep
::v-deep在预处理器 scss 、sass、less 比较通用切记必须是双冒号,是::v-deep而不是::deep

总结
当我们在项目中需要用额外的样式来打造自己的应用样式时,只能通过深度作用选择器

style为css时的写法如下

.a >>> .b {

}

style使用css的预处理器(less, sass, scss)的写法如下

第一种/deep/

/deep/ .a {

}

第二种::v-deep

::v-deep .a{

}

建议使用第二种方式,/deep/在某些时候会报错,::v-deep更保险并且编译速度更快(网上没有找到相关资料,无从验证)。

3.CSS写在不同的地方有不同的优先级,css文件中的定义 < 元素style中的属性,但是如果使用!important,就会提高指定样式规则的应用优先权,语法格式{ sRule!important },即写在定义的最后面

一、!important语法

选择器{样式:值!import;}

!important为开发者提供了一个增加样式权重的方法。应当注意的是!important是对整条样式的声明,包括这个样式的属性和属性值

.important_true{
     color:blue !important;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/47426.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

FUM论文阅读笔记

FUM: Fine-grained and Fast User Modeling for News Recommendation Abstract 现存的问题: ​ 现有方法通常先将用户点击的新闻独立编码为新闻嵌入,然后将其聚合为用户嵌入。然而,这些方法忽略了同一用户点击的不同新闻之间的词级交互,而这种交互包含丰富的细节线索来推断…

从专业领域到代码世界:一位全科医生到全栈开发者的HarmonyOS跨界之旅

2024年6月23日,在华为开发者大会(HDC 2024)HarmonyOS开发者一站式服务分论坛上,汇集了华为专家、各行各业的开发者们,共同探讨如何在HarmonyOS的赋能下为行业和社会创造更多价值。特别要提及其中一位开发者陈胜歌,他于6月22日受邀参加了在东莞三丫坡举办的HDC 2024开发者…

匿名内部类再开发时候的使用

public interface USB { public void open(); } public class Test { public static void main(String[] args) { method( new USB(){ @Override public void open() { System.out.println("打开u成功"); } });//这里通过匿名内部类创建了接口对象,传入下面的method方…

Modbus转Profibus网关在汽车行业的应用

Modbus转Profibus网关(XD-MDPB100)应用于汽车行业,主要体现在提升自动化水平、优化数据传输以及实现设备间的无缝连接等方面。Modbus协议转Profibus协议网关是实现Modbus设备和Profibus设备之间通信的桥梁,在本文中,我们将介绍Modbus转Profibus网关(XD-MDPB100)在汽车行…

匿名内部类(重点)

所谓匿名内部类.可以理解为没有显式声明出来的内部来 问题描述:我们如果想调用接口里的方法或者继承抽象类里的变量.就要创建一个实现类来实现接口重写方法等还要new对象调用, 如果只是简单想使用一次接口里的方法,如何变得不麻烦 a.创建实现类 b实现接口,重写方法 c创建实现类…

Mystrcmp与指针的特点

/******************************************************************************************************* @file name: :Mystrcmp* @brief :模拟strcmp* @author :wvjnuhhail@126.com* @date :2024/06/24* @version 1.0 :V1.0* @proper…

【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据

问题描述 Azure Logic App连接到SQL数据库后,执行存储过程并转换执行结果为JSON数据的步骤问题解答 在Logic App Design页面中,添加 Execute stored procedure组件,然后转换结果为JSON。 设计图如下: 关键步骤: 1) 添加 Sql Server 连接器中的 Execute stored procedur…