如何在不修改第三方元素的情况下替换:: shadow

斯迈思

我正在寻找一种替代方法,::shadow因为它已经不复存在了。我在此网站上找到了两个有关此主题的主题,但都暗示要修改shadow元素。在这里那里

但是,Web组件的关键是能够导入我们在网页/应用程序中在Internet上找到的任何元素。因此,这意味着我不想在这些“第三方元素”上进行任何修改,因为存在源,并且如果我对其进行修改,则在以后对其进行更新时它将被覆盖。

因此,假设我在webcomponents.org创建某种按钮的元素进行下载,但是我需要更改此按钮的颜色,因为它不适合我的页面/应用程序的样式。元素创建者没有在他的CSS中放置任何变量,没有@apply规则,没有导入,什么也没有。只是聚合物元件本身,才能正常工作。

如何在不修改元素源代码的情况下做到这一点?

托尼19

一种选择是强制性地设置样式。获取对该元素的引用,使用该元素上的DOM API为其要修改的内部元素查询其影子DOM,然后设置该style引用属性。

例如,<gold-cc-cvc-input>当前没有用于设置其信用卡图标样式的扩展点。

  1. 右键点击Chrome中的图标,然后在DevTools中对其进行检查。我们看到图标上有一个id“图标”。

  2. 获取对的引用<gold-cc-cvc-input id="cvc">,并设置style“ icon”元素的。在这里,我们使用Polymer的自动节点查找功能来获取<gold-cc-cvc-input>其ID的引用(即this.$.cvc),然后是对内部“ icon”元素的引用(即this.$.cvc.$.icon)。

    this.$.cvc.$.icon.style.border = 'solid 2px blue';
    

HTMLImports.whenReady(() => {
  Polymer({
    is: 'x-foo',
    attached: function() {
      this.$.cvc.$.icon.style.border = 'solid 2px blue';
    }
  });
});
<head>
  <base href="https://polygit.org/polymer+1.7.1/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link rel="import" href="polymer/polymer.html">
  <link rel="import" href="gold-cc-cvc-input/gold-cc-cvc-input.html">
</head>
<body>
  <x-foo></x-foo>

  <dom-module id="x-foo">
    <template>
      <gold-cc-cvc-input id="cvc"></gold-cc-cvc-input>
    </template>
  </dom-module>
</body>

码笔

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不修改第三方代码的情况下取消警告

如何在不安装npm的情况下包括第三方npm模块?

在不修改sys.path或第三方软件包的情况下,在Python软件包中导入供应商依赖性

没有第三方解析器的情况下,如何在Kotlin中解析JSON?

没有任何第三方模块的情况下,如何在Node Js中进行https发布?

如何在不使用第三方应用程序的情况下打开iBook文件?

如何在没有第三方工具的情况下向后(向左)扩展硬盘分区?

如何在没有第三方软件的情况下将 Apache Druid 连接到 Power BI?

如何在不要求第三方库的情况下使用php作为模板引擎

如何在不用作模块的情况下更新第三方库内部的依赖项?

如何在不使用.Net Core中的第三方记录器的情况下登录文件?

如何在没有d.ts文件的情况下导入第三方软件包?

如何在没有第三方的情况下使用Angular / Typescript对HTML表进行排序?

如何在不使用第三方插件的情况下最大化打开新终端?

如何在没有第三方软件的情况下更改Windows 10上的MAC地址?

如何在没有第三方软件的情况下远程访问我的电脑?

如何在没有第三方库的情况下加密 sqlite 文本 (Android)

如何在没有第三方库的情况下为雪人制作动画?

Android如何在没有第三方的情况下发送帖子请求

替换 box-shadow

在Linux中没有第三方工具的情况下如何获取IP信息?

在没有第三方库的情况下,如何在Go 1.8中设置http2服务器?

如何在.Net Core 3 ASP.NET MVC中不使用第三方记录器的情况下登录文件?

如何在不使用第三方浏览器扩展的情况下使用用户样式表自定义某些网站的样式?

在不使用任何第三方库的情况下,如何在React Native项目中使用Font Awesome?

如何在没有任何第三方工具的情况下将chrome中的控制台日志保存到本地文件中?

如何在不使用第三方库的情况下转义Java字符串中的Unicode字符

如何在不使用IAM的情况下将第三方文件上传到私有S3存储桶?

如何在没有任何第三方库的情况下使用 Node.js 下载 .gz 文件