我正在尝试在可点击的项目列表上使用涟漪效应,但是当我将该列表封装到自定义元素中时,我面临的问题是涟漪效应遍布整个屏幕。如果我将它放在我的 index.html 中效果很好,但是当我创建包含在那里的自定义元素时会失败。查看问题的图片:
我一直在阅读类似的问题,答案是使容器相对,这应该已经完成。所以我想知道在使用自定义元素的波纹效果时是否需要在主机中设置任何特殊属性。
我的示例代码如下。
索引.html
<!doctype html>
<html lang="">
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>List test</title>
<script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="elements/elements.html">
<style>
paper-icon-item {
position: relative;
height: 48px;
}
</style>
</head>
<body unresolved class="fullbleed layout vertical">
<template is="dom-bind" id="app">
<my-list></my-list>
</template>
<script src="scripts/app.js"></script>
</body>
</html>
我的列表.html
<dom-module id="my-list">
<style>
paper-icon-item {
position: relative;
height: 48px;
}
</style>
<template>
<section>
<div class="menu">
<paper-icon-item>
<div class="label" fit>Mark as unread</div>
<paper-ripple></paper-ripple>
</paper-icon-item>
<paper-icon-item>
<div class="label" fit>Mark as important</div>
<paper-ripple></paper-ripple>
</paper-icon-item>
<paper-icon-item>
<div class="label" fit>Add to Tasks</div>
<paper-ripple></paper-ripple>
</paper-icon-item>
<paper-icon-item>
<div class="label" fit>Create event</div>
<paper-ripple></paper-ripple>
</paper-icon-item>
</div>
</section>
</template>
</dom-module>
<script>
(function () {
Polymer({
is: 'my-list'
});
})();
</script>
将 index.html 中的 替换为 my-list.html 的部分标记内容(包括部分标记)时,涟漪效果可以正常工作。波纹中的 fit 属性也没有解决问题。我在自定义组件中缺少什么?