HTML+CSS 模仿Windows 7 桌面效果

简介:

前一阵在园子里看到一篇文章《使用css3仿造window7的开始菜单》,文中仅使用CSS3 实现了Windows 7 开始菜单的动态效果,很久以来一直被WPF/Silverlight 山上的风景所吸引,未成想其他的山也同样引人入胜。于是心血来潮也尝试着做了一个Windows 7 桌面效果,先来看几张截图吧。

桌面程序鼠标Hover 效果:

Desktop

任务栏程序鼠标Hover 效果:

Taskbar

开始菜单效果:

StartMenu

桌面程序图标

桌面背景及程序图标的结构如下:

<div id="win">
    <ul id="app">
        <li>
<
a href="#"> <img src="images/computer.png"><br /> Computer</a>
</
li> <li>
<
a href="#"> <img src="images/recycle.png"><br /> Recycle Bin</a>
</
li> <li>
<
a href="#"> <img src="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="images/ie.png" />
    </a>
<
a href="#" style="left: 120px"> <img src="images/library.png" /> </a>
<
a href="#" style="left: 180px"> <img src="images/mp.png" /> </a>
<
a href="#" style="left: 240px"> <img src="images/live.png" /> </a>
<
a href="#" style="left: 300px"> <img src="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;
}
start              

     任务栏背景通过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="images/ie.png" />Internet Explorer</a></li>
        <li><a href="#">
            <img src="images/mc.png" />Microsoft Media Center</a></li>
        <li>
<
div id="leftspliter"></div></li> <li><a href="#"> <img src="images/word.png" />Microsoft Word 2010</a></li> <li><a href="#"> <img src="images/excel.png" />Microsoft Excel 2010</a></li> <li><a href="#"> <img src="images/powerpoint.png" />Microsoft PowerPoint 2010</a></li> <li><a href="#"> <img src="images/access.png" />Microsoft Access 2010</a></li> <li><a href="#"> <img src="images/update.png" />Windows Update</a></li> <li> <div id="leftspliter"></div></li> <li><a href="#"> <img src="images/narrow.png" />All Programs</a></li> <li> <img id="search" src="images/search.png" /></li> </ul> <ul id="links"> <li class="icon"><img src="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,如需转载请自行联系原作者

相关文章
|
3月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
3月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
3月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
3月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
3月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
3月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
3月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
3月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
3月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示