vue项目样式中的scoped属性

☞☞ 个人主页欢迎访问 ☜☜


大家好,我是苏日俪格,这段时间在做项目的关于皮肤的一个里程碑,也就是大量的修改UI界面样式,避免不了的更换一些插件、新增一些组件或是修改样式,在项目中有很多东西都是公共组件,为了方便每个人的使用,当然每个人的页面效果不一定全都是一样的,所以需要在自己的组件中重写一下样式,这个时候问题就来了,在我的组件里引入的公共组件ztree、vuescroll和bootstrap-table以及项目中自行封装的组件等,我无论怎么也重写不了它的样式,即使加了最变态的important,那都不一定完全好使,而且important本来也不是什么好东西,先不说影不影响别人的组件样式,自己之后要是想覆盖都做不到,改了大半天改到自己怀疑人生,这时候没办法只好google一下,却不曾想是scoped这个妖孽的过。。。

连自己最信任的代码color:red都实现不出来,能不上吊么。。。
我在网上发现了这个:

为了方便称呼,我们假设把这种组件叫做模块私有组件,其他的未加scoped的叫做模块一般组件。
通过查看DOM结构发现:vue通过在DOM结构以及css样式上加唯一不重复的标记,以保证唯一,达到样式私有化模块化的目的。

也就是说这个小可爱把我们的组件变成了私有而且不可更改,如果我们避免它影响全局,这么写确实很好,心里很舒服,那如果要给公共组件的样式做一些调整,那就哭爹喊娘都不好使了;

那么我的解决办法虽然有些麻烦,但是还是很好用的,就是在组件模板中最外层的容器上加一个id,因为整个vue项目就是一个页面,id也一定是唯一的,把scoped去掉,在样式的外面都加上一个id,改变它的权重,使其只在本组件中起作用。

#defineSecret .ztree li ul li a span.node_name {
    display: inline-block;
    width: 66px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
#defineSecret #tree>li>a span:nth-child(2) {
    font-weight: bold;
}
#defineSecret .bootstrap-table {
    margin: 20px auto;
}
#defineSecret .bootstrap-table .table:not(.table-condensed) {
    padding: 0;
}

当然栗子中的defineSecret就是我给组件加的id,这样无论是ztree还是bootstrap-table的样式都是可以重写的。

之前参考了下面的那篇文章,提到了它所谓的穿透scoped和曲线救国的方式,我给博主提了bug,其实并不好用,最简单最直接就是给组件加个标识,所有样式都基于这个标识进行重写。

参考文章:
https://www.cnblogs.com/karthuslorin/p/9038854.html

如果喜欢本文的话单击爱心加关注谢谢O(∩_∩)O~

本文的所有内容均是一字一句敲上去的,希望大家阅读完本文可以有所收获,因为能力有限,掌握的知识也是不够全面,欢迎大家提出来一起分享!谢谢O(∩_∩)O~

欢迎访问我的GitHub,喜欢的可以star,项目随意fork,支持转载但要下标注;
欢迎光临个人主页

等一下( •́ .̫ •̀ ),我还有最后一句话:
我爱你,
如果我要的你一开始就给了我,
那我就失去了与你纠缠不休的理由,
你也知道,
我没有多余的故事,
也只有你这一件往事,
再见...
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 本文发布在我的博客vue中慎用style的scoped属性许可协议: 署名-非商业性使用-禁止演绎4.0国际 ...
    2ue阅读 9,050评论 2 7
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,428评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,691评论 2 59
  • 杨楚凡清楚地感觉到事情开始不对劲了,虽然现在周围看起来都很平静。风吹过山峰的声音很低沉,与其说那是是风声倒不...
    25a4d71a9d37阅读 319评论 2 1
  • 2018年9月16日 星期日 小雨转多云 十年前的今天,女儿呱呱落地,生活中多了一抹快乐的色彩!10周岁了,宝...
    美妙宝贝阅读 196评论 0 1