CSS简单实例:用css来实现透视效果

2016-02-20 00:13 38 1 收藏

今天图老师小编要跟大家分享CSS简单实例:用css来实现透视效果,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

【 tulaoshi.com - Web开发 】

用css实现透视效果

今天萌发一个想法,用css来实现透视效果。起初,我想到的是我们常见的添加阴影效果的方法,用多个div通过偏移来实现,但这需要很多 div,不够理想。随后,我想到css的一个属性:border,在border相连接处可以产生对角线效果。这样用两个div就可以实现,我们先看看 最终效果 ,然后再分析实现过程。

首先,我们看看border如何生成的对角线效果,在你的html的头部增加以下代码,你就会看到 这样的效果 。

.border{width:0;height:0;border-width:50px;border-color:#f00 #0f0 #00f #000;border-style:solid;}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

有了上面的基础,我们就可以用两个额外的div来实现透视效果。

一、html代码如下

div class="perspective-outer"
 div class="perspective-r"/div
 div class="perspective-b"/div
 div class="perspective-inner"透视效果元素/div
/div

二、Css代码:

.perspective-outer{
 position:relative;
 width:170px;/*要实现透视效果元素的宽度+透视距离*/
 height:140px;/*要实现透视效果元素的高度+透视距离*/
}
.perspective-inner{
 border:1px solid #f60;
 height:118px;
 width:148px;
 background-color:#fff;
}
.perspective-r,
.perspective-b{
 position:absolute;
 width:0;
 height:0;
}
.perspective-r{
 right:0;
 height:100px;/*要实现透视效果元素的高度(120px) - (border-top:20px)*/
 border-left:20px solid #000;/*右边透视距离*/
 border-top:20px solid #fff;/*下边透视距离*/
}
.perspective-b{
 bottom:0;
 width:150px;/*最外元素的宽度(170px) - border-left*/
 border-left:20px solid #fff;
 border-top:20px solid #000;
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

.perspective-outer定义高度和宽度,并相对定位,确保右边和下边的透视区域能定位的相应的位置,高度值和宽度值为要实现透视效果元素的高度加上相应的透视距离。.perspective-r只需设置高度值,其值为.perspective-outer的高度减去border-top,.perspective-b只需设置宽度值,其值为.perspective-outer的宽度减去border-left。.perspective-r的border-top和.perspective-b的border-left的width值决定透视角度。.perspective-r的border-left和.perspective-b的border-top的width值 决定透视距离。其中.perspective-r的border-top和.perspective-b的border-left的color为父元素的背景颜色,我这里的测试页面父元素为body,所以为白色。

三、后记

本文只是做一个简单得测试,其目的在于抛砖引玉。这种方法其实用性究竟有多大,咱姑且不论,但至少可以给我们一种解决问题的思路。希望此文能对你有所帮助。

原文:http://www.denisdeng.com/?p=474;

来源:https://www.tulaoshi.com/n/20160220/1631493.html

延伸阅读
标签: Web开发
style  h2{font-size:14px; font-weight:bold; padding:10px 0; margin:5px 0; border-bottom:1px solid #ccc;}  .box2{}   .box2 img{display:block; padding:2px; border:0;}  .box2 a{color:#333; text-decoration:none;border:2px solid #FFF; float:left; cursor:hand;}   .box2 a span{display:...
标签: Web开发
好吧,上次说要赶紧的补上几篇文章,结果淡定的失约了。又是近一个月才发一篇,真是让人郁闷。发现最近总是抽不出时间了,基本都是一个项目接一个项目的安排,自己不是在空闲的时候找不到合适的话题,就是在有纠结话题的时候抽不出时间了。所以我决定一段时间内先把自己纠结过的问题先归纳下知识点,等空闲的时候在一个一个深入研究,然后再整理...
标签: Web开发
list-style-type版本:CSS1/CSS2 兼容***:IE4+ NS4+ 继承***:有 语法: list-style-type : disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none | armenian | cjk-ideographic | georgian | lower-greek | hebrew | hiragana | hiragana-iroha | katakana | katakana-iroha ...
标签: Web开发
我们都知道,表单是网页的重要组成部分,它是网站与用户进行交互的窗口。然而表单中固定的诸如说明文字、输入框、提交按钮等元素,使得表单设计略显乏味,难有创新,这一点不少Web设计师深有体会。好的Web设计师就是可以在平凡处挖亮点,让表单设计或耳目一新,或整洁素雅。下面就来看这样的15个基于CSS的优秀表单设计。 以下译自: 中文原...
标签: Web开发
网页制作,用CSS实现图片垂直居中方法 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"style type="text/css"!--body {margin:0;padding:0}div {width:500px;height:500px;line-height:500px;border:1px solid #ccc;overflow:h...

经验教程

577

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部