请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
div css切图

网页切图论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

切图广告位招租网站切图广告位招租
查看: 157|回复: 0

用css实现透视效果

[复制链接]

1900

主题

0

听众

7911

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    开心
    2018-1-16 20:02
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2016-7-2 10:46:00 |显示全部楼层

    今天萌发一个想法,用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;}

    有了上面的基础,我们就可以用两个额外的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;
    }

    .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,所以为白色。

    三、后记

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

    div css切图,网页切图制作
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    回顶部