摘要:文件中标签的几个标识符在人生就要绝望的时候被编辑器所提示的一个所拯救卧槽写到最后才发现这个属性的具体卵用详情见最后解决办法问题背景问题由来项目中使用了框架与文件现状中使用类名进行了样式的绑定个人认为使用这种方式的绑定写起来很麻烦不仅仅是麻烦
.vue文件中style标签的几个标识符
在人生就要绝望的时候, 被编辑器所提示的一个scopedSlots所拯救.问题背景 问题由来
卧槽, 写到最后才发现这个属性的具体卵用. 详情见最后解决办法.
项目中使用了elementUI框架, 与.vue文件.
现状: 中使用$style:[类名], 进行了样式的绑定.
个人认为使用$style这种方式的绑定, 写起来很麻烦.
不仅仅是麻烦更重要的是, 没有办法直接影响和修改element中的样式.
...
陷入点
不知道清楚再style中使用了module这个属性的具体含义
dev启动环境下, 使用scoped形成独立作用域后, 并不能影响到elemnt中组件的样式.
使用scopedSlots标识style标签后, 解决问题. 但出现 dev环境正常, 部署后, 不起作用
问题详解 认识.vue的标签这应该是关系到, vue-loader这个webpack的插件
vue-laoder会解析组件, 提取语言块. 在需要的时候, 经过其他的loader处理, 最后组装成一个commonjs模块.
其实就是export default出来一个对象 然后呢, 上面的, 挂载在 这个对象的template属性上
之前, 直接import引近来一些样式文件也是可行的, 但当时并未思考这些标识如何实现.
可以有module和scoped属性, 来将样式封装到组件中. 具有不同封装模式的多个标签, 可以在一个组件中混合使用
默认情况下, style-loader会提取内容, 并通过标签, 加入到文档的中. 也可以通过配置webpack形成单个.css文件.
$style配合参考: https://vue-loader-v14.vuejs.org/zh-cn/features/css-modules.html
在中使用一个module属性, 可以形成名为$style的计算属性
从而在节点中动态绑定样式.
...
形成的计算属性可以绑定:class的object/array语法.
在html中 class绑定的事一个object语法.
如果在data上面的isRed这个属性是true的话, 就会添加上red这个属性名
从而形成了一个属性控制
测试
可以在js中通过console.log(this.$style.red)进行访问
可以使用module=""来更改$style这个名称
scoped的作用域是如何的
当标签有scoped属性的时候, 他的css样式只作用在当前作用域
使用了scoped之后, 父组件的样式不会再深入到自组件.
不过子组件的根节点同时受到 父组件有作用域的CSS 和 子组件有作用域的影响
但是有一点: 如果我们在子组件上面添加了一个类样式 就能向下一层层的进行修改
深度作用选择器: >>> 或者是 /deep/
已验证: 在less下面不起作用
已验证: 在普通的css下才起作用.
据网上说, stylus起作用, scss不起作用, 并未验证
v-html动态生成的样式不受作用域内样式影响, 但我想应该加个类样式名称,可以解决.(未验证)
css的作用域的渲染方式, 远不如class的渲染速度
递归组件中, 小心使用CSS样式.
element中样式的混入方式 (todo)通过打包进行样式的使用, 故使用方式在build的文件夹中
样式目录为: element/packages/theme-chalk/src/menu.scss, 以方便后期的具体查看
解决过程 使用scopedSlots解决我擦哦, 再次测试后, 发现添加scopedSlots并没有什么卵用, 和什么都不写是他妈一个样子啊.. 我说怎么, 怎么查了半天, 也没人用.添加scoped之后, 在子组件上面添加类样式名, 发现并没有卵用
还被这玩意所拯救, 也真是够了..
当时还骄傲了半天, 还以为是发现了新天地, 也真是6了.
错误依旧: 只是在表面层上的有一些data-v的注入
没有找到需要注入到里面的条件, 发现自己前面大部分的判断都是错误的.
解决方案一: scoped方案将无法进行样式覆盖的部分拿出来
使用原生的css样式, 添加scoped
使用 >>> 语法糖进行样式的注入
解决方案二: module方案使用module进行属性的选择
然后是用:global()进行这个属性下面的全部选择
进而选中这个没有在作用域下面但是可以选择到的元素
个人始终认为这种选择方案, 可以做到css作用域的区分, 但是, 并不灵活
具体的以后再分析
总结.vue文件中的只有module和scoped, 没有其他取巧方案
module形成一个代表属性的计算属性, 默认名称为$style, 其中的:global()可以进行这个区域下面的所有元素的选择.
scoped形成的作用域, 可以通过>>>来进行子组件的样式覆盖, 带只要原生的css支持.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/96184.html
摘要:最常见的用法,是用来链接一个外部的样式表,比如标签还能做一些其他的事情,来帮助我们提高页面性能。可以帮助我们提高页面的性能。 写在前面 本文首发于公众号:符合预期的CoyPan HTML 中元素规定了外部资源与当前文档的关系。最常见的用法,是用来链接一个外部的样式表,比如: link标签还能做一些其他的事情,来帮助我们提高页面性能。 link标签的使用 来看一下link标签除了链接外...
摘要:最常见的用法,是用来链接一个外部的样式表,比如标签还能做一些其他的事情,来帮助我们提高页面性能。可以帮助我们提高页面的性能。 写在前面 本文首发于公众号:符合预期的CoyPan HTML 中元素规定了外部资源与当前文档的关系。最常见的用法,是用来链接一个外部的样式表,比如: link标签还能做一些其他的事情,来帮助我们提高页面性能。 link标签的使用 来看一下link标签除了链接外...
摘要:随着承担地职责越来越大,模块化开发的需求越来越急迫。我们可以把当成是模块化标准的实现方案,但的功能不仅限于此。支持多种模块使用方式,包括的。下面介绍一下在工程中常用的。最后一个的输出就是我们最终要的结果。在文件有值的情况下,是必要的。 由于web应用扩展地得极其迅猛,前端技术也是日新月异,前端的苦不是有多难学,而是我刚学完,这东西就被淘汰了(手动哭脸)。框架方面我们有vue、react...
摘要:前言最近在研究使用的使用在查阅了数篇文章后学习了的基础打包流程本来就可以一删了之了但是觉得未免有点可惜所以就有了这篇文章供大家参考打包的教程具有时效性有不少作者在一直维护一篇文章超过一定时间参考价值就会下降希望各位了解这一点使用的依赖一览 前言 最近在研究使用webpack的使用,在查阅了数篇文章后,学习了webpack的基础打包流程. 本来就可以一删了之了,但是觉得未免有点可惜,所以...
摘要:多页面跳转之前看过有相关朋友了空的多页面脚手架不过了几个都是或者的刚好项目需要用到就在的基础上进行了修改已经有直接用即可如果需要修改配置的请到里面修改并且全局引了如果不需要或者不喜欢请到里面修改多页面空脚手架链接如果需要路由版的在的另外一 vue2.* (多页面跳转) @[vue2.3.3|webpack2.6.1|less|axios] 之前看过有相关朋友share了空的多页面脚...
阅读 1311·2021-09-27 13:56
阅读 2342·2019-08-26 10:35
阅读 3499·2019-08-23 15:53
阅读 1850·2019-08-23 14:42
阅读 1236·2019-08-23 14:33
阅读 3564·2019-08-23 12:36
阅读 1951·2019-08-22 18:46
阅读 1000·2019-08-22 14:06