博客列表 >使用flex布局仿写php中文网移动端首页

使用flex布局仿写php中文网移动端首页

文瑜
文瑜原创
2020年04月13日 06:03:28756浏览

使用flex布局仿写php中文网移动端首页

  • 地址:http://211.149.219.93:90/0410/

  • 网站布局全部使用flex布局,运行效果及代码如下:

  • 1.运行效果:


  • 2.代码:

  • index.html

    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>仿php中文网移动端</title>
    7. <!-- 引用字体图标 -->
    8. <link rel="stylesheet" href="static/css/font-icon.css" />
    9. <!-- 初始化 -->
    10. <link rel="stylesheet" href="static/css/php.css" />
    11. <!-- header,slider,nav,footer样式 -->
    12. <link rel="stylesheet" href="static//css//header-footer.css" />
    13. <!-- 主体内容区 -->
    14. <link rel="stylesheet" href="static/css/container.css" />
    15. </head>
    16. <body>
    17. <!-- 页眉 -->
    18. <header>
    19. <a href=""><img src="static/images/user_img.jpg" alt="个人中心" /></a>
    20. <a href=""><img src="static/images/logo.png" alt="PHP中文网" /></a>
    21. <a href=""><span class="iconfont">&#xe61f;</span></a>
    22. </header>
    23. <!-- 轮播图 -->
    24. <div class="slider">
    25. <img src="static/images/banner.jpg" alt="" />
    26. </div>
    27. <!-- 导航区 -->
    28. <nav>
    29. <div>
    30. <a href=""><img src="static/images/html-css.png" alt="" /></a>
    31. <a href="">HTML/CSS</a>
    32. </div>
    33. <div>
    34. <a href=""><img src="static/images/js.png" alt="" /></a>
    35. <a href="">JavaScript</a>
    36. </div>
    37. <div>
    38. <a href=""><img src="static/images/服务端.png" alt="" /></a>
    39. <a href="">服务端</a>
    40. </div>
    41. <div>
    42. <a href=""><img src="static/images/数据库.png" alt="" /></a>
    43. <a href="">数据库</a>
    44. </div>
    45. <div>
    46. <a href=""><img src="static/images/移动端.png" alt="" /></a>
    47. <a href="">移动端</a>
    48. </div>
    49. <div>
    50. <a href=""><img src="static/images/手册.png" alt="" /></a>
    51. <a href="">手册</a>
    52. </div>
    53. <div>
    54. <a href=""><img src="static/images/工具.png" alt="" /></a>
    55. <a href="">工具</a>
    56. </div>
    57. <div>
    58. <a href=""><img src="static/images/直播.png" alt="" /></a>
    59. <a href="">直播</a>
    60. </div>
    61. </nav>
    62. <!-- 推荐课程 -->
    63. <div class="rec-courses">
    64. <h3 class="chapter">推荐课程</h3>
    65. <!-- one recommend -->
    66. <div class="rec-one">
    67. <a href=""><img src="static/images/course1.jpg" alt="" /></a>
    68. <a href=""><img src="static/images/course2.jpg" alt="" /></a>
    69. </div>
    70. <!-- two recommend -->
    71. <div class="rec-two">
    72. <a href=""><img src="static/images/course3.jpg" alt="" /></a>
    73. <div>
    74. <a href="" class="title">CI框架30分钟极速入门</a>
    75. <p><span class="word">中级</span>61298次播放</p>
    76. <p>&nbsp;</p>
    77. </div>
    78. </div>
    79. <div class="rec-two">
    80. <a href=""><img src="static/images/couse4.jpg" alt="" /></a>
    81. <div>
    82. <a href="" class="title">2018前端入门_HTML5</a>
    83. <p><span class="word">中级</span>61298次播放</p>
    84. <p>&nbsp;</p>
    85. </div>
    86. </div>
    87. </div>
    88. <!-- 最近更新 -->
    89. <div class="new-courses">
    90. <h3 class="chapter">最近更新</h3>
    91. <div class="new-course">
    92. <a href=""><img src="static/images/updata1.png" alt="" /></a>
    93. <div>
    94. <a href="" class="title hide">PHP快速操控Excel之PhpSpreadsheet</a>
    95. <p class="hide">老的PHPExcel已经停止更新了!目前最...</p>
    96. <div>
    97. <span class="word">中级</span>
    98. <p>61298次播放</p>
    99. </div>
    100. </div>
    101. </div>
    102. <div class="new-course">
    103. <a href=""><img src="static/images/updata2.png" alt="" /></a>
    104. <div>
    105. <a href="" class="title hide">PHP快速操控Excel之PhpSpreadsheet</a>
    106. <p class="hide">老的PHPExcel已经停止更新了!目前最...</p>
    107. <div>
    108. <span class="word">中级</span>
    109. <p>61298次播放</p>
    110. </div>
    111. </div>
    112. </div>
    113. <div class="new-course">
    114. <a href=""><img src="static/images/updata3.jpg" alt="" /></a>
    115. <div>
    116. <a href="" class="title hide">PHP快速操控Excel之PhpSpreadsheet</a>
    117. <p class="hide">老的PHPExcel已经停止更新了!目前最...</p>
    118. <div>
    119. <span class="word">中级</span>
    120. <p>61298次播放</p>
    121. </div>
    122. </div>
    123. </div>
    124. <div class="new-course">
    125. <a href=""><img src="static/images/updata4.png" alt="" /></a>
    126. <div>
    127. <a href="" class="title hide">PHP快速操控Excel之PhpSpreadsheet</a>
    128. <p class="hide">老的PHPExcel已经停止更新了!目前最...</p>
    129. <div>
    130. <span class="word">中级</span>
    131. <p>61298次播放</p>
    132. </div>
    133. </div>
    134. </div>
    135. <div class="new-course">
    136. <a href=""><img src="static/images/updata5.png" alt="" /></a>
    137. <div>
    138. <a href="" class="title hide">PHP快速操控Excel之PhpSpreadsheet</a>
    139. <p class="hide">老的PHPExcel已经停止更新了!目前最...</p>
    140. <div>
    141. <span class="word">中级</span>
    142. <p>61298次播放</p>
    143. </div>
    144. </div>
    145. </div>
    146. <div class="new-course">
    147. <a href=""><img src="static/images/updata6.png" alt="" /></a>
    148. <div>
    149. <a href="" class="title hide">PHP快速操控Excel之PhpSpreadsheet</a>
    150. <p class="hide">老的PHPExcel已经停止更新了!目前最...</p>
    151. <div>
    152. <span class="word">中级</span>
    153. <p>61298次播放</p>
    154. </div>
    155. </div>
    156. </div>
    157. </div>
    158. <!-- 最新文章 -->
    159. <div class="new-lessions">
    160. <h2 class="chapter">最新文章</h2>
    161. <div class="new-lession">
    162. <div>
    163. <a href="" class="title hide">thinkphp5 + barcode 生成条形码的方法</a>
    164. <p class="hide">发布时间:2020-4-12</p>
    165. <p>&nbsp;</p>
    166. </div>
    167. <a href=""><img src="static/images/lession1.jpg" alt="" /></a>
    168. </div>
    169. <div class="new-lession">
    170. <div>
    171. <a href="" class="title hide">thinkphp5 + barcode 生成条形码的方法</a>
    172. <p class="hide">发布时间:2020-4-12</p>
    173. <p>&nbsp;</p>
    174. </div>
    175. <a href=""><img src="static/images/lession2.png" alt="" /></a>
    176. </div>
    177. <div class="new-lession">
    178. <div>
    179. <a href="" class="title hide">thinkphp5 + barcode 生成条形码的方法</a>
    180. <p class="hide">发布时间:2020-4-12</p>
    181. <p>&nbsp;</p>
    182. </div>
    183. <a href=""><img src="static/images/lession3.jpg" alt="" /></a>
    184. </div>
    185. <div class="new-lession">
    186. <div>
    187. <a href="" class="title hide">thinkphp5 + barcode 生成条形码的方法</a>
    188. <p class="hide">发布时间:2020-4-12</p>
    189. <p>&nbsp;</p>
    190. </div>
    191. <a href=""><img src="static/images/lession4.png" alt="" /></a>
    192. </div>
    193. <div class="new-lession">
    194. <div>
    195. <a href="" class="title hide">thinkphp5 + barcode 生成条形码的方法</a>
    196. <p class="hide">发布时间:2020-4-12</p>
    197. <p>&nbsp;</p>
    198. </div>
    199. <a href=""><img src="static/images/lession5.jpg" alt="" /></a>
    200. </div>
    201. <a href="">更多内容</a>
    202. </div>
    203. <!-- 最新博文 -->
    204. <div class="new-blogs">
    205. <h2 class="chapter">最新博文</h2>
    206. <div class="title">
    207. <a href="" class="hide">CSS3:弹性盒子flex布局</a>
    208. <a href="">2020-04-12</a>
    209. </div>
    210. <div class="title">
    211. <a href="" class="hide">CSS3:弹性盒子flex布局</a>
    212. <a href="">2020-04-12</a>
    213. </div>
    214. <div class="title">
    215. <a href="" class="hide">CSS3:弹性盒子flex布局</a>
    216. <a href="">2020-04-12</a>
    217. </div>
    218. <div class="title">
    219. <a href="" class="hide">CSS3:弹性盒子flex布局</a>
    220. <a href="">2020-04-12</a>
    221. </div>
    222. <div class="title">
    223. <a href="" class="hide">CSS3:弹性盒子flex布局</a>
    224. <a href="">2020-04-12</a>
    225. </div>
    226. <a href="">更多内容</a>
    227. </div>
    228. <!-- 最新问答 -->
    229. <div class="new-questions">
    230. <h2 class="chapter">最新问答</h2>
    231. <div class="title">
    232. <a href="" class="hide"
    233. >为什么老师,你de button按钮处可以有两个ID是一样的id="loginbtn"
    234. 而不会报错啊</a
    235. >
    236. <a href="">2020-04-12</a>
    237. </div>
    238. <div class="title">
    239. <a href="" class="hide"
    240. >为什么老师,你de button按钮处可以有两个ID是一样的id="loginbtn"
    241. 而不会报错啊</a
    242. >
    243. <a href="">2020-04-12</a>
    244. </div>
    245. <div class="title">
    246. <a href="" class="hide"
    247. >为什么老师,你de button按钮处可以有两个ID是一样的id="loginbtn"
    248. 而不会报错啊</a
    249. >
    250. <a href="">2020-04-12</a>
    251. </div>
    252. <div class="title">
    253. <a href="" class="hide"
    254. >为什么老师,你de button按钮处可以有两个ID是一样的id="loginbtn"
    255. 而不会报错啊</a
    256. >
    257. <a href="">2020-04-12</a>
    258. </div>
    259. <div class="title">
    260. <a href="" class="hide"
    261. >为什么老师,你de button按钮处可以有两个ID是一样的id="loginbtn"
    262. 而不会报错啊</a
    263. >
    264. <a href="">2020-04-12</a>
    265. </div>
    266. <a href="">更多内容</a>
    267. </div>
    268. <!-- 页脚 -->
    269. <footer>
    270. <a href="">
    271. <span class="iconfont hot">&#xe60c;</span>
    272. <span>首页</span>
    273. </a>
    274. <a href="">
    275. <span class="iconfont hot">&#xe60a;</span>
    276. <span>视频</span>
    277. </a>
    278. <a href="">
    279. <span class="iconfont hot">&#xe60b;</span>
    280. <span>社区</span>
    281. </a>
    282. <a href="">
    283. <span class="iconfont hot">&#xe600;</span>
    284. <span>我的</span>
    285. </a>
    286. </footer>
    287. </body>
    288. </html>
  • php.css

  1. /* 基本公共样式 */
  2. /* 初始化 */
  3. * {
  4. margin: 0px;
  5. padding: 0px;
  6. }
  7. a {
  8. text-decoration: none;
  9. color: #666;
  10. }
  11. html {
  12. width: 100vw;
  13. height: 100vw;
  14. font-size: 12px;
  15. }
  16. body {
  17. min-width: 360px;
  18. background-color: #edeff0;
  19. display: flex;
  20. flex-flow: column nowrap;
  21. }
  • header-footer.css
  1. /* 页眉设置 */
  2. body > header {
  3. background-color: #333;
  4. color: white;
  5. height: 30px;
  6. padding: 5px;
  7. position: fixed;
  8. top: 0px;
  9. width: 100vw;
  10. display: flex;
  11. align-items: center;
  12. justify-content: space-between;
  13. }
  14. body > header > a {
  15. flex: 0 0 10vw;
  16. }
  17. body > header img {
  18. width: 100%;
  19. border-radius: 50%;
  20. }
  21. /* 轮播图 */
  22. body > .slider img {
  23. width: 100%;
  24. }
  25. /* 导航区 */
  26. body > nav {
  27. height: 200px;
  28. padding-top: 10px;
  29. background-color: #fff;
  30. display: flex;
  31. flex-flow: row wrap;
  32. }
  33. body > nav > div {
  34. margin-bottom: 10px;
  35. width: 25vw;
  36. display: flex;
  37. flex-flow: column nowrap;
  38. justify-content: center;
  39. align-items: center;
  40. }
  41. body > nav > div img {
  42. width: 50%;
  43. }
  44. body > nav > div a {
  45. text-align: center;
  46. }
  47. /* 页脚 */
  48. footer {
  49. height: 35px;
  50. background-color: white;
  51. position: fixed;
  52. bottom: 0px;
  53. width: 100vw;
  54. display: flex;
  55. justify-content: space-around;
  56. }
  57. footer a {
  58. display: flex;
  59. flex-flow: column nowrap;
  60. align-items: center;
  61. }
  • container.css
  1. /* 推荐课程,最近更新,最新文章,最新博文共有样式 */
  2. .rec-courses,
  3. .new-courses,
  4. .new-lessions,
  5. .new-blogs,
  6. .new-questions {
  7. margin: 0px 10px;
  8. display: flex;
  9. flex-flow: column nowrap;
  10. }
  11. /* 设置标题啊样式 */
  12. .chapter {
  13. padding-bottom: 10px;
  14. font-size: 18px;
  15. font-weight: bold;
  16. color: #888;
  17. }
  18. /* //文字样式 */
  19. .title {
  20. font-size: 16px;
  21. }
  22. /* 不换行隐藏超出部分 */
  23. .hide {
  24. white-space: nowrap;
  25. overflow: hidden;
  26. text-overflow: ellipsis;
  27. width: 50vw;
  28. }
  29. /* “中级”样式 */
  30. .word {
  31. background-color: #595757;
  32. color: #fff;
  33. border-radius: 30%;
  34. }
  35. .rec-courses > .rec-one {
  36. display: flex;
  37. justify-content: space-between;
  38. }
  39. .rec-courses > .rec-one > a {
  40. width: 47vw;
  41. }
  42. .rec-courses > .rec-one img {
  43. width: 100%;
  44. }
  45. .rec-courses > .rec-two {
  46. margin-top: 20px;
  47. padding: 10px;
  48. background-color: white;
  49. display: flex;
  50. }
  51. .rec-courses > .rec-two > a {
  52. width: 35vw;
  53. }
  54. .rec-courses > .rec-two img {
  55. width: 100%;
  56. }
  57. .rec-courses > .rec-two > div {
  58. color: #777;
  59. padding-left: 20px;
  60. display: flex;
  61. flex-flow: column nowrap;
  62. justify-content: space-between;
  63. }
  64. /* 最近更新 */
  65. .new-courses > .new-course {
  66. margin-bottom: 20px;
  67. padding: 10px;
  68. background-color: white;
  69. display: flex;
  70. }
  71. .new-courses > .new-course > a {
  72. width: 35vw;
  73. }
  74. .new-courses > .new-course img {
  75. width: 100%;
  76. }
  77. .new-courses > .new-course > div {
  78. color: #777;
  79. padding-left: 20px;
  80. display: flex;
  81. flex-flow: column nowrap;
  82. justify-content: space-between;
  83. }
  84. .new-courses > .new-course > div > div {
  85. display: flex;
  86. justify-content: space-between;
  87. }
  88. /* 最新文章 */
  89. .new-lessions > .new-lession {
  90. padding: 10px;
  91. margin-bottom: 20px;
  92. background-color: white;
  93. display: flex;
  94. }
  95. .new-lessions > .new-lession > div {
  96. width: 75vw;
  97. color: #777;
  98. display: flex;
  99. flex-flow: column nowrap;
  100. justify-content: space-between;
  101. }
  102. .new-lessions > .new-lession img {
  103. width: 100%;
  104. }
  105. /* 更多内容:最新文章。最新博文,最新问答 */
  106. .new-lessions > a,
  107. .new-blogs > a,
  108. .new-questions > a {
  109. font-size: 1.5rem;
  110. text-align: center;
  111. background-color: white;
  112. margin-bottom: 40px;
  113. }
  114. /* 最新博文/最新问答 */
  115. .new-blogs > div,
  116. .new-questions > div {
  117. padding: 10px;
  118. margin-bottom: 20px;
  119. background-color: white;
  120. display: flex;
  121. justify-content: space-between;
  122. }
  • 3.总结
    此次仿写主要难点在flex容器/项目的属性运用上,对flex布局的掌握程度。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议