本篇文章由:http://xinpure.com/css3-picture-angle-effect/

图片折角效果主要是通过设置 border 属性实现的效果

效果预览

效果解析

假设我们将一个元素的 width 、height 都设置为0,然后再将 border 设置为 80px,上下和左右边框分别为两种不同的颜色

即:

width: 0;
height: 0;
border: 80px solid;
border-color: #00a67c #333;

这时我们可以看到,四条边框像四个三角形一样拼合在一起 (显然通过设置单条边框,我们可以制作一个三角形)

发挥一下想像,四条边框是四个三角形合在一起形成了正方形,那如果设置成两条边框呢?

会不会是两个三角形拼合成正方形呢?事实证明是会的!

CSS Code:

.border {
width: 0;
height: 0;
border: 0px solid;
border-color: #00a67c #333;
float: left;
margin-left: 10px;
}
.border1 {
border-left-width: 80px;
border-top-width: 80px;
}
.border2 {
border-left-width: 80px;
border-bottom-width: 80px;
}
.border3 {
border-right-width: 80px;
border-top-width: 80px;
}
.border4 {
border-right-width: 80px;
border-bottom-width: 80px;
}

HTML Code:

<div class="border border1"></div>
<div class="border border2"></div>
<div class="border border3"></div>
<div class="border border4"></div>

以下是四种去掉两条边框的效果:

聪明的同学可能已经发现,折角效果其实就是两个三角形组合的正方形,形成的效果,当然还需要调整颜色的透明度等等。

这里要实现的是右上角的折角效果,因此我们需要选用上图中的第四种效果。

另外补充一点,

添加折角效果其实就是在图片的上面一层添加,所以用到了伪元素 :before

最终代码示例

CSS Code

.image-layer {
width: 384px;
height: 240px;
margin: 40px auto 0;
position: relative;
cursor: pointer;
overflow: hidden;
} .image-layer:before {
content: '';
position: absolute;
top: 0;
right: 0;
border: 0px solid;
border-color: rgba(0, 0, 0, 0.2) #fff;
-webkit-transition: border .5s ease;
} .image-layer:hover:before {
border-right-width: 80px;
border-bottom-width: 80px
}

HTML Code

<div class="image-layer" id="image-layer">
<img src="test.jpg" />
</div>

最新文章

  1. 从零开始的Android新项目1 - 架构搭建篇
  2. 无法卸载windows组件?提示zClientm.exe
  3. 第二部分 overlay 架构初探
  4. 《Python基础教程(第二版)》学习笔记 -&gt; 第一章 基础知识
  5. 对C语言中sizeof细节的三点分析
  6. C++ 动态分配类对象
  7. ReactiveCocoa应用篇(二)
  8. 1011. A+B和C (15)
  9. 生成pdf
  10. dp-棋盘形dp
  11. App测试全(转自鲁德)
  12. Python入门-用户登录程序
  13. Python模块的导入以及软件开发规范
  14. Linux 定位网络不通问题
  15. Xcode OpenGL ES Frame Capture的使用
  16. Android EventBus3.x 使用详解
  17. pygame学习笔记(5)——精灵
  18. tomcat 如何查看tomcat版本及位数
  19. Rancher的安装配置
  20. React 父子组件和非父子组件传值

热门文章

  1. datatable无法设置横向滚动条(设置无效)
  2. Java高级架构师(一)第31节:Nginx简介、安装和基本运行
  3. Hiho----拓扑排序
  4. js模板引擎-art-template常用
  5. andriod 启动日历
  6. 【JSP JSTL】&lt;c:if&gt;多个判断条件 + &lt;c:foreach&gt;满足条件跳出循环
  7. Ubuntu下轻松安装virtualbox
  8. iOS中nil、Nil、NULL、NSNull详解
  9. 二十四种设计模式:建造者模式(Builder Pattern)
  10. Ajax和Jsonp实践