博客列表 >仿php中文网移动端

仿php中文网移动端

ROC-Y
ROC-Y原创
2020年04月16日 01:16:51709浏览

原站效果

php中文网

仿布局效果在线地址

作业地址

效果图




代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <link rel="stylesheet" href="static/css/font-icon.css" />
  8. <link rel="stylesheet" href="css/html.css" />
  9. <link rel="stylesheet" href="css/body.css" />
  10. <link rel="stylesheet" href="css/header.css" />
  11. <link rel="stylesheet" href="css/banner.css" />
  12. <link rel="stylesheet" href="css/channel.css" />
  13. <link rel="stylesheet" href="css/course.css" />
  14. <link rel="stylesheet" href="css/newUpdate.css" />
  15. <link rel="stylesheet" href="css/newArticle.css" />
  16. <link rel="stylesheet" href="css/newBlog.css" />
  17. <link rel="stylesheet" href="css/footer.css" />
  18. <style>
  19. /* 初始化 */
  20. * {
  21. margin: 0;
  22. padding: 0;
  23. color: #888;
  24. }
  25. a {
  26. text-decoration: none;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <!-- 主导航header三个图标分散 -->
  32. <header>
  33. <img src="static/images/user_avatar.jpg" alt="">
  34. <img src="static/images/logo.png" alt="">
  35. <span class="iconfont"></span>
  36. </header>
  37. <!-- 焦点图 -->
  38. <div class="banner">
  39. <img src="static/images/banner.png" alt="">
  40. </div>
  41. <!-- 频道位 -->
  42. <div class="channel">
  43. <div>
  44. <a href=""><img src="static/images/html.png" alt=""></a>
  45. <a href="">HTML/CSS</a>
  46. </div>
  47. <div>
  48. <a href=""><img src="static/images/JavaScript.png" alt=""></a>
  49. <a href="">JavaScript</a>
  50. </div>
  51. <div>
  52. <a href=""><img src="static/images/code.png" alt=""></a>
  53. <a href="">服务器</a>
  54. </div>
  55. <div>
  56. <a href=""><img src="static/images/sql.png" alt=""></a>
  57. <a href="">数据库</a>
  58. </div>
  59. <div>
  60. <a href=""><img src="static/images/app.png" alt=""></a>
  61. <a href="">移动端</a>
  62. </div>
  63. <div>
  64. <a href=""><img src="static/images/manual.png" alt=""></a>
  65. <a href="">手册</a>
  66. </div>
  67. <div>
  68. <a href=""><img src="static/images/tool2.png" alt=""></a>
  69. <a href="">工具</a>
  70. </div>
  71. <div>
  72. <a href=""><img src="static/images/live.png" alt=""></a>
  73. <a href="">直播</a>
  74. </div>
  75. </div>
  76. <!-- 推荐课程 -->
  77. <div class="course">
  78. <div>
  79. <h3>
  80. <font color=#888 ; size=4rem>推荐课程</font>
  81. </h3>
  82. </div>
  83. <div class="rowTow">
  84. <!-- 一排排2个 -->
  85. <div>
  86. <a href=""><img src="https://img.php.cn/upload/course/000/000/001/5d242759adb88970.jpg" alt=""></a>
  87. </div>
  88. <div>
  89. <a href=""><img src="https://img.php.cn/upload/course/000/000/001/5d2426f409839992.jpg" alt=""></a>
  90. </div>
  91. </div>
  92. <div class="colTow">
  93. <!-- 剩下得一排一个 -->
  94. <div>
  95. <a href=""><img src="https://img.php.cn/upload/course/000/000/035/5d2941e265889366.jpg"></a>
  96. </div>
  97. <div>
  98. <a href="">CI框架30分钟极速入门 </a>
  99. <p>
  100. <span class="level">中级</span>
  101. <span>43454次播放</span>
  102. </p>
  103. </div>
  104. </div>
  105. <!-- 重复剩下得一排一个 -->
  106. <div class="colTow">
  107. <div>
  108. <a href=""><img src="https://img.php.cn/upload/course/000/126/153/5aa23f0ded921649.jpg"></a>
  109. </div>
  110. <div>
  111. <a href="">2018前端入门_HTML5 </a>
  112. <p>
  113. <span class="level">初级</span>
  114. <span>66666次播放</span>
  115. </p>
  116. </div>
  117. </div>
  118. </div>
  119. <!--最新更新 -->
  120. <div class="newUpdate">
  121. <div>
  122. <h3>
  123. <font color=#888 ; size=4rem>最新更新</font>
  124. </h3>
  125. </div>
  126. <div class="colTow">
  127. <!-- 剩下得一排一个 -->
  128. <div>
  129. <a href=""><img src="https://img.php.cn/upload/course/000/000/015/5e0d6387e45cc764.png"></a>
  130. </div>
  131. <div>
  132. <a href="">PHP快速操控Excel </a>
  133. <div>
  134. <p>老的PHPExcel已经停p止更新了!
  135. </p>
  136. <p>
  137. <span class="level">中级</span>
  138. <span>43454次播放</span>
  139. </p>
  140. </div>
  141. </div>
  142. </div>
  143. <div class="colTow">
  144. <!-- 剩下得一排一个 -->
  145. <div>
  146. <a href=""><img src="https://img.php.cn/upload/course/000/000/015/5da7e9b7895ed229.png"></a>
  147. </div>
  148. <div>
  149. <a href="">PHP开发免费公益直播课</a>
  150. <div>
  151. <p>主讲:php中文网-朱老师
  152. </p>
  153. <p>
  154. <span class="level">中级</span>
  155. <span>43454次播放</span>
  156. </p>
  157. </div>
  158. </div>
  159. </div>
  160. <div class="colTow">
  161. <!-- 剩下得一排一个 -->
  162. <div>
  163. <a href=""><img src="https://img.php.cn/upload/course/000/000/015/5e0d82773b4fe808.png"></a>
  164. </div>
  165. <div>
  166. <a href="">Thinkphp6.0视频教程</a>
  167. <div>
  168. <p>Thinkphp6.0从2019年10月24日发布
  169. </p>
  170. <p>
  171. <span class="level">中级</span>
  172. <span>43454次播放</span>
  173. </p>
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <!--最新文章 -->
  179. <div class="newArticle">
  180. <div>
  181. <h3>
  182. <font color=#888 ; size=4rem>最新文章</font>
  183. </h3>
  184. </div>
  185. <div class="colTow">
  186. <!-- 剩下得一排一个 -->
  187. <div>
  188. <a href="">如何在linux环境下安装docker </a>
  189. <p>发布时间:2020-04-14
  190. </p>
  191. </div>
  192. <div>
  193. <a href=""><img src="https://img.php.cn/upload/article/000/000/041/5e956ebe721df901.jpg"></a>
  194. </div>
  195. </div>
  196. <div class="colTow">
  197. <!-- 剩下得一排一个 -->
  198. <div>
  199. <a href="">docker镜像如何导出 </a>
  200. <p>发布时间:2020-04-14
  201. </p>
  202. </div>
  203. <div>
  204. <a href=""><img src="https://img.php.cn/upload/article/000/000/041/5e9569d1d88e9841.jpg"></a>
  205. </div>
  206. </div>
  207. <div class="colTow">
  208. <!-- 剩下得一排一个 -->
  209. <div>
  210. <a href="">docker如何安装centos镜像 </a>
  211. <p>发布时间:2020-04-14
  212. </p>
  213. </div>
  214. <div>
  215. <a href=""><img src="https://img.php.cn/upload/article/000/000/041/5e955f5617478886.jpg"></a>
  216. </div>
  217. </div>
  218. <div><a href="">更多内容</a>
  219. </div>
  220. </div>
  221. <!--最新博文 -->
  222. <div class="newBlog">
  223. <div>
  224. <h3>
  225. <font color=#888 ; size=4rem>最新博文</font>
  226. </h3>
  227. </div>
  228. <div class="blog">
  229. <a href="">PhpStrom 安装PHPUnit-9单元测试 </a>
  230. <p>2020-04-14
  231. </p>
  232. </div>
  233. <div class="blog">
  234. <a href="">微信的openid和unionid </a>
  235. <p>2020-04-14
  236. </p>
  237. </div>
  238. <div class="blog">
  239. <a href="">CSS 中各类选择器的属性及应用</a>
  240. <p>2020-04-14
  241. </p>
  242. </div>
  243. <div><a href="">更多内容</a>
  244. </div>
  245. </div>
  246. <!-- 页脚 -->
  247. <footer>
  248. <a href="">
  249. <span class="iconfont hot"></span>
  250. <span>首页</span>
  251. </a>
  252. <a href="">
  253. <span class="iconfont "></span>
  254. <span>视频</span>
  255. </a>
  256. <a href="">
  257. <span class="iconfont "></span>
  258. <span>社区</span>
  259. </a>
  260. <a href="">
  261. <span class="iconfont "></span>
  262. <span>我的</span>
  263. </a>
  264. </footer>
  265. </body>
  266. </html>

css样式

1.header

  1. body > header {
  2. /* 转成弹性盒子,图标2端对齐 */
  3. background-color: #333;
  4. color: white;
  5. height: 40px;
  6. display: flex;
  7. align-items: center;
  8. justify-content: space-between;
  9. padding: 0 15px;
  10. position: fixed;
  11. width: 95vw;
  12. }
  13. /* 设置图片样式 */
  14. body > header > img {
  15. height: 100%;
  16. }
  17. /* 将方形头像改成圆形,并设置图片高度 */
  18. body > header > img:first-child {
  19. height: 25px;
  20. border-radius:25px;
  21. }

2.banner

  1. /* 设置焦点图高度 */
  2. body > .banner {
  3. /* 发现图片会和顶部得导航有重叠部分,所以减去了导航高度 */
  4. margin-top: 40px;
  5. height: 150px;
  6. }
  7. /* 设置图片宽度,让正常显示在页面中 */
  8. body > .banner > img {
  9. width: 100%;
  10. height: 100%;
  11. }

3.channel

  1. /* 设置频道位为弹性盒子,并且自动换行 */
  2. body > .channel {
  3. margin-top: 10px;
  4. margin-bottom: 10px;
  5. display: flex;
  6. flex-flow: row wrap;
  7. background-color: #fff;
  8. }
  9. /* 针对单个块div设置样式,2个a标签水平,垂直居中 */
  10. body > .channel > div{
  11. width: 25vw;
  12. display: flex;
  13. flex-flow: column ;
  14. text-align: center;
  15. /* align-items: center; */
  16. font-size: bold;
  17. margin-top: 10px;
  18. margin-bottom: 10px;
  19. }
  20. /* 控制图片大小和居中 */
  21. body > .channel > div > a > img{
  22. width: 50%;
  23. }

4.course

  1. /* 推荐课程模块样式 */
  2. body > .course {
  3. margin: 20px 10px;
  4. }
  5. /* 设置横排2个a标签图片的样式 */
  6. body > .course >div:nth-of-type(2){
  7. margin-top: 10px;
  8. display: flex;
  9. flex-flow: row nowrap;
  10. height: 100px;
  11. }
  12. body > .course >div:nth-of-type(2)> div:first-child{
  13. margin-right: 10px;
  14. }
  15. body > .course >div:nth-of-type(2)>div>a >img{
  16. width: 100%;
  17. }
  18. /* 处理一排一个的样式 */
  19. body > .course > .colTow{
  20. margin-top: 10px;
  21. display: flex;
  22. flex-flow: row nowrap;
  23. height: 105px;
  24. background: #FFF;
  25. }
  26. /* 处理图片位置 */
  27. body > .course > .colTow > div:first-child{
  28. margin: 10px;
  29. width: 40%;
  30. }
  31. /* 设置图片居中 */
  32. body > .course >.colTow >div >a > img{
  33. /* max-height:86px; */
  34. /* vertical-align: middle; */
  35. width: 100%;
  36. }
  37. /* 处理文字位置 */
  38. body > .course > .colTow > div:last-child{
  39. margin-top: 10px;
  40. font-size: 1.2rem;
  41. }
  42. body > .course > .colTow > div:last-child >p {
  43. font-size: 12px;
  44. margin-top: 15px;
  45. }
  46. body > .course > .colTow > div:last-child >p >span:first-child{
  47. background: #595757;
  48. color: #FFF;
  49. padding: 3px;
  50. border-radius:12px;
  51. }

5.newUpdate

  1. /* 最新更新模块样式 */
  2. body > .newUpdate {
  3. margin: 10px;
  4. }
  5. /* 处理一排一个的样式 */
  6. body > .newUpdate > .colTow{
  7. margin-top: 10px;
  8. display: flex;
  9. flex-flow: row nowrap;
  10. height: 103px;
  11. background: #FFF;
  12. }
  13. /* 处理图片位置 */
  14. body > .newUpdate > .colTow > div:first-child{
  15. margin: 10px;
  16. width: 40%;
  17. }
  18. /* 设置图片居中 */
  19. body > .newUpdate >.colTow >div >a > img{
  20. max-height:85px;
  21. /* vertical-align: middle; */
  22. align-items: center;
  23. width: 100%;
  24. }
  25. /* 处理文字位置 ,文字超长自动截断没实现,找来的属性会影响前面的图片,暂时跳过*/
  26. body > .newUpdate > .colTow>div:last-child{
  27. display: flex;
  28. flex-flow: column nowrap;
  29. }
  30. body > .newUpdate > .colTow>div:last-child >a {
  31. margin-top: 10px;
  32. font-size: 1.2rem;
  33. }
  34. body > .newUpdate > .colTow > div:last-child>div>p:first-child{
  35. margin-top: 10px;
  36. font-size: 12px;
  37. }
  38. body > .newUpdate > .colTow > div:last-child>div>p:last-child{
  39. margin-top: 10px;
  40. font-size: 12px;
  41. display: flex;
  42. justify-content: space-between;
  43. }
  44. /* 加了盒子模型之后,复制过来的正常的“中级初级”背景的居中太难调了,先放着把。。。 */
  45. body > .newUpdate > .colTow > div:last-child>div>p:last-child>.level{
  46. width: 2rem;
  47. background: #595757;
  48. border-radius:15px;
  49. color: #FFF;
  50. }

6.newArticle

  1. /* 最新文章模块样式 */
  2. body > .newArticle {
  3. margin: 20px 10px ;
  4. }
  5. /* 处理一排一个的样式 */
  6. body > .newArticle > .colTow{
  7. margin-top: 10px;
  8. display: flex;
  9. flex-flow: row nowrap;
  10. height: 82px;
  11. background: #FFF;
  12. justify-content: space-between;
  13. }
  14. /* 处理图片位置 */
  15. body > .newArticle > .colTow > div:last-child{
  16. margin: 10px;
  17. width: 30%;
  18. }
  19. /* 设置图片居中 */
  20. body > .newArticle >.colTow >div >a > img{
  21. vertical-align: middle;
  22. height: 62px;
  23. width: 100%;
  24. }
  25. /* 处理文字位置 */
  26. body > .newArticle > .colTow > div:first-child{
  27. margin: 10px;
  28. font-size: 1.2rem;
  29. }
  30. body > .newArticle > .colTow > div:first-child >a {
  31. font-size: 12px;
  32. font-weight: bold;
  33. margin-top: 10px;
  34. }
  35. body > .newArticle > .colTow > div:first-child >p {
  36. font-size: 12px;
  37. margin-top: 12px;
  38. }
  39. /*更多内容*/
  40. body > .newArticle>div:last-child {
  41. margin-top: 10px ;
  42. padding: 5px;
  43. text-align: center;
  44. background: #FFF;
  45. }

7.newBlog

  1. body > .newBlog {
  2. margin: 10px;
  3. }
  4. /* 设置横排2个a标签图片的样式 */
  5. body > .newBlog >.blog{
  6. background: #FFF;
  7. display: flex;
  8. flex-flow: row nowrap;
  9. justify-content: space-between;
  10. height: 50px;
  11. margin-top: 10px ;
  12. }
  13. body > .newBlog >.blog>a{
  14. margin: 12px 10px 10px;
  15. font-weight: bold;
  16. font-size: 14px;
  17. }
  18. body > .newBlog >.blog>p{
  19. margin: 10px;
  20. }
  21. body > .newBlog>div:last-child {
  22. margin-top: 10px ;
  23. margin-bottom: 60px ;
  24. padding: 5px;
  25. text-align: center;
  26. background: #FFF;
  27. }
  1. /* 页脚 */
  2. body > footer {
  3. color: #666;
  4. background-color: #efefef;
  5. border-top: 1px solid #ccc;
  6. height: 55px;
  7. position: fixed;
  8. bottom: 0;
  9. width: 100vw;
  10. display: flex;
  11. justify-content: space-around;
  12. }
  13. body > footer > a {
  14. margin-top: 10px;
  15. font-size: 0.8rem;
  16. display: flex;
  17. flex-flow: column nowrap;
  18. align-items: center;
  19. }
  20. body > footer > a > span:first-of-type {
  21. font-size: 1.6rem;
  22. }

总结

  • 敲的多才能记得住,编写过程中,主要是对元素的居中排列和图片链接上面的图片的位置把握不准,实现方式有问题。 几个带 align的属性总是混。
  • 文字单行显示,超过截断没实现,总是超出右边范围,后面继续改进。
  • 页面上的内容,在调大分辨率的时候,有的UI会超过自己的范围高度,特别是图片,还不太清楚怎么限制。
  • 重复的样式代码很多,慢慢学会精简。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议