element-ui之el-tooltip 在其加自定义类名

1
2
3
4
5
6
7
8
9
10
<el-table-column
  align="center"
  width="300"
  label="出险摘要">
  <template slot-scope="scope">
     <el-tooltip placement="top" popper-class="popper" :content="scope.row.DAMAGECONTEXT">
       <span style="white-space: nowrap;">{{scope.row.DAMAGECONTEXT}}</span>
     </el-tooltip>
  </template>
</el-table-colum>

大家是不是都是这样写的,检查元素后,发现类名添加上了,但是写的样式并没有应用,这是因为样式中有用到scoped

 

在style标签上添加scoped属性,表示它的样式作用于当下的模块,很好的实现了样式私有化的目的;但另一方面的弊端是如果添加了scoped属性,那么样式将会变得不易修改。这也是引入它出现的新的问题;

总结一下scoped三条渲染规则

  1. 给HTML的DOM节点加一个不重复data属性(形如:data-v-2311c06a)来表示他的唯一性
  2. 在每句css选择器的末尾(编译后的生成的css语句)加一个当前组件的data属性选择器(如[data-v-2311c06a])来私有化样式
  3. 如果组件内部包含有其他组件,只会给其他组件的最外层标签加上当前组件的data属性

当然这个新问题是可以解决的,就是直接在本文件另外写一个不带scoped属性的style标签,也就意味着要加两个style,一个用于私有样式,一个用于共有样式。这肯定是有点shit的,并且这两种解决方案都回避不了一个问题:权重!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<style scoped lang="less">
  .exportRecordL_box{
      padding: 24px;
     .popper{
       margin-left: 45px !important;
     }
     .fieldTitlt{
      font-size:16px;
      font-weight: 600;
    }
  }
</style>    <br>// 将要修改的样式写到全局中 <style scoped lang="less">
  .exportRecordL_box{
      padding: 24px;
     .fieldTitlt{
      font-size:16px;
      font-weight: 600;
    }
  }
</style>    <style scoped lang="less">  .popper{
       margin-left: 45px !important;
   }</style>

  game over~

 

posted @   梁文璇say  阅读(1992)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示