html - 是否可以通过仅使用 html 和 css 按下按钮来获得动画?
问题描述
正如您在此 codepen中看到的那样,我在卡片上有一个 fip 动画。我想当您按下查看详细信息按钮时,卡片会旋转 180 度。¿ 是否可以仅使用 html 和 css 而不使用 javascritp 来获取它?
我的html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Card Flipped</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="A fully featured admin theme which can be used to build CRM, CMS, etc." name="description" />
<meta content="Coderthemes" name="author" />
<!-- App favicon -->
<link rel="shortcut icon" href="assets/images/favicon.ico">
<!-- App css -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
</head>
<body>
<!-- Begin page -->
<div class="wrapper">
<div class="row">
<div class="col-md-6 col-lg-3">
<!-- Simple card -->
<div class="flip-container" >
<div class="flipper">
<div class="front">
<!-- front content -->
<div class="card d-block">
<img class="card-img-top" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ8MjPXuGsKGugRrvrD9YQtR_nZD6Ka4Q_7ZpyzJV2TEPtfadpP" alt="Card image cap" height="180" weight="80">
<div class="card-body">
<h5 class="card-title">Introduction to particle physics</h5>
<p class="card-text">Some quick example text to build on the card title and make
up the bulk of the card's content. Some quick example text to build on the card title and make up.</p>
<a href="javascript: void(0);" class="btn btn-primary">Buy</a>
<a href="javascript: void(0);" class="btn btn-primary view-details">View Details</a>
</div> <!-- end card-body-->
</div> <!-- end card-->
</div>
<div class="back">
<h1>Do you like it?</h2><!-- back content -->
</div>
</div>
</div>
</div>
<!-- END wrapper -->
<script src="assets/js/app.min.js"></script>
</body>
</html>
我的CSS代码:
/* flip the pane when hovered */
.btn-primary { background: red;}
.flip-container:hover .flipper{
transform: rotateY(180deg);
}
/*
.view-details:hover .flipper, .view-details.hover .flipper {
transform: rotateY(180deg);
}
*/
.flip-container, .front, .back { /*Attention*/
width: 280px;
height: 480px;
}
/* flip speed goes here */
.flipper {
transition: 0.6s;
transform-style: preserve-3d;
position: relative;
}
/* hide back of pane during swap */
.front, .back {
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
/* front pane, placed above back */
.front {
z-index: 2;
/* for firefox 31 */
transform: rotateY(0deg);
}
/* back, initially hidden pane */
.back {
transform: rotateY(180deg);
}
我最近发布了一个类似的帖子,但不同的是,当鼠标悬停在名为 view-details 的按钮上时会出现动画。
解决方案
当然这是可能的,您可以将复选框更改为看起来像一个按钮,并在勾选复选框时运行动画。在这里,我发现了一个有趣但基本的教程
推荐阅读
- javascript - 为什么我不能将 EventListener 留在函数中?
- r - 如何从 R 的分布式数据中绘制图表
- c++ - 共享指针生命周期
- ssis - 使用 SSIS 将数据复制到 Excel 工作表
- azure - Microsoft Azure:我已从 Visual Studio 签入代码,它会自动构建在管道中
- node.js - 打字稿请求承诺没有重载匹配这个调用
- windows-7 - 是否有一个 env var 可以让程序知道运行它的用户是否在 Windows 的屏幕上具有 GUI?
- php - 使用 Neve 主题在 Wordpress 上修改分类归档模板
- flutter - ??-运算符做什么?
- unity3d - 为什么我的 Unity/MRTK 应用程序中的 HoloLens1 上的“空中点击”手势不起作用?