纯CSS实现的大小渐变、渐远效果


Posted in HTML / CSS onApril 15, 2014

效果图:

纯CSS实现的大小渐变、渐远效果

效果差不多也就是上图的这个样子,基本原理如图所示:

纯CSS实现的大小渐变、渐远效果

将所有的盒子都绝对定位,然后将宽高各50%的递缩小,并且在top、right、bottom和left针对性的偏移即可,代码如下:

复制代码
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS to achieve the visual effect and further away[既是安安]</title>
<link rel="stylesheet" rev="stylesheet" type="text/css" href="http://www.jsann.com/framework/reset.css" />
<style type="text/css">
div
{
background-color:#a40000;
position:absolute;
}
div.main
{
width:100px;
height:100px;
top:50%;
left:50%;
}
div.main div
{
width:50%;
height:50%;
}
div.main div div div div
{
overflow:hidden;/* 为了兼容IE6 */
}
div.main div.left-top,div.main div.left-top div
{
top:-50%;
left:-50%;
}
div.main div.right-top,div.main div.right-top div
{
top:-50%;
right:-50%;
}
div.main div.left-bottom,div.main div.left-bottom div
{
left:-50%;
bottom:-50%;
}
div.main div.right-bottom,div.main div.right-bottom div
{
right:-50%;
bottom:-50%;
}
</style>
</head>
<body>
<div class="main">
<div class="left-top"><div><div><div></div></div></div></div>
<div class="right-top"><div><div><div></div></div></div></div>
<div class="left-bottom"><div><div><div></div></div></div></div>
<div class="right-bottom"><div><div><div></div></div></div></div>
</div>
</body>
</html>

这个方法在IE6下有一个BUG,就是最后的一个盒子的高度不能小于6px,原因就是:
大家都知道IE6下默认的字体尺寸大致在 12 - 14px 之间,当你试图定义一个高度小于这个默认值的 div 的时候, IE 会固执的认为这个层的高度不应该小于字体的行高。所以即使你用 height: 6px; 来定义了一个 div 的高度,实际在 IE 下显示的仍然是一个 12px 左右高度的层。另一方面,除了中间的那个盒子,其他的盒子都是在其基础之上偏移而来。也就是说,最多的,我们可以给最后的那个div加上overflow:hidden;(因为我们给任何一个div加上overflow:hidden;之后,它将不在会有子级偏移出来)这样的话最后的那个div的最小高度应该在6px左右(假设IE6给盒子设的默认高度是12px;)那样的话才不至于它的父级需要overflow:hidden;。

HTML / CSS 相关文章推荐
浅析两列自适应布局的3种思路
May 03 HTML / CSS
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
Feb 27 HTML / CSS
CSS3 实现的火焰动画
Dec 07 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
Oct 30 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
Jan 07 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
基于html5绘制圆形多角图案
Apr 21 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
Jul 24 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
Aug 01 HTML / CSS
HTML利用九宫格原理进行网页布局
Mar 13 HTML / CSS
CSS3 制作的图片滚动效果
Apr 14 HTML / CSS
html+css实现文字折叠特效实例
Jun 02 HTML / CSS
CSS中几个与换行有关的属性简明总结
Apr 15 #HTML / CSS
css3 条纹化和透明化表格Firefox下测试成功
Apr 15 #HTML / CSS
css3新增颜色表示方式分享
Apr 15 #HTML / CSS
常用的四种CSS透明属性介绍
Apr 12 #HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 #HTML / CSS
css3发光搜索表单分享
Apr 11 #HTML / CSS
用css3实现当鼠标移进去时当前亮其他变灰效果
Apr 08 #HTML / CSS
You might like
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
几种tab切换详解
2017/02/03 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
Django实现简单的分页功能
2021/02/22 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
电气技术员岗位职责
2013/11/19 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
2014年网管工作总结
2014/12/11 职场文书
公司借条范本
2015/05/25 职场文书
党内外群众意见范文
2015/06/02 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB