디렉토리 구조는 다음과 같습니다.
├── jsLib │ ├── jquery.winResize.js │ ├── jquery-1.6.2.js │ ├── jquery-1.6.2.min.js │ ├── jquery-ui-1.8.16.custom.min.js │ ├── myLib.js │ ├── 외부 │ ├── jquery-smartMenu │ ├── 테마 │ └── UI ├── 아이콘 ├── 이미지 ├── 배경화면 └── index.html

HTML 코드
HTML 메인 코드:
<a href="https://haiyong.site" class="powered_by">Powered by haiyong.site 참고: 열려면 데스크톱 애플리케이션을 두 번 클릭하세요.</a> <ul id="deskIcon"> <li class="desktop_icon" id="win11" path="https://haiyong.site/"> <span class="icon"><img src="icon/icon14.png"/></span> <div class="text">하이용 <div class="right_cron"></div> </div> </li> <li class="desktop_icon" id="win11" path="https://haiyong.blog.csdn.net/"> <span class="icon"><img src="icon/csdn.png"/> </span> <div class="text">CSDN <div class="right_cron"></div> </div> </li> <li class="desktop_icon" id="win11" path="https://juejin.cn/user/2040341402229751"> <span class="icon"><img src="icon/juejin.png"/>< /스팬> <div class="text">너겟 <div class="right_cron"></div> </div> </li> <li class="desktop_icon" id="win11" path="https://space.bilibili.com/63551025"> <span class="icon"><img src="icon/bilibili.png"/>< /스팬> <div class="text">빌리빌리 <div class="right_cron"></div> </div> </li> </ul> <div id="태스크바"> <div id="leftBtn"><a href="#" class="upBtn"></a></div> <div id="rightBtn"><a href="#" class="downBtn"></a> </div> <div id="task_lb_wrap"> <div id="task_lb"></div> </div> </div> <div id="lr_bar"> <ul id="default_app"> <li id="app0"><img src="icon/icon1.png" title="haiyong" path="https://haiyong.site/"/></li> <li id="app2"><img src="icon/icon0.png" title="도구" path="https://haiyong.site/tools"/></li> <li id="app3"><img src="icon/icon2.png" title="커뮤니케이션 그룹" path="https://app.yinxiang.com/fx/8aa8eb1b-7d45-4793-a160-b990d9da2e75" /></li> <li id="app4"> <img src="icon/icon3.png" title="작성자에게 문의" path="https://haiyong.site/img/qrcode/weixin.png"/></li> <li id="app1"><img src="icon/icon11.png" title="Jquery Academy" path="http://www.jq22.com/?Jquery.aspx"/></li> </ul> <div id="default_tools"> <span id="showZm_btn" title="데스크톱 표시"></span><span id="shizhong_btn" title="시계"></span><span id="weather_btn" title="날씨"></span> <span id="them_btn" title="테마"></span></div> <div id="start_block"> <a title="start" id="start_btn"></a> <div id="start_item"> <ul class="항목 관리자"> <li><span class="adminImg"></span> 관리자</li> </ul> <ul 클래스="항목"> <li><span class="sitting_btn"></span>시스템 설정</li> <li><span class="help_btn"></span>사용 가이드 <b></b></li> <li><span class="about_btn"></span>회사 소개</li> <li><span class="logout_btn"></span>시스템 종료</li> </ul> </div> </div> </div> </div>
? CSS 코드
CSS 메인 코드:
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, 입력, 텍스트 영역, p, blockquote, th, td {
여백:0;
패딩:0;
}
테이블 {
테두리 축소:축소;
테두리 간격:0;
}
필드셋, img {
테두리:0;
}
주소, 캡션, 인용, 코드, dfn, em, Strong, th, var {
글꼴 스타일:일반;
글꼴 두께:일반;
}
올, 울, 리 {
목록 스타일:없음;
}
캡션, 일 {
텍스트 정렬:왼쪽;
}
h1, h2, h3, h4, h5, h6 {
글꼴 크기:100%;
글꼴 두께:일반;
}
q:이전, q:이후 {
콘텐츠:";
}
약어, 약어 {
테두리:0;
}
* {
여백:0;
패딩:0
}기본 페이지 스타일
/*기본 페이지 스타일*/
HTML {
오버플로:숨김;
}
몸 {
글꼴 크기: 12px;
background:#06C url(wallpapers/menglong2.jpg) 반복 스크롤 센터 센터;
글꼴 모음: Tahoma, Geneva, sans-serif;
여백:0;
패딩:0
}
{
글꼴 크기: 12px;
}
a:링크 {
텍스트 장식: 없음;
색상: #FFF;
}
a:방문했습니다 {
텍스트 장식: 없음;
색상: #FFF;
}
a:호버 {
텍스트 장식: 없음;
색상: #FFF;
}
a:활성 {
텍스트 장식: 없음;
색상: #FFF;
}
.corner {/*CSS3을 지원하는 고급 브라우저에서만 작동합니다*/
-moz-국경-반경: 5px;
-웹킷-국경-반경: 5px;
테두리 반경: 5px;
-moz-box-shadow: 2px 2px 8px #444;
-webkit-box-shadow: 2px 2px 8px #444;
상자 그림자:2px 2px 8px #444;
}
.로드 중 {
배경:url(images/loading.gif) 반복 없음 중심 중심
}인터페이스 레이아웃 스타일
/*인터페이스 레이아웃 스타일*/
.powered_by {
너비:160px;
높이:25px;
줄 높이:25px;
background:url(images/powered-by.png) 왼쪽 중앙에 반복 없음;
색상:#CCC;
텍스트 들여쓰기:26px;
표시:블록;
개요:없음;
위치:절대;
오른쪽:20px;
하단:60px;
}작업 표시줄 스타일
#taskBar {
너비:100%;
높이:40px;
줄 높이:40px;
위치:절대;
오른쪽:0;
하단:0;
}
#leftBtn {
너비:100px;
높이:40px;
부동:왼쪽;
디스플레이:없음;
}
#rightBtn {
너비:100px;
높이:40px;
플로트:오른쪽;
디스플레이:없음;
}
#leftBtn a, #rightBtn a {
표시:블록;
너비:100px;
높이:40px;
개요:없음;
배경 이미지:url(images/lr_btn.png);
배경 반복:반복 없음;
}
#leftBtn a {
배경 위치:왼쪽 상단;
}
#rightBtn a {
배경 위치:오른쪽 상단;
}
#leftBtn a:hover {
배경 위치:왼쪽 하단
}
#rightBtn a:hover {
배경 위치:오른쪽 하단
}
#task_lb_wrap {
높이:40px;
줄 높이:40px;
오버플로:숨김;
위치:상대적;
}
#task_lb {
너비:자동;
높이:자동;
위치:절대;
상단:0;
오른쪽:0;
}
#task_lb a {
디스플레이:인라인 블록;
개요:없음;
너비:100px;
높이:40px;
배경 이미지:url(images/taskHdBtn.png);
배경 반복:반복 없음;
텍스트 정렬:가운데;
줄 높이:40px;
부동:오른쪽
}
#task_lb .defaultTab {
배경 위치:오른쪽 상단;
색상:#ccc
}
#task_lb .defaultTab:hover {
배경 위치:오른쪽 하단;
}
#task_lb .selectTab {
배경 위치:왼쪽 위;
색상:#FFF
}
#task_lb .selectTab:호버 {
배경 위치:왼쪽 하단
}
#shizhong_btn {
배경:url(images/timer.png) 반복 없음 중심 중심
}
#weather_btn {
배경:url(images/wheather.png) 반복 없음 중심 중심
}
#sound_btn {
배경:url(images/sound_open.png) 반복 없음 중심 중심
}
#showZm_btn {
배경:url(images/show-desktop.png) 반복 없음 중심 중심
}
#them_btn {
배경:url(images/skin.png) 반복 없음 중심 중심
}사이드 플로팅 바
#lr_bar {
너비:73px;
높이:자동;
위치:절대;
왼쪽:0;
상단:30px;
배경:url(images/dock_top.png) 반복-y 왼쪽 상단;
Z-색인:90;
-moz-box-shadow: 0px 3px 15px #444;
-webkit-box-shadow: 0px 3px 15px #444;
상자 그림자:0px 3px 15px #444;
패딩 상단:5px;
}시작 버튼 스타일
#start_block {
너비:73px;
높이:56px;
위치:절대;
왼쪽:0;
하단:-56px;
background:url(images/dock_b.png) 왼쪽 하단 반복 없음;
-moz-box-shadow: 0px 5px 15px #444;
-webkit-box-shadow: 0px 5px 15px #444;
상자 그림자:0px 5px 15px #444;
}
#start_btn {
표시:블록;
너비:48px;
높이:48px;
background:url(images/start-btn.png) 반복 없음 중앙 하단;
여백:4px 자동 0 자동;
개요:없음;
Z-색인:501;
커서:포인터;
}
#start_btn:호버 {
배경 위치:가운데 상단
}시작 메뉴 스타일
#start_item {
너비:180px;
높이:자동;
패딩:5px 0;
배경: url(images/start_item_bg.png) 반복;
위치:절대;
Z-색인:500;
왼쪽:75px;
하단:0px;
디스플레이:없음;
-moz-국경-반경: 5px;
-웹킷-국경-반경: 5px;
테두리 반경: 5px;
-moz-box-shadow: 2px 2px 5px #444;
-webkit-box-shadow: 2px 2px 5px #444;
상자 그림자:2px 2px 5px #444;
}
#start_item .item {
너비:100%;
높이:자동;
테두리 상단:1px 솔리드 #999
}
#start_item .item 리 {
너비:98%;
높이:24px;
오버플로:숨김;
줌:-1;
패딩:6px 0;
줄 높이:24px;
여백:0 자동;
색상:#FFF;
}
#start_item .item li:hover {
배경:url(images/start_item_over.png) 반복-x 왼쪽 하단;
커서:포인터
}
#start_item .item li 스팬 {
디스플레이:인라인 블록;
너비:24px;
높이:24px;
배경 이미지:url(images/start_itembtn.png);
배경 반복:반복 없음;
여백:0 10px;
부동:왼쪽;
}
#start_item .item li b {
너비:10px;
높이:24px;
background:url(images/item-child.png) 반복 없음 센터 center;
디스플레이:인라인 블록;
플로트:오른쪽;
여백 오른쪽:10px;
}
#start_item .sitting_btn {
배경 위치:왼쪽 -140px;
}
#start_item .help_btn {
배경 위치:왼쪽 -44px;
}
#start_item .about_btn {
배경 위치:왼쪽 -164px;
}
#start_item .logout_btn {
배경 위치:왼쪽 -20px;
}
#start_item .admin {
테두리 하단:1px 솔리드 #444;
패딩:5px 0;
테두리 상단:없음;
}
#start_item .item li .adminImg {
테두리:1px 솔리드 #E0E0E0;
배경 위치:왼쪽 -92px;
배경색:#FFF;
}기본 가젯
#default_tools {
너비:71px;
높이:자동;
오버플로:숨김;
줌:-1;
패딩:5px 0;
테두리 상단:1px 솔리드 #555;
여백:0 자동;
}
#default_tools 범위 {
너비:30px;
높이:30px;
디스플레이:인라인 블록;
여백:0 0 0 3px;
커서:포인터;
부동:왼쪽;
}기본 애플리케이션
#default_app {
너비:73px;
높이:자동;
패딩:5px 0;
위치:상대적;
}
#default_app 리 {
너비:48px;
높이:48px;
오버플로:숨김;
여백:3px 자동;
패딩:6px;
}
#default_app li img {
너비:48px;
높이:48px;
커서:포인터;
}
#default_app .btnOver {
배경:url(images/default_appbtn_bg.png) 반복 없음 중심 중심
}마우스 오른쪽 버튼 클릭 메뉴 스타일 재정의
.smart_menu_box .smart_menu_a {
색상:#333
}
.smart_menu_box .smart_menu_li_separate {
테두리 하단:1px 솔리드 #d6d5d5;
}창 스타일
.windows {
최소 너비:240px;
최소 높이:200px;
너비:700px;
높이:560px;
위치:절대;
디스플레이:없음;
배경색:#E0E0E0;
}
.win_title {
너비:100%;
높이:26px;
줄 높이:26px;
배경:#E0E0E0 url(images/titlebar_bg_cur.png) 반복-x 왼쪽 중앙;
-moz-국경-반경: 5px;
-웹킷-국경-반경: 5px;
테두리 반경: 5px;
}
.win_title b {
색상:#333;
여백-왼쪽:10px;
}
.win_title .win_btnblock {
너비:자동;
패딩:0 5px;
플로트:오른쪽;
높이:17px;
여백:4px 3px 0 0;
}
.win_title .win_btn차단 a {
디스플레이:인라인 블록;
너비:26px;
높이:17px;
배경 이미지:url(images/windowBtn.png);
배경 반복:반복 없음;
부동:왼쪽;
여백:0 1px;
개요:없음;
}
.win최대화 {
배경 위치:오른쪽 하단;
}
.winMaximize:hover {
배경 위치:오른쪽 상단;
}
.winHyimize {
배경 위치:-26px 하단;
}
.winHyimize:hover {
배경 위치:-26px 상단;
}
.winClose {
배경 위치:-52px 상단;
}
.winClose:호버 {
배경 위치:-52px 하단;
}
.win최소화 {
배경 위치:왼쪽 하단;
}
.winMinimize:hover {
배경 위치:왼쪽 상단;
}
.윈프레임 {
너비:100%;
높이:자동;
여백:0 0 0 3px;
패딩:0
}데스크탑 아이콘
#deskIcon {
너비:100%;
높이:자동;
오버플로:숨김;
줌:-1;
위치:상대적;
}
.desktop_icon {
너비:86px;
높이:88px;
커서:포인터;
여백-왼쪽:-1000px;
텍스트 정렬:가운데;
}
.desktop_icon 범위 {
표시:블록;
}
.desktop_icon .icon {
너비:50px;
높이:50px;
여백:5px 자동;
}
.desktop_icon .icon img {
너비:50px;
높이:50px;
}
.desktop_icon .text {
디스플레이:인라인 블록;
너비:자동;
높이:22px;
줄 높이:22px;
텍스트 정렬:가운데;
색상:#fff;
background:url(images/iconTextbg.png) 왼쪽 중앙에 반복 없음;
위치:상대적;
왼쪽 패딩:10px;
여백 오른쪽:10px;
}
.desktop_icon .right_cron {
너비:10px;
높이:22px;
위치:절대;
오른쪽:-10px;
상단:0;
배경:url(images/iconTextbg_right.png) 왼쪽 가운데 반복 없음;
}
.desktop_icon_over {
background:url(images/icon_over.png) 반복되지 않는 중심 center;
}?
JS 코드는 많습니다. 여기에는 JS 코드의 일부만 표시되어 있습니다. 전체 소스 코드는 기사 끝부분에서 얻을 수 있습니다.
//데스크톱 공간을 선언하고 관련 작업을 캡슐화합니다. myLib.NS("desktop");
myLib.desktop={
winWH:함수(){
$('body').data('winWh',{'w':$(window).width(),'h':$(window).height()});
},
데스크탑패널:함수(){
$('body').data('패널',{
'작업 표시줄':{
'_this':$('#taskBar'),
'작업_lb':$('#작업_lb')
},
'lr바':{
'_this':$('#lr_bar'),
'default_app':$('#default_app'),
'시작_블록':$('#start_block'),
'시작_btn':$('#시작_btn'),
'start_item':$('#start_item'),
'default_tools':$('#default_tools')
},
'데스크아이콘':{
'_this':$('#deskIcon'),
'아이콘':$('li.desktop_icon')
},
'powered_by':$('a.powered_by')
});
},
getMydata:함수(){
$('body').data()를 반환합니다.
},
마우스XY:함수(){
var 마우스XY=[];
$(document).bind('mousemove',function(e){
mouseXY[0]=e.pageX;
mouseXY[1]=e.pageY;
});
마우스XY를 반환합니다.
},
contextMenu:함수(jqElem,data,menuName,textLimit){
var_this=이것
,mXY=_this.mouseXY();
jqElem
.smartMenu(데이터,{
이름: 메뉴이름,
텍스트 제한:텍스트 제한,
afterShow:함수(){
var menu=$("#smartMenu_"+menuName);
var myData=myLib.desktop.getMydata(),
wh=myData.winWh;//현재 문서 너비와 높이 가져오기 var menuXY=menu.offset(),menuH=menu.height(),menuW=menu.width();
if(menuXY.top>wh['h']-menuH){
menu.css('top',mXY[1]-menuH-2);
}
if(menuXY.left>wh['w']-menuW){
menu.css('왼쪽',mXY[0]-menuW-2);
}
}
});
$(document.body).click(함수(이벤트){
event.preventDefault();
$.smartMenu.hide();
});
}
}GitHub 주소: https://github.com/wanghao221/moyu
이것으로 Windows 데스크톱 테마 효과를 모방하는 HTML 구현에 대한 이 기사를 마무리합니다. Windows 데스크톱 콘텐츠를 모방하는 더 많은 관련 HTML을 보려면 downcodes.com에서 이전 기사를 검색하거나 다음 관련 기사를 계속해서 읽어보시기 바랍니다. .downcodes.com을 지원하세요!