当前位置: 首页 > wzjs >正文

集团网站风格Dw制作个人网站

集团网站风格,Dw制作个人网站,注册界面设计,价格便宜的网站建设如果弹出框挂载在 body 下(而非组件内部),scoped 样式无法生效,这时就需要使用全局样式。 强制全局样式 1、添加全局样式文件(或在原有的文件中添加以下内容) src/assets/global.scss /* 全局强制样式覆…
如果弹出框挂载在 body 下(而非组件内部),scoped 样式无法生效,这时就需要使用全局样式。
强制全局样式

1、添加全局样式文件(或在原有的文件中添加以下内容) src/assets/global.scss

/* 全局强制样式覆盖 *//* 表格筛选器样式 */
/* 表格筛选器样式,筛选内容区域 */
.el-popper.is-light.el-table-filter .el-table-filter__content {min-width: 100px;
}
/* 表格筛选器样式,底部操作区域 */
.el-popper.is-light.el-table-filter .el-table-filter__bottom {display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 8px 12px !important;
}
/* 表格筛选器样式,底部操作区域,按钮元素 */
.el-popper.is-light.el-table-filter .el-table-filter__bottom button {font-size: 14px;
}
/* 表格筛选器样式,底部操作区域,按钮元素,开头的按钮,筛选 */
.el-popper.is-light.el-table-filter .el-table-filter__bottom button:first-child {color: black;
}
/* 表格筛选器样式,底部操作区域,按钮元素,最后的按钮,重置 */
.el-popper.is-light.el-table-filter .el-table-filter__bottom button:last-child {color: black;
}

也可以使用scss嵌套写法

/* 全局强制样式覆盖 *//* 表格筛选弹窗 */
/* 表格筛选弹窗容器 */
// .el-popper.is-light.el-table-filter {
// .el-popper[class*="el-table-filter"] 是一个稳健的选择器写法,专为 Element Plus 动态类名场景设计,能有效解决因类名顺序或动态类导致的样式覆盖失效问题
.el-popper[class*="el-table-filter"] {/* 筛选内容区域 */.el-table-filter__content {min-width: 100px;max-height: 450px;}/* 滚动条容器 */.el-scrollbar {height: 100% !important; /* 继承内容容器高度 *//* 滚动可视区域 */.el-scrollbar__wrap {max-height: 100% !important;overflow: auto !important;}/* 内容视图 */.el-scrollbar__view {min-height: 100% !important; /* 防止内容不足时高度塌陷 */padding: 8px; /* 内容内边距 */}}/* 底部操作区域 */.el-table-filter__bottom {display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 8px 12px !important;/* 按钮元素 */button {font-size: 14px;}/* 开头的按钮,筛选 */button:first-child {margin-left: 0;}/* 最后的按钮,重置 */button:last-child {margin-right: 0;}}
} 

2、在 main.ts 中,导入全局样式文件 global.scss

......
// 引入全局样式
import "@/assets/global.scss";

样式效果:

 

获取使用全局样式的调试方法 :

  1. 在浏览器中 手动添加样式 测试:

    • 打开开发者工具 (F12)

    • 找到底部按钮元素 <div class="el-table-filter__bottom">

    • 在 Styles 面板右侧点击 +,手动输入以下代码:

    .el-table-filter__bottom {background: red;
    }

如果手动添加的样式生效,说明需要 全局样式

全局样式设置讲解说明

一、选择器拆解

css

复制

下载

.el-popper.is-light.el-table-filter .el-table-filter__bottom

可以分解为三个层级:

  1. .el-popper

    • 表示这是一个弹出层容器(popper.js 生成的浮层容器)

  2. .is-light

    • 表示这是一个「浅色主题」的弹出层(Element UI 的视觉主题修饰符)

  3. .el-table-filter

    • 表示这是一个「表格列筛选器」的特定组件

  4. .el-table-filter__bottom

    • 表示筛选器底部的操作区域(子元素)


二、层级关系解析

1. 父容器结构

html

复制

下载

运行

<!-- 组合类名的父容器 -->
<div class="el-popper is-light el-table-filter"><!-- 内部包含的子元素 --><div class="el-table-filter__bottom"></div>
</div>
  • .el-popper.is-light.el-table-filter
    表示同时拥有这三个类名的元素(多个类名直接连接,中间没有空格)

  • .el-table-filter__bottom
    是该容器的后代元素(中间的空格表示后代选择器)


2. 实际匹配的 DOM 结构

假设 Element UI 生成的 HTML 结构如下:

html

复制

下载

运行

<!-- 表格列筛选器浮层 -->
<div class="el-popper is-light el-table-filter" style="position: absolute; top: 100px; left: 200px;"><!-- 筛选内容区域 --><div class="el-table-filter__content">...</div><!-- 底部操作区域 --><div class="el-table-filter__bottom"><button>重置</button><button>确定</button></div>
</div>
  • 选择器会精准匹配到 最后一个 <div class="el-table-filter__bottom"> 元素


三、选择器特点

1. 复合类名选择

el-popper.is-light.el-table-filter 表示同时满足:

  • 是弹出层容器(.el-popper

  • 使用浅色主题(.is-light

  • 属于表格列筛选器(.el-table-filter

2. 后代选择器

最后的空格表示 .el-table-filter__bottom 是前面复合容器的子元素

3. 高特异性(Specificity)

这种写法比单一类名选择器(如 .el-table-filter__bottom)具有更高的优先级,可以覆盖默认样式


四、实际作用总结

这个选择器的本质是:
「针对 Element UI 中所有使用浅色主题的表格列筛选弹出框,精准定位到它的底部操作区域」

相当于在代码层面完成了以下筛选逻辑:

js

复制

下载

if (元素是弹出层容器 && 是浅色主题 && 是表格筛选器) {找到它的底部操作区域元素
}

五、为什么需要这样写?

  1. 精准定位:避免样式污染其他弹出层(如日期选择器、下拉菜单等)

  2. 主题适配:仅针对浅色主题的筛选器(深色主题不受影响)

  3. 覆盖默认样式:通过高特异性选择器覆盖组件库默认样式

这种选择器写法是 Element UI 等组件库开发中常见的 BEM + 状态修饰符 的组合用法。

.el-popper.is-light.el-table-filter

.el-popper[class*="el-table-filter"]

.el-popper[class*="el-table-filter"] 是一个 复合 CSS 选择器,它的含义可以通过拆解来理解:


语法解析

组成部分含义
.el-popper匹配所有 class 属性中包含 el-popper 类的元素
[class*="el-table-filter"]匹配 class 属性值中 包含子字符串 el-table-filter 的元素
组合后的选择器匹配同时满足以下条件的元素:
1. 包含 el-popper 类
2. class 属性中包含 el-table-filter

为什么这样写?

Element Plus 的筛选弹窗 DOM 结构通常是这样的:

html

复制

下载

运行

<div class="el-popper is-pure is-light el-table-filter" ...><!-- 弹窗内容 -->
</div>

这里:

  • el-popper 是 Element 弹窗组件的基类

  • el-table-filter 是表格筛选功能特有的标识类

但实际渲染时,Element 可能会动态添加其他修饰类(如 is-lightis-pure),导致类名顺序或数量不确定。使用 [class*="el-table-filter"] 可以:

  1. 避免依赖类名顺序

  2. 兼容未来可能的类名变化

  3. 覆盖嵌套在其他组件中的弹窗


与直接写 .el-table-filter 的区别

写法问题场景
.el-table-filter如果弹窗的类名是 el-popper el-table-filter,直接选择器有效
.el-popper.el-table-filter如果类名顺序变化(如 el-table-filter el-popper),选择器会失效
.el-popper[class*="el-table-filter"]无论类名顺序如何,只要包含 el-table-filter 子字符串就生效

实际应用场景

假设 Element 在不同版本中渲染出以下结构:

html

复制

下载

运行

<!-- 旧版本 -->
<div class="el-popper el-table-filter is-light"><!-- 新版本 -->
<div class="el-table-filter el-popper is-pure"><!-- 动态场景 -->
<div class="el-popper some-dynamic-class el-table-filter">

使用 [class*="el-table-filter"] 可以 通配所有可能性,保证选择器始终生效。


性能与风险

优点注意事项
更强的兼容性过度使用 *= 可能误匹配其他包含 el-table-filter 子字符串的类名
避免类名顺序依赖确保目标元素的 class 中确实包含 el-table-filter
简化版本升级适配建议配合开发者工具验证实际 DOM 结构

验证方法

在浏览器开发者工具中:

  1. 打开 Elements 面板

  2. 找到筛选弹窗的 DOM 元素

  3. 检查其 class 属性是否包含 el-table-filter

    验证示例


总结

.el-popper[class*="el-table-filter"] 是一个 稳健的选择器写法,专为 Element Plus 动态类名场景设计,能有效解决因类名顺序或动态类导致的样式覆盖失效问题。


文章转载自:

http://Ug5cB8JO.bmncq.cn
http://twPjJbIX.bmncq.cn
http://xMN00wfh.bmncq.cn
http://mp1auKA2.bmncq.cn
http://07hQ1Wv7.bmncq.cn
http://wV180ebn.bmncq.cn
http://G0NlqjBP.bmncq.cn
http://t0mYxmFV.bmncq.cn
http://5AWz1NAM.bmncq.cn
http://IHjYfZnd.bmncq.cn
http://L9HsKXcg.bmncq.cn
http://AaXx3Tog.bmncq.cn
http://QmuVRLdu.bmncq.cn
http://27wEIhh1.bmncq.cn
http://rR55Zozy.bmncq.cn
http://6eGKcmpt.bmncq.cn
http://o9YDgALO.bmncq.cn
http://ZcVyXMHF.bmncq.cn
http://L5LuKIX5.bmncq.cn
http://vNRW0nyc.bmncq.cn
http://8VTeeXmQ.bmncq.cn
http://3bvb1m6h.bmncq.cn
http://SEgK1y3X.bmncq.cn
http://sBbt2IHW.bmncq.cn
http://o0MEFZjE.bmncq.cn
http://bkIplBvK.bmncq.cn
http://bQwRHOLT.bmncq.cn
http://WkT4l3Zn.bmncq.cn
http://fAZDtHpN.bmncq.cn
http://H2t1y7Oh.bmncq.cn
http://www.dtcms.com/wzjs/640748.html

相关文章:

  • 柳城企业网站开发公司国外免费网站域名服务器查询
  • 做公司网站需要准备什么科目微分销商城
  • 邯郸网站建设咨询安联网络wordpress中文案例
  • 跟京东类似的网站即墨做网站
  • 富阳做网站方式定制制作网站价格
  • 保定 网站建设网站建设合同建设方注意事项
  • 最近中国新闻事件网站推广百度优化
  • 营销网站制作需要多少钱wordpress问答插件哪个好
  • 企业网站的常见服务是什么长春百度seo
  • 网站开发用什么语言最安全广州海珠区租房
  • 网站内容管理系统 下载网站建设前期如何规划
  • 网站论坛源码wordpress 头像缓存到本地
  • 查网站是什么公司做的wordpress 注册登陆插件
  • 河南建设银行官方网站纯静态网站页面优化
  • 门户网站建设管理工作方案wordpress主题慢
  • 山西省建设厅官方网站甘肃建投土木工程建设有限公司网站后台
  • 个人博客建站wordpress2015网站建设源码
  • 汉中微信网站建设wordpress 主题公园
  • 河南省做网站的公司有哪些做面包的网站
  • 南充市住房与城乡建设网站网站聚合搜索怎么做
  • 建站基础高端企业网站建设费用
  • 阿玛尼手表网站教育类网页设计素材
  • 交互式网站开发技术有哪些代发百度首页排名
  • 电子商城怎么注册seo网站页面优化包含
  • wordpress 亲子主题淄博 网站seo优化
  • 长沙做网站最好的公司有哪些找人 做网站 一般注意
  • 哪家做网站的好做网站开发的过程
  • 做神马网站优化快速php模板建站
  • 高安建站公司没有有知道钓鱼网站在哪儿做
  • 精品网站模板怎么找精准客户资源