html - 如何删除第三方选择器?

标签 html css css-selectors

我将第三方 CSS(不允许我修改)导入到我的应用程序中。这个 CSS 文件声明了一个类名和一个选择器,例如:

.third-party-class{
  color: blue;
}

.third-party-class:last-of-type{
  color: red;
}

我的目标是仅使用 CSS 完全删除 .third-party-class:last-of-type 选择器。当然,您可以覆盖 .third-party-class:last-of-type 选择器并复制 .third-party-class 中的每个属性。但如果 .third-party-class 有很多属性,这就很不方便了。

.third-party-class{
  color: blue;
}

.third-party-class:last-of-type{
  color: red;
}

.desired-li{
  color: blue;
}
<div>
Currently:
  <ul>
    <li class="third-party-class">one</li>
    <li class="third-party-class">two</li>
    <li class="third-party-class">three</li>
</ul>

Desired:
  <ul>
    <li class="desired-li">one</li>
    <li class="desired-li">two</li>
    <li class="desired-li">three</li>
  </ul>
</div>

问题

是否可以完全覆盖/删除 CSS 选择器,而无需仅使用 CSS(无 JS)重新声明“基”类的所有属性?

最佳答案

由于我们正在处理 last-of-type 并且您无法更改 CSS,您可以添加一个额外的元素来触发此选择器并将其隐藏(我想您可以调整HTML):

.third-party-class {
  color: blue;
}

.third-party-class:last-of-type {
  color: red;
  background:pink;
  font-size:250px;
  opacity:0.9;
  display:flex;
  vertical-align:sub;
  /*doesn't matter what CSS you will have here*/
}

ul li:last-of-type {
  display:none!important;
}
<ul>
  <li class="third-party-class">one</li>
  <li class="third-party-class">two</li>
  <li class="third-party-class">three</li>
  <li></li>
</ul>

关于html - 如何删除第三方选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53833878/

相关文章:

javascript - Canvas API 和 Web worker

jquery - 我们可以将两个 html 选择器与 jquery 结合起来吗

html - 响应 : resize background image in div

html - 溢出: scroll with position: absolute parent prevent scroll

javascript - 增加 slider.js 箭头按钮的大小

jquery - 如何使用 jQuery 选择和更改表格单元格的值?

javascript - jQuery:仅选择包含字符串的类?

html - IE11 - 如何在禁用的字段集中启用滚动条

jquery - 如何在 jquery 中单击时更改文本和正方形矩形?

javascript - 按类或 Id 将 div append 到另一个 div