css实现翻页效果

时间:2021-08-13 15:33:31

css实现翻页效果

如图,鼠标移动到图上,实现右上角翻页的效果,本例主要border边框的设置。

一、基本概念

<html>
<head>
<style>
#demo{
width:0;
height:0;
border:solid 50px;
border-top-color: #f00 ;
border-right-color: #ff0 ;
border-bottom-color:#0f0;
border-left-color:#00f;
}
</style>
</head>
<body>
<div id="demo"></div>
</body>
</html>

css实现翻页效果

当元素width和height为0,此时的边框呈现如上图所示,相邻的两条边框可以组成新的三角形。

所以我们的翻页效果就是,蓝绿组成新的三角形(颜色设为相同),红黄组成新的三角形(颜色设为相同),并且边框宽度逐渐由0变大的过程。

如果要实现翻页边框的长宽比,则要对边界线两边的边框单独设置,本例即要单独设置红蓝边框或者黄绿边框

<html>
<head>
<style>
#demo{
width:0;
height:0;
border:solid 50px;
border-top-color: #f00 ;
border-right-color: #ff0 ;
border-bottom-color:#0f0;
border-left-color:#00f;
border-width: 80px 80px 50px 50px;
}
</style>
</head>
<body>
<div id="demo"></div>
</body>
</html>

css实现翻页效果

这是对上/右边框设置的效果。

完整代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>border-width效果</title>
<style type="text/css">
body {
background-color: #eaf0f2;
}
.paper-flip {
position: relative;
width: 500px;
height: 300px;
margin: 0 auto;
} /*image-layer*/
.image-layer {
width: 500px;
height: 300px;
overflow: hidden;
position: absolute;
top: 0;
left: 0;
} .image-layer img {
width: 500px;
cursor: pointer;
} .image-layer:before {
content: '';
position: absolute;
top: 0;
right: 0;
border-style: solid;
border-width: 0;
border-top-color: #fff ;
border-right-color: #fff;
border-bottom-color:rgba(0,0,0,0.5);
border-left-color:rgba(0,0,0,0.5);
border-radius: 0 0 0 4px;
box-shadow: 0 1px 1px rgba(0,0,0,0.5);
transition:all 0.4s ease-out;
} .image-layer:hover:before{
border-left-width:50px;
border-top-width:30px;
} </style>
</head>
<body>
<div class="paper-flip" id="paper-flip">
<div class="image-layer" id="image-layer">
<img src="http://p6.qhimg.com/d/inn/3f563406/table.jpg" alt="">
</div>
</div>
</body>
</html>