当Flash层放置在元素上时,保留CSS动画
Keep CSS animation when a Flash layer is placed over element
我使用的是ZeroClipboard库,因为它支持safari,而其他包,如clipboard.js则不支持。ZeroClipboard
的工作方式是在按钮上放置一个不可见的闪光组件。虽然这允许按钮保持其初始样式设置的CSS,它不允许它使用它的样式属性,如cursor
和:active
。您可以在下面或JSFiddle
代码片段似乎不能与ZeroClipboard
一起工作。参见JSFiddle查看工作示例
ZeroClipboard.config({swfPath: "https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.2.0/ZeroClipboard.swf"});
var client = new ZeroClipboard($("#copyH"));
body {
background: grey;
}
h1.copybtn {
background: #4942ff;
display: inline-block;
padding: 2px;
border-style: solid;
border-width: 1px;
border-color: white;
cursor: pointer;
color: white;
-webkit-transition: all 0.25s !important;
-moz-transition: all 0.25s !important;
-o-transition: all 0.25s !important;
transition: all 0.25s !important;
font-size: 1.2em;
-webkit-transform: translateY(-5px);
-moz-transform: translateY(-5px);
-o-transform: translateY(-5px);
transform: translateY(-5px);
}
h1.copybtn:active {
-webkit-box-shadow: -1px -1px 4px #7f7aff;
-moz-box-shadow: -1px -1px 4px #7f7aff;
box-shadow: -1px -1px 4px #7f7aff;
-webkit-transform: translate(1px, -4px);
-moz-transform: translate(1px, -4px);
-o-transform: translate(1px, -4px);
transform: translate(1px, -4px);
-webkit-transition: all 0.25s !important;
-moz-transition: all 0.25s !important;
-o-transition: all 0.25s !important;
transition: all 0.25s !important;
}
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.2.0/ZeroClipboard.js"></script>
<h1 class="copybtn" data-clipboard-text="Won't copy">Has effects working</h1>
<br>
<h1 id="copyH" class="copybtn" data-clipboard-text="Will copy">Has copy working</h1>
是否有一种方法可以让我从包和CSS样式中保留功能?
你可以把样式放在flash对象本身而不是按钮上。或者同时使用多个选择器:
#global-zeroclipboard-flash-bridge, #copyH { cursor:pointer; }
不确定id是如何生成的,所以在确定如何编写css时可能要小心。
ZeroClipboard有一个类.zeroclipboard-is-active
,它将允许这个例子正确工作。
&:active, &.zeroclipboard-is-active {
@include box-shadow(-1px -1px 4px #7f7aff);
@include transform(translate(1px, -4px));
@include transition(all 0.25s !important);
}
相关文档可以在这里找到
相关文章:
- 禁用滚动,但保留滚动条CSS
- 如何在javascript中进行CSS单元计算并保留CSS单元
- 应该很简单:当转到另一个页面时,如何在基本javascript/css/html页面上保留数据
- 使用 javascript 动态更改文本时保留 CSS
- 如何在不使用 CSS 的情况下在动态添加的 javascript DOM 元素中保留空格
- CSS:当 image1 动画不合适时,一组图像会移动,而它们应该保留在原处
- 如何从 css 动画关键帧获取图像以在完成后保留在页面上
- Javascript“对象”不保留css值
- 在悬停时保留和添加新的转换 (CSS/LESS)
- 在保留CSS的同时更改innerHTMl
- 当代码包含保留字时,设置代码的CSS
- 是否可以使用JavaScript转储DOM并保留CSS效果和布局
- 如何保留页面'阻止CSS影响加载html文档的iframe
- SVG到PNG保留CSS使用javascript
- Javascript代码Cookie保留/保留替代Css
- Jquery不保留CSS样式
- 将HTML加载到DIV中,但保留CSS,JS包括
- 对列表进行排序,但保留CSS标记
- 当Flash层放置在元素上时,保留CSS动画
- 用Javascript填充HTML表并保留CSS样式