Polymer 1.x:paper-fab提升不起作用?

时间:2016-03-02 07:27:29

标签: polymer polymer-1.0 paper-elements

In this jsBin,我正在尝试为我的元素添加paper-fab

我希望看到与elevation属性相对应的阴影。但相反,我没有看到阴影。所有高程似乎都具有相同的阴影(隐含的z深度)。

我的代码或元素有问题吗?

http://jsbin.com/corisahoqi/edit?html,output
<!doctype html>
<head>
  <meta charset="utf-8">
  <!---- >
  <base href="https://polygit.org/components/">
  <!---- >
  Toggle below/above as backup when server is down
  <!---->
  <base href="https://polygit2.appspot.com/components/">
  <!---->
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link href="polymer/polymer.html" rel="import">
  <link href="paper-fab/paper-fab.html" rel="import">
  <link href="iron-icons/iron-icons.html" rel="import">
</head>
<body>

<dom-module id="x-element">

<template>
  <style>
    paper-fab {
      margin: 15px;
    }
  </style>
  <paper-fab icon="add" elevation="5"></paper-fab>
  <paper-fab icon="add" elevation="4"></paper-fab>
  <paper-fab icon="add" elevation="3"></paper-fab>
  <paper-fab icon="add" elevation="2"></paper-fab>
  <paper-fab icon="add" elevation="1"></paper-fab>

</template>

<script>
  (function(){
    Polymer({
      is: "x-element",
    });
  })();
</script>

</dom-module>

<x-element></x-element>

</body>

3 个答案:

答案 0 :(得分:2)

让我觉得这个元素有问题。在documentation中,听起来好像它可以按照您的意图使用。

  

此元素的z深度,范围为0-5。设置为0将删除阴影,每个增加的数字大于0将比最后一个

“更深”

但是elevation属性是只读的,所以设置它没有效果。

答案 1 :(得分:1)

paper-fab实现了paper-button-behavior。由于@Maria提到elevation仅返回生成的高程,因此它只是readonly且无法设置。

您可以尝试添加raised(?),focused(?),disabled(0),active(4),pressed等属性(4),receivedFocusFromKeyboard(3)应该提升高度,但似乎所有支持(如果有的话)。

答案 2 :(得分:1)

I just found this issue report which confirms @Maria's answer

因此,作为补丁,I am adding the following CSS code (jsBin)在悬停时添加阴影以模拟material design elevation spec here

  

按钮提升。凸起按钮的默认高度为2dp。在桌面上,凸起的按钮可以在悬停时获得此提升。

paper-fab:hover {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3);
}
http://jsbin.com/hitororuja/edit?html,output
<!doctype html>
<head>
  <meta charset="utf-8">
  <!---- >
  <base href="https://polygit.org/components/">
  <!---- >
  Toggle below/above as backup when server is down
  <!---->
  <base href="https://polygit2.appspot.com/components/">
  <!---->
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link href="polymer/polymer.html" rel="import">
  <link href="paper-fab/paper-fab.html" rel="import">
  <link href="iron-icons/iron-icons.html" rel="import">
</head>
<body>

<dom-module id="x-element">

<template>
  <style>
    paper-fab:hover {
      box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.3);
    }
  </style>
  <paper-fab icon="send"></paper-fab>

</template>

<script>
  (function(){
    Polymer({
      is: "x-element",
    });
  })();
</script>

</dom-module>

<x-element></x-element>

</body>