◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
伪类:has选择父元素
td:has(> .unfoldTable){ //可选中所有td下包含unfoldTable的class标签的td属性 color: red; } td:has(> div){ //可选中所有td下包含div标签的td属性 color: red; }
特殊举例分析:
个别UI框架个别标签通过事件直接生成或者无法选中的情况。直接使用::v-deep会导致全部标签改变,包裹标签使用class名::v-deep无法选中父元素改变父元素属性的情况。
如:elementui的table的type="expand"表格展开行。点击展开后td标签有padding。但td标签和包裹他的tr标签都是点击后产生的。无法在外层包裹div,直接用::v-deep会改变包裹他的表格的样式。
所以可以使用伪类:has来改变td标签的padding。
部分代码:
//标签 <el-table-column type="expand"> <template slot-scope="scope"> <div class="unfoldTable"> <el-table :show-header="false" :data="statusDetail"> <el-table-column label="序号" width="80" align="center" /> <el-table-column width="40"></el-table-column> //样式 ::v-deep td:has(> .unfoldTable){ //需要额外加入穿透和!important padding: 0px !important; }
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。