css - 将动画传递到 Polymer mixin

标签 css polymer polymer-2.x

我有一些纸标签和一些 CSS 代码,如以下代码片段,但我不知道如何将动画名称或 @keyframes 传递到 Polymer 用于的混合中纸制标签(--paper-tabs-selection-bar)。我该怎么做呢?最好只使用 CSS,但也欢迎使用 JavaScript 的最佳实践。

HTML:

<paper-tabs selected="0">
    <paper-tab name="test">Test</paper-tab>
</paper-tabs>

CSS:

/* keyframes can't be accessed without the deprecated /deep/ selector */
paper-tabs {
    --paper-tabs-selection-bar: {
        animation: selection-bar-clear 0.4s ease forwards;
    }
}
@keyframes selection-bar-clear {
    from {
        border-bottom: 2px solid var(--app-header-light-text-color);
    }

    to {
        border-bottom: 2px solid var(--app-header-dark-text-color);
    }
}


/* keyframes aren't parsed in mixins */
paper-tabs {
    --paper-tabs-selection-bar: {
        animation: selection-bar-clear 0.4s ease forwards;
        @keyframes selection-bar-clear {
            from {
                border-bottom: 2px solid var(--app-header-light-text-color);
            }

            to {
                border-bottom: 2px solid var(--app-header-dark-text-color);
            }
        }
    }
}

最佳答案

看看https://www.polymer-project.org/2.0/docs/devguide/custom-css-properties#custom-properties-shim-limitations看看这对于纯 CSS 混入/变量是否真的可行。我的猜测是否定的,但我还没有阅读完整的文档,更不用说尝试了。

我可能会去 Web Animations路由,因为这样您就可以将动画作为一个单独的类(在 JavaScript 中)实现,将其混合到您的元素的实现中并使用您自己的 Shiny 动画方法之一。

关于css - 将动画传递到 Polymer mixin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47542680/

相关文章:

javascript - 如何用jquery改变 polymer 元素的属性? (修复应用程序抽屉加载时的故障)

javascript - 扩展类聚合物

javascript - Polymer 2.0 dom-if 渲染模板,即使条件为 false

javascript - 播放 youtube 视频时隐藏 div

javascript - 带有关键帧的滚动条上的元素淡入淡出无法正常工作

css - 选择下拉菜单中的 CSS3 最后一个子项不起作用

javascript - Polymer v 1.0 .. 在带注释的事件处理程序中传递值

html - 在侧面菜单上更改当前子页面的背景颜色

javascript - 嵌套自定义 polymer 元素中的数据绑定(bind)(递归数据绑定(bind))

javascript - connectedCallback() 破坏了 Polymer 2.x Plunk