这一节,我们将图片转换成浏览器能识别的文件。主要过程就是将效果图分割成一个一个小图片,然后用HTML和CSS在进行组合,用Javascrip控制一些操作行为。
一、将效果图分割成需要的小图片
在PS中,按住Ctrl建单击图片对应图层,前面的小图标(如下图1),这样图片就被选中(如图2),然后再选择菜单图像->剪裁(如图3),结果图标就被裁剪了(如图4),然后单击菜单文件->存储为Web所用格式(如图5),在对话框中选择PNG-24(如图6),然后存在png格式图片到指定文件夹,这样一个小图片就做好了,最后我们的剪切图片如图7。
图1
图2
图3
图4
图5
图6
二、编写HTML和CSS文件
我们web文件结构为img文件夹(保存图片文件夹),css文件夹(保存css文件),js文件夹(保存JavaScript),最外层为index.html文件,如图8所示。
根据效果图,我们的页面布局为三列布局,布局宽度分别为80px,320px,最后一列为剩余宽度。第一列为工具列表,第二列为文章列表,第三列为文章展示和修改。
图8
Html文件夹内容具体如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title></title>
<link rel="stylesheet" href="css/Base.css">
</head>
<body>
<div class="main"><!-- 整体box主要是时限全屏显示 -->
<div class="left"><!-- 第一列box -->
<div class="addbox"><!-- 添加文章按钮box -->
<img src="img/AddButoon.png" alt="">
</div>
<ul class="toollist"><!-- 工具列表 -->
<li class="currentTool">
<img src="img/BookList.png" alt="">
</li>
<li><img src="img/BookList.png" alt=""></li>
<li><img src="img/BookList.png" alt=""></li>
</ul>
</div>
<div class="middle listbg"><!-- 第二列 -->
<div class="logoBox">
<img src="img/Logo.png" alt="">
</div>
<div class="bookName">我的日记本</div>
<div class="bookCount">共5本日记,1k篇文章</div>
<div class="currentTime">2022年6月30日 11:33</div>
<div class="searchBox">
<input type="text" class="searchInput" placeholder="请输入搜索关键字">
<button class="searchButton">搜</button>
</div>
<ul class="articalBox">
<li class="articalList">
<div class="articalTitle">
<span class="iconBox"><img src="img/SmallIcon.png" alt=""></span>
我的日记本开发自学笔记
</div>
<div class="articalDesc">
冲进会议室开例会,老板正在宣布工作调整的名单。她的业务居然被无故暂停,她的职位则被一个不学无术,整天就知道开豪车,用菠崃史特泡嫩模的家伙所取代。
</div>
</li>
<li class="articalList currentArt">
<div class="articalTitle">
<span class="iconBox"><img src="img/SmallIcon.png" alt=""></span>
我的日记本开发自学笔记
</div>
<div class="articalDesc">
冲进会议室开例会,老板正在宣布工作调整的名单。她的业务居然被无故暂停,她的职位则被一个不学无术,整天就知道开豪车,用菠崃史特泡嫩模的家伙所取代。
</div>
</li>
</ul>
</div>
<div class="right"><!-- 第三列 -->
<div class="articalEditBox">
<div class="articalTitleBox">
<div class="Titelinput">
<div contenteditable="true" class="titleEdit" ></div>
</div>
<div class="iconSelect">图标</div><div class="colorSelect">颜色</div>
</div>
<div class="articalToolsBox">
<ul class="articalToollist">
<li><img src="img/ToolsIcon.png" alt=""></li>
<li><img src="img/ToolsIcon.png" alt=""></li>
<li><img src="img/ToolsIcon.png" alt=""></li>
<li><img src="img/ToolsIcon.png" alt=""></li>
<li><img src="img/ToolsIcon.png" alt=""></li>
<li><img src="img/ToolsIcon.png" alt=""></li>
</ul>
</div>
<div class="articalEditEBox">
<div class="articalEdit" contenteditable="true">ww</div>
</div>
</div>
</div>
</div>
</body>
</html>
Css文件内容具体如下:
html,body{margin: 0;padding: 0;height: 100%;font-size: 16px;}
ul,li{list-style: none;padding: 0;margin: 0;}
.main{display: flex;height: 100%;}
.left{width: 80px;background-color: #2d2d2d;}
.middle{width: 320px;}
.right{background-color: bisque;flex: 1;}
.addbox{text-align: center;margin:20px 0;}
.toollist{}
.toollist li{height: 50px;line-height: 50px; text-align: center;border-bottom: 1px solid #ffcb3b;}
.toollist li img{vertical-align: middle;}
.currentTool{background-color: #ffcb3b;}
.listbg{background: url(../img/ListBG.png) no-repeat top center;background-color: #ffcb3b;}
.logoBox{margin-top: 5px;text-align: center;}
.bookName{text-align: center;color: aliceblue;font-size: 16px;font-weight: bold;color: white;}
.bookCount{color: #765915; text-align: center;margin-top: 5px; background: url(../img/Line.png) no-repeat bottom center; height: 23px;}
.currentTime{text-align: center;margin-top: 3px;}
.searchBox{margin-top: 5px;text-align: center;}
.searchInput{background-color: #fcdd89; border: 1px solid #765915;height: 23px;padding: 2px 8px;width: 200px; border-radius: 5px;}
.searchButton{border-radius: 35px;border: 1px solid #765915;height: 35px;background-color: #fcdd89;width: 35px;margin-left: 5px;}
.articalBox{margin-top: 10px;}
.articalList{line-height: 25px;margin-bottom: 3px; padding: 3px 10px;cursor: pointer;}
.articalTitle{color: #2d2d2d;font-weight: bold;}
.iconBox{}
.iconBox img{vertical-align: middle;}
.articalDesc{color: aliceblue;line-height: 23px;font-size: 14px;}
.currentArt{background-color: #2d2d2d;}
.currentArt .articalTitle{color: #fcdd89;}
.articalEditBox{margin:10px;}
.articalTitleBox{display: flex;}
.Titelinput{flex: 1;}
.titleEdit{background-color: #fcdd89; border: 1px solid #765915;height: 23px;padding: 2px 8px;border-radius: 5px;margin-right: 3px;}
.iconSelect{width: 50px;}
.colorSelect{width: 50px;}
.articalToolsBox{margin-top: 10px;}
.articalToollist{background-color: #f3f3f3;padding-top: 5px;padding-left: 5px;}
.articalToollist li{display: inline;margin: 0 3px;}
.articalEdit{background-color: #fcdd89;padding: 10px;}
三、视频教程
我用视频的方式记录了整改开发过程,希望有疑问的朋友点击观看视频,视频有些长,请大家静下心新来学习。