作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 Polymer 1.0 应用程序中制作一个 float 添加按钮,其功能与 Google Inbox 的 float 添加按钮非常相似。那么第一个问题:
为了实现类似的功能,我目前正在使用 paper-fab
元素和 onmouseover
和 onmouseout
js 功能如下:
<paper-fab id="addBtn" icon="add" class="fab red" onmouseover="hoverOver(this)" onmouseout="hoverOut(this)"></paper-fab>
<script>
hoverOver = function(srcElement) {
srcElement.querySelector("paper-material").elevation = 4;
};
hoverOut = function(srcElement) {
srcElement.querySelector("paper-material").elevation = 0;
};
</script>
这是推荐的方法,还是有更巧妙、更“聚合”的方法来实现这一点?
最佳答案
您可以仅使用 css 来实现。
paper-fab::shadow > paper-material {
@apply(--shadow-none);
}
paper-fab::shadow > paper-material:hover {
@apply(--shadow-elevation-8dp);
}
在 paper-material
元素的源代码中,您可以看到 elevation
属性只是用于设置 box-shadow
元素上的样式。因此,无需在 js 中更新属性(然后设置 css),您只需直接在 css 中更新相同的内容即可。 p>
<dom-module id="paper-material">
<style>
:host {
display: block;
position: relative;
@apply(--shadow-transition);
}
:host([elevation="1"]) {
@apply(--shadow-elevation-2dp);
}
:host([elevation="2"]) {
@apply(--shadow-elevation-4dp);
}
:host([elevation="3"]) {
@apply(--shadow-elevation-6dp);
}
:host([elevation="4"]) {
@apply(--shadow-elevation-8dp);
}
:host([elevation="5"]) {
@apply(--shadow-elevation-16dp);
}
</style>
关于polymer - 在造纸厂悬停时更改纸材高度(Polymer 1.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31867223/
我正在尝试在 Rails 中构建我的第一个 api。为此,我想使用 Angular 作为前端,使用 ruby 作为后端。我设法让 Angular 工作,但由于某种原因我无法让 Angular Ma
我是一名优秀的程序员,十分优秀!