css - 为什么将::content 更改为::slotted(..) 不起作用?

标签 css polymer

环境: polymer 3

问题: 我已将::content 更改为::slotted,但样式不起作用:

改变前

   .ContentWrapper,
      .ScrollAndHeaderContainer,
      :host ::content .my-data-grid--BaseHTMLWrapper {
        flex: 1 1 auto;
        display: flex;
        flex-flow: column nowrap;
        min-height: 0;
      }

改变后

 .ContentWrapper,
      .ScrollAndHeaderContainer,
      :host ::slotted(.my-data-grid--BaseHTMLWrapper) {
        flex: 1 1 auto;
        display: flex;
        flex-flow: column nowrap;
        min-height: 0;
      }

我是这样用的:

<div class="my-data-grid--BaseHTMLWrapper">

此更改后样式不起作用。

有人可以给我解释一下为什么吗?我完全不知道。

最佳答案

这是一个可能有帮助的工作示例:

DEMO

索引.hml :

<!DOCTYPE html>
<html lang="en">
  <head>
    <script src="https://unpkg.com/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
    <script type="module" src="custom-element.js"></script>
  </head>
  <body>  

    <custom-element>
        <div slot = "test" class="my-data-grid--BaseHTMLWrapper" >SLOT TEST </div>
    </custom-element>

  </body>
</html>

自定义元素.js:

import { PolymerElement, html } from 'https://unpkg.com/@polymer/polymer@3.0.0-pre.13/polymer-element.js';
class CustomElement extends PolymerElement {
  static get template() {
    return html`
      <style>
        div ::slotted(.my-data-grid--BaseHTMLWrapper) {
          flex: 1 1 auto;
          display: flex;
          flex-flow: column nowrap;
          min-height: 0;

          font-family: sans-serif;
          color:red;

        }
      </style>
      <div><slot name='test'></slot></div>
    `;
  }
}
customElements.define('custom-element', CustomElement);

关于css - 为什么将::content 更改为::slotted(..) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53431277/

相关文章:

polymer - 如何在Polymer 1.0中创建新的模板实例?

javascript - Polymer 1.0 全局变量

json - polymer 核心 ajax 不会发布 JSON?

jquery - 使用 JQuery/JS 和选择框根据选择更改样式表

jquery - 表格标题在滚动过程中需要保持固定

internet-explorer - ie的盒子阴影发光效果

html - 导航元素之间有目的的不均匀间距

php - 在 <img> 标签中显示以 # 开头的图像

javascript - Polymer app-route 子路由不会随着路由更改而更新

javascript - 可以获得 templateInstance 值但不能将其用于其他函数?