纯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 相关文章推荐
CSS3中文字镂空、透明值、阴影效果设置示例小结
Mar 07 HTML / CSS
CSS3过渡transition效果实例介绍
May 03 HTML / CSS
CSS3实现可爱的小黄人动画
Jul 11 HTML / CSS
浅谈CSS3动画的回调处理
Jul 21 HTML / CSS
html5版canvas自由拼图实例
Oct 15 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
Nov 24 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
Jan 03 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
Dec 12 HTML / CSS
iframe与window.onload如何使用详解
May 07 HTML / CSS
HTML+CSS+JS实现图片的瀑布流布局的示例代码
Apr 22 HTML / CSS
关于flex 上下文中自动 margin的问题(完整例子)
May 20 HTML / CSS
CSS 一行代码实现头像与国旗的融合
Oct 24 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
咖啡的植物学知识
2021/03/03 咖啡文化
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
Python文件及目录操作实例详解
2015/06/04 Python
探究python中open函数的使用
2016/03/01 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Python中optparser库用法实例详解
2018/01/26 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
详解Python 切片语法
2019/06/10 Python
python剪切视频与合并视频的实现
2020/03/03 Python
在python image 中实现安装中文字体
2020/05/16 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
Maxpeedingrods美国:高性能汽车零件
2020/02/14 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
计算机应用与科学个人的自我评价
2013/11/15 职场文书
表扬信格式
2014/01/12 职场文书
英语教师岗位职责
2014/03/16 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
golang使用map实现去除重复数组
2022/04/14 Golang