纯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 相关文章推荐
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
Dec 10 HTML / CSS
利用HTML5+CSS3实现3D转换效果实例详解
May 02 HTML / CSS
详解CSS3中常用的样式【基本文本和字体样式】
Oct 20 HTML / CSS
html5理解head_动力节点Java学院整理
Jul 13 HTML / CSS
关于HTML5你必须知道的28个新特性,新技巧以及新技术
May 28 HTML / CSS
html5 canvas-2.用canvas制作一个猜字母的小游戏
Jan 07 HTML / CSS
HTML中使用SVG与SVG预定义形状元素介绍
Jun 28 HTML / CSS
用HTML5 实现橡皮擦的涂抹效果的教程
May 11 HTML / CSS
浅析移动设备HTML5页面布局
Dec 01 HTML / CSS
HTML5 图片悬停放大的实现代码示例
Dec 04 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
Jun 04 HTML / CSS
Canvas获取视频第一帧缩略图的实现
Nov 11 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的数组与字符串的转换函数整理汇总
2013/07/18 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
js实现鼠标拖拽div左右滑动
2020/01/15 Javascript
Python OS模块常用函数说明
2015/05/23 Python
Python分析学校四六级过关情况
2017/11/22 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
哪些是python中web开发框架
2020/06/17 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
C#实现启动一个进程
2016/10/01 面试题
2014年自我评价
2014/01/04 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
物控部经理职务说明书
2014/02/25 职场文书
关于环保的活动方案
2014/08/25 职场文书
教师节横幅标语
2014/10/08 职场文书
团代会邀请函
2015/02/02 职场文书
2015年技术员工作总结
2015/04/10 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android
win10清理dns缓存
2022/04/19 数码科技