HTML+CSS 模仿Windows 7 桌面效果
前一阵在园子里看到一篇文章《使用css3仿造window7的开始菜单》,文中仅使用CSS3 实现了Windows 7 开始菜单的动态效果,很久以来一直被WPF/Silverlight 山上的风景所吸引,未成想其他的山也同样引人入胜。于是心血来潮也尝试着做了一个Windows 7 桌面效果,先来看几张截图吧。
桌面程序鼠标Hover 效果:
任务栏程序鼠标Hover 效果:
开始菜单效果:
桌面程序图标
桌面背景及程序图标的结构如下:
<div id="win"><ul id="app"><li> <a href="#"><img src="data:images/computer.png"><br />Computer</a> </li><li> <a href="#"><img src="data:images/recycle.png"><br />Recycle Bin</a> </li><li> <a href="#"><img src="data:images/network.png"><br />Network</a> </li></ul> </div>
在桌面<div>中加入背景图片:
#win {background-image: url(images/win7bg.jpg);background-position: center;width: 880px;height: 550px;border: #ffffff 1px solid; }
为桌面应用图标添加鼠标Hover 动态效果,text-shadow 用来设置应用程序文字阴影效果,-webkit-border-radius 可设置边框圆角:
#app {float: left;text-align: center;margin: -15px 0 0 -30px;list-style: none; }#app a {text-decoration: none;border: solid 1px transparent;display: block;padding: 3px;margin: 20px 0 0 0;color: #ffffff;text-shadow: 0.2em 0.1em 0.3em #000000; }#app a:hover {border: solid 1px #bbd6ec;-webkit-border-radius: 3px;box-shadow: inset 0 0 1px #fff;-webkit-box-shadow: inset 0 0 1px #fff;background-color: #5caae8; }
任务栏程序图标
下面是任务栏结构的HTML代码:
<div id="taskbar"><a href="#" id="start"></a><a href="#" style="left: 60px"><img src="data:images/ie.png" /></a> <a href="#" style="left: 120px"><img src="data:images/library.png" /></a> <a href="#" style="left: 180px"><img src="data:images/mp.png" /></a> <a href="#" style="left: 240px"><img src="data:images/live.png" /></a> <a href="#" style="left: 300px"><img src="data:images/outlook.png" /></a><div id="desktop"></div> </div>
首先来看看开始菜单图标如何设置,通过Hover 操作变换start.bmp 显示位置,达到图标发亮效果。
#taskbar #start {position: absolute;text-align: center;width: 57px;height: 46px;background: url(images/start.bmp) 0 -6px no-repeat; }#taskbar #start:hover {text-decoration: none;background-position: 0 -114px; }
任务栏背景通过taskbarbg.png 实现,其他图标Hover 效果通过改变taskbarhover.png 图片位置实现图标下方高亮效果。
#taskbar {height: 42px;width: 880px;margin: -42px 0 0 1px;background: url(images/taskbarbg.png) no-repeat; }#taskbar img {margin: 5px 0 0 0;width: 30px;height: 29px; }#taskbar a {position: absolute;text-align: center;width: 57px;height: 46px;background: url(images/taskbarhover.png) 0 -46px no-repeat; }#taskbar a:hover {background-position: 0 -3px; }
开始菜单
对于开始菜单的设置可以参考之前提到的那篇文章,本篇在其基础上添加了菜单分割线及透明效果。
<div id="menuwin"><div id="startmenu"></div><ul id="programs"><li><a href="#"><img src="data:images/ie.png" />Internet Explorer</a></li><li><a href="#"><img src="data:images/mc.png" />Microsoft Media Center</a></li><li> <div id="leftspliter"></div></li><li><a href="#"><img src="data:images/word.png" />Microsoft Word 2010</a></li><li><a href="#"><img src="data:images/excel.png" />Microsoft Excel 2010</a></li><li><a href="#"><img src="data:images/powerpoint.png" />Microsoft PowerPoint 2010</a></li><li><a href="#"><img src="data:images/access.png" />Microsoft Access 2010</a></li><li><a href="#"><img src="data:images/update.png" />Windows Update</a></li><li><div id="leftspliter"></div></li><li><a href="#"><img src="data:images/narrow.png" />All Programs</a></li><li><img id="search" src="data:images/search.png" /></li></ul><ul id="links"><li class="icon"><img src="data:images/user.png" /></li><li><a href="#"><span>Documents</span></a></li><li><a href="#"><span>Pictures</span></a></li><li><a href="#"><span>Music</span></a></li><li><div id="rightspliter"></div></li><li><a href="#"><span>Games</span></a></li><li><a href="#"><span>Computer</span></a></li><li><div id="rightspliter"></div></li><li><a href="#"><span>Control Panel</span></a></li><li><a href="#"><span>Devices and Printers</span></a></li><li><a href="#"><span>Default Programs</span></a></li></ul> </div>
开始菜单通过opacity 设置其透明度:
#startmenu {border: solid 1px #102a3e;overflow: visible;display: block;float: left;height: 404px;width: 400px;opacity: 0.9;-webkit-border-radius: 5px;position: absolute;box-shadow: inset 0 0 1px #ffffff;-webkit-box-shadow: inset 0 0 1px #ffffff;background-color: #619bb9;background: -webkit-gradient(linear, center top, center bottom, from(#327aa4),color-stop(45%, #2e4b5a), to(#5cb0dc)); }
通过jQuery(common.js) 完成开始菜单打开/关闭效果
$(document).ready(function () {$("#start").click(function () {$("#menuwin").css("display", "block");});$("#win").click(function () {$("#menuwin").css("display", "none");});$("#desktop").click(function () {$("#menuwin").css("display", "none");}); });
源代码下载
请使用Chrome 浏览
本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2010/06/17/html-css-windows7-desktop.html,如需转载请自行联系原作者
HTML+CSS 模仿Windows 7 桌面效果相关推荐
- html中图片亮度调节,HTML+CSS+JS 模仿 Win10 亮度调节效果
HTML+CSS+JS模仿win10亮度调节效果 代码 模仿win10的亮度调节 .control_bar{ height:200px; width:500px; border-bottom:3px ...
- html的window效果,HTML+CSS+JS模仿win10亮度调节效果
HTML+CSS+JS模仿win10亮度调节效果 代码 模仿win10的亮度调节 .control_bar{ height:200px; width:500px; border-bottom:3px ...
- html中亮度怎么写,HTML+CSS+JS模仿win10亮度调节效果的示例代码
HTML+CSS+JS模仿win10亮度调节效果 代码 模仿win10的亮度调节 .control_bar{ height:200px; width:500px; border-bottom:3px ...
- 为什么国产操作系统要基于linux,解说国产Linux操作系统为什么都模仿Windows桌面...
目前大多数国产Linux操作系统的桌面都和微软的Windows桌面非常类似,相信很多人都有这个疑问,为什么多数国产Linux操作系统都在模仿Windows桌面?而不是独有的界面风格呢? 下面来看两张国 ...
- H5+JS+CSS模仿JD商品详情页放大镜效果
源码下载:H5+JS+CSS模仿JD商品详情页放大镜效果-Javascript文档类资源-CSDN下载适合小白模仿的H5+JS+CSS模仿JD商品详情页放大镜效果,可以熟练掌握鼠标经过和鼠标移动事件更 ...
- 模仿一个球落地效果,最终停在地面上(仿真效果,CSS实现)
模仿一个球落地效果,最终停在地面上(仿真效果,CSS实现) 效果图 制作步骤 先准备个球和一个地面 给球准备动效 再给些曲线运动的效果 完整代码 本博客其他文章推荐 效果图 制作步骤 先准备个球和一个 ...
- 如何用 CSS + HTML + JS 创建桌面应用
05月 31 Node 如何用 CSS + HTML + JS 创建桌面应用 | https://h.lishaoy.net/nwjsElectronjs.html || 最近研究了一下基于 Chro ...
- windows xp 超级模仿windows Vista全攻略 一模一样的感觉
windows xp 超级模仿windows Vista全攻略 一模一样的感觉 前不久,微软发布了其最新版操作系统Windows Vista.相比以前版本,新系统在很多方面都进行了大幅度改进.但要说最 ...
- HTML模仿win10亮度调节效果
HTML+CSS+JS模仿win10亮度调节效果 代码 <!doctype html> <html><head><meta charset="utf ...
最新文章
- 算法战争:美国国家AI安全委员会要建立AI大学,「数字服务学院」为政府培养AI人才...
- 大学计算机基础知识点_自学录——大学计算机基础
- C/C++中memset()函数
- Effective Java之避免使用终结方法(七)
- Linux程序之触摸,linux 触摸屏驱动编写
- 将本地项目上传到码云(gitee)远程仓库
- 深度学习在计算机视觉点云中的发展与未来
- java printwriter 没有关闭_Java PrintWriter close()方法
- Ajax datatype:'JSON'的error问题Status1:200,JSON格式
- VSCode在文件顶部添加作者,时间和注释等信息
- 程序员面试金典——11.6矩阵元素查找
- prolog初学语法结构
- input 上传图片_selnium远程机上传图片遇到的坑-布布扣
- 如何快速更换ip地址?
- 视频教程 C语言全套视频教程(已更新完毕
- AR路由器通过web及代码实现公网用户使用公网地址访问内网服务器,同时内网用户实现通过公网地址访问内外那个服务器
- 医院病历的中英文翻译,医生病历本翻译
- mathcad 15.0安装教程
- 你应该了解的 MySQL 细节
- mysql 多表查询练习题(一)数据准备
热门文章
- map.setTerrain is not a function
- gitee创建ssh公钥
- 电脑上玩和平精英_和平精英奇幻之旅怎么玩-和平精英奇幻之旅玩法攻略
- java runtime 清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧...
- verilog 简单module_HDLBits:在线学习 Verilog (二十九 · Problem 140-144)
- ajax请求传递参数的方式,Ajax请求 一般处理程序参数传递的几种方式
- 学java编程语言_对于零基础的人而言 该如何学Java编程语言
- html 属性存储对象,在HTML5 localStorage中存储对象
- 数组的最长递减子序列java_求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}...
- mysql数据表设计 对应成二维数组_结果集数据怎么转换成二维数组