博客列表 >CSS实战flex布局仿京东app

CSS实战flex布局仿京东app

wen。
wen。原创
2021年02月06日 12:56:291148浏览

京东实战app

运用弹性盒子布局京东app首页

css代码

  1. *{
  2. box-sizing: border-box;
  3. margin: 0;
  4. padding: 0;
  5. }
  6. a{
  7. text-decoration: none;
  8. }
  9. ul,li{
  10. list-style: none;
  11. }
  12. input{
  13. color: #232326;
  14. }
  15. @media (min-width:360px){
  16. html{
  17. font-size: 12px;
  18. }
  19. }
  20. /* 页眉 start */
  21. .header{
  22. background: #b2151b;
  23. position: fixed;
  24. left: 0;
  25. right: 0;
  26. top: 0;
  27. height: 3rem;
  28. z-index: 999;
  29. }
  30. .header .icon-menu{
  31. background: url(../images/icon-menu.png)50% no-repeat;
  32. background-size: 40%;
  33. height: 3rem;
  34. }
  35. .header{
  36. display: flex;
  37. align-items: center;
  38. }
  39. /* 页眉中的三个部分比例 1:6:1 */
  40. .header .login{
  41. text-align: center;
  42. color: #ffffff;
  43. font-size: 1rem;
  44. flex: 1;
  45. }
  46. .header .menu{
  47. text-align: center;
  48. flex: 1;
  49. font-size: 2.5rem;
  50. }
  51. .header .search{
  52. flex: 6;
  53. background: #ffffff;
  54. border-radius: 3rem;
  55. padding: 0.5rem;
  56. display: flex;
  57. }
  58. .header .search .logo{
  59. background: url(../images/jd-sprites.png)-13% 0% no-repeat;
  60. background-size: 14rem;
  61. flex: 1;
  62. height: 1rem;
  63. }
  64. .header .search .icon-search{
  65. background: url(../images/icon-search.png) 50% 0% no-repeat;
  66. background-size: 1.3rem;
  67. flex: 1;
  68. height: 1rem;
  69. border-left: 1px solid #bdbdbd;
  70. }
  71. .header .search .words{
  72. flex: 6;
  73. border: none;
  74. height: 1rem;
  75. }
  76. /* 页眉 end */
  77. /* 主体 start */
  78. .main{
  79. background: #f6f6f6;
  80. padding-top: 3rem;
  81. padding-bottom: 6rem;
  82. font-size: 1.4rem;
  83. }
  84. .main .nav{
  85. padding: 1rem;
  86. background: #ffffff;
  87. border-radius: 1rem;
  88. margin: 0.5rem;
  89. display: flex;
  90. /* 运行换行 */
  91. flex-flow: row wrap;
  92. justify-content: space-between;
  93. }
  94. .main .nav img{
  95. height: 3rem;
  96. width: 3rem;
  97. }
  98. .main .nav a{
  99. font-size: 1rem;
  100. }
  101. .main .nav li{
  102. flex: 1 5 20%;
  103. flex-flow: column nowrap;
  104. align-items: center;
  105. text-align: center;
  106. height: 6rem;
  107. }
  108. .main .nav li p{
  109. color: #666;
  110. font-size: 0.8rem;
  111. }
  112. .main .ms{
  113. background: #ffffff;
  114. border-radius: 1rem;
  115. margin: 0.5rem;
  116. padding: 0.5rem;
  117. }
  118. .main .ms .ms-top{
  119. font-size: 1.3rem;
  120. height: 3rem;
  121. display: flex;
  122. justify-content: space-between;
  123. background: url(../images/ms-bg.png) no-repeat;
  124. background-size: 100%;
  125. }
  126. .main .ms .ms-top .left{
  127. display: flex;
  128. flex: 4;
  129. }
  130. .main .ms .ms-top .left .title{
  131. font-weight: bold;
  132. flex: 1;
  133. }
  134. .main .ms .ms-top .left .notice{
  135. display: flex;
  136. flex: 3;
  137. }
  138. .main .ms .ms-top .left .notice .tips{
  139. font-size: 1.2rem;
  140. color: #ff2727;
  141. line-height: 2;
  142. font-weight: bold;
  143. flex: 1;
  144. }
  145. .main .ms .ms-top .left .notice .tips::after{
  146. content: '';
  147. background: url(../images/seckill-time-to_1de70c91.png)10% no-repeat;
  148. padding: 1rem;
  149. background-size: 99%;
  150. }
  151. .main .ms .ms-top .left .notice .time{
  152. font-size: 1.2rem;
  153. flex: 3;
  154. line-height: 2;
  155. }
  156. .main .ms .ms-top .left .notice .time span{
  157. background: #fa2c19;
  158. color: #ffffff;
  159. border-radius: 4px;
  160. padding: 0.2rem;
  161. }
  162. .main .ms .ms-top .right{
  163. flex: 1;
  164. font-size: 1.1rem;
  165. color: #f23030;
  166. line-height: 2;
  167. }
  168. .main .ms .ms-top .right::after{
  169. content: '';
  170. background: url(../images/arrow_rt_2ccb8cd5.png)10% no-repeat;
  171. padding: 1rem;
  172. background-size: 40%;
  173. margin-left: 0.1rem;
  174. }
  175. .main .ms .ms-body{
  176. display: flex;
  177. flex-flow: row nowrap;
  178. justify-content: space-between;
  179. }
  180. .main .ms .ms-body img{
  181. width: 4rem;
  182. height: 4rem;
  183. }
  184. .main .ms .ms-body li{
  185. text-align: center;
  186. }
  187. .main .ms .ms-body li .price{
  188. color: #f2270c;
  189. font-size: 1.1rem;
  190. font-weight: bold;
  191. }
  192. .main .ms .ms-body li .seckill-original-price{
  193. font-size: 1.1rem;
  194. color: #999;
  195. text-decoration:line-through
  196. }
  197. .main .main-body{
  198. display: flex;
  199. flex-flow: row wrap;
  200. justify-content: space-between;
  201. margin: 0.5rem;
  202. }
  203. .main .main-body li{
  204. flex: 1 1 calc(50% - 1rem);
  205. align-items: center;
  206. background: #ffffff;
  207. display: flex;
  208. flex-flow: row wrap;
  209. margin: 0.5rem;
  210. border-radius: 3px;
  211. border-radius: 10px;
  212. }
  213. .main .main-body li img{
  214. width: 100%;
  215. height: 100%;
  216. }
  217. .main .main-body li .info{
  218. margin: 0.3rem;
  219. height: 7rem;
  220. }
  221. .main .main-body li .info p{
  222. font-size: 1rem;
  223. margin-bottom: 0.5rem;
  224. height: 3rem;
  225. overflow: hidden;
  226. }
  227. .main .main-body li .info .desc-price {
  228. display: flex;
  229. justify-content: space-between;
  230. }
  231. .main .main-body li .info .desc-price .left{
  232. color: #fa2c19;
  233. font-size: 0.8rem;
  234. }
  235. .main .main-body li .info .desc-price .left .price{
  236. font-weight: bold;
  237. }
  238. .main .main-body li .info .desc-price .left .price span{
  239. font-size: 1.3rem;
  240. margin-left: 0.2rem;
  241. }
  242. .main .main-body li .info .desc-price .left .price .sg{
  243. border: 1px solid #fa2c19;
  244. font-size: 0.5em;
  245. font-weight: normal;
  246. padding: 0 0.1rem 0;
  247. border-radius: 3px;
  248. }
  249. .main .main-body li .info .desc-price .right{
  250. color: grey;
  251. font-size: 0.8rem;
  252. background: #f0f2f5;
  253. height: 2rem;
  254. line-height: 2;
  255. padding: 0 0.5rem;
  256. border-top-left-radius: 10px;
  257. border-bottom-left-radius: 10px;
  258. position: relative;
  259. right: -0.5rem;
  260. }
  261. /* 主体 end */
  262. .footer{
  263. background: #ffffff;
  264. position: fixed;
  265. height: 6em;
  266. left: 0;
  267. right: 0;
  268. bottom: 0;
  269. z-index: 999;
  270. }
  271. .footer .nav{
  272. display: flex;
  273. justify-content: space-between;
  274. flex-flow: row nowrap;
  275. }
  276. .footer .nav li{
  277. flex: 1 1 20%;
  278. }
  279. .footer .nav li img{
  280. width: 100%;
  281. height: 100%;
  282. padding: 0.3rem 0.2rem 0;
  283. }

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>多快好省,购物上京东!</title>
  7. <link rel="stylesheet" type="text/css" href="css/app.css">
  8. </head>
  9. <body>
  10. <!-- 页眉 -->
  11. <div class="header">
  12. <!-- 字体图标菜单 -->
  13. <div class="menu iconfont icon-menu"></div>
  14. <!-- 搜索框 -->
  15. <div class="search">
  16. <div class="logo"></div>
  17. <div class="zoom iconfont icon-search"></div>
  18. <input type="text" class="words" placeholder="联想一体机电脑">
  19. </div>
  20. <!-- 登录按钮 -->
  21. <a href="" class="login">登录</a>
  22. </div>
  23. <!-- 主体 -->
  24. <div class="main">
  25. <ul class="nav">
  26. <li>
  27. <a href="#">
  28. <img src="images/e2bcc411170524f0.png"/>
  29. <p>京东超市</p>
  30. </a>
  31. </li>
  32. <li>
  33. <a href="#">
  34. <img src="images/ed9861b4ddfb9f30.png"/>
  35. <p>数码电器</p>
  36. </a>
  37. </li>
  38. <li>
  39. <a href="#">
  40. <img src="images/0db99d859ab16ce9.png"/>
  41. <p>京东服饰</p>
  42. </a>
  43. </li>
  44. <li>
  45. <a href="#">
  46. <img src="images/59712d986b10bb0a.png"/>
  47. <p>京东生鲜</p>
  48. </a>
  49. </li>
  50. <li>
  51. <a href="#">
  52. <img src="images/f07cc166f368fa05.png"/>
  53. <p>京东到家</p>
  54. </a>
  55. </li>
  56. <li>
  57. <a href="#">
  58. <img src="images/300071558a9ab078.png"/>
  59. <p>充值缴费</p>
  60. </a>
  61. </li>
  62. <li>
  63. <a href="#">
  64. <img src="images/b2aa7d67e675baf8.png"/>
  65. <p>9.9元拼</p>
  66. </a>
  67. </li>
  68. <li>
  69. <a href="#">
  70. <img src="images/e5c12d5e943266b9.png"/>
  71. <p>领券</p>
  72. </a>
  73. </li>
  74. <li>
  75. <a href="#">
  76. <img src="images/af4b57d2383e605d.png"/>
  77. <p>领金贴</p>
  78. </a>
  79. </li>
  80. <li>
  81. <a href="#">
  82. <img src="images/d04df7c74c87cf68.png"/>
  83. <p>PLUS会员</p>
  84. </a>
  85. </li>
  86. </ul>
  87. <!-- 秒杀区 -->
  88. <div class="ms">
  89. <div class="ms-top">
  90. <div class="left">
  91. <div class="title">京东秒杀</div>
  92. <div class="notice">
  93. <div class="tips">
  94. 16
  95. </div>
  96. <div class="time"><span>00</span>:<span>35</span>:<span>14</span></div>
  97. </div>
  98. </div>
  99. <div class="right">更多秒杀</div>
  100. </div>
  101. <ul class="ms-body">
  102. <li>
  103. <a href="#">
  104. <img src="images/9594607c2e8b36db.jpg" />
  105. <p class="price">¥20.9</p>
  106. <p class="seckill-original-price">¥23.7</p>
  107. </a>
  108. </li>
  109. <li>
  110. <a href="#">
  111. <img src="images/6a2ff1fc52fe892c.jpg" />
  112. <p class="price">¥1000</p>
  113. <p class="seckill-original-price">¥1500</p>
  114. </a>
  115. </li>
  116. <li>
  117. <a href="#">
  118. <img src="images/bff7dd4facbc18d6.jpg" />
  119. <p class="price">¥19.9</p>
  120. <p class="seckill-original-price">¥29.9</p>
  121. </a>
  122. </li>
  123. <li>
  124. <a href="#">
  125. <img src="images/cc5a53e672c9d90f.jpg" />
  126. <p class="price">¥22.9</p>
  127. <p class="seckill-original-price">¥35.9</p>
  128. </a>
  129. </li>
  130. <li>
  131. <a href="#">
  132. <img src="images/c40339852983406f.jpg" />
  133. <p class="price">¥1959</p>
  134. <p class="seckill-original-price">¥2248</p>
  135. </a>
  136. </li>
  137. <li>
  138. <a href="#">
  139. <img src="images/48b02e4c05f5ccb9.jpg" />
  140. <p class="price">¥29.9</p>
  141. <p class="seckill-original-price">¥45</p>
  142. </a>
  143. </li>
  144. </ul>
  145. </div>
  146. <!-- 商品主体 -->
  147. <ul class="main-body">
  148. <li>
  149. <a href="#">
  150. <img src="images/c0ab1871dbc3a78c.jpg" />
  151. </a>
  152. <div class="info">
  153. <p>忆丝芸头发营养液保湿护发喷雾200ml(免洗护发素防毛躁烫发护理柔顺精华液) 水润平衡喷雾</p>
  154. <div class="desc-price">
  155. <div class="left">
  156. <div class="price">
  157. <span>52</span>
  158. <span class="sg">减免</span>
  159. </div>
  160. </div>
  161. <div class="right">
  162. <p>看相似</p>
  163. </div>
  164. </div>
  165. </div>
  166. </li>
  167. <li>
  168. <a href="#">
  169. <img src="images/8a6a08fd86671626.jpg" />
  170. </a>
  171. <div class="info">
  172. <p>安睡宝(SOMERELLE) 水洗棉四件套 ins全棉色织纯棉学生宿舍三件套素色简约床单被套 雾霾兰 1.8米双人床四件套 220*240cm</p>
  173. <div class="desc-price">
  174. <div class="left">
  175. <div class="price">
  176. <span>379</span>
  177. </div>
  178. </div>
  179. <div class="right">
  180. <p>看相似</p>
  181. </div>
  182. </div>
  183. </div>
  184. </li>
  185. <li>
  186. <a href="#">
  187. <img src="images/4a490f0a31564308.jpg" />
  188. </a>
  189. <div class="info">
  190. <p>汰渍 Tide 洁净除菌洗衣液(洁雅百合香)超值套装10斤(2KG*1瓶+500G*6袋装</p>
  191. <div class="desc-price">
  192. <div class="left">
  193. <div class="price">
  194. <span>59.9</span>
  195. <span class="sg">满减</span>
  196. </div>
  197. </div>
  198. <div class="right">
  199. <p>看相似</p>
  200. </div>
  201. </div>
  202. </div>
  203. </li>
  204. <li>
  205. <a href="#">
  206. <img src="images/2d80e586f7acd3aa.jpg" />
  207. </a>
  208. <div class="info">
  209. <p>佳洁士(Crest) 3D钻亮炫白系列美白漱口水500ML</p>
  210. <div class="desc-price">
  211. <div class="left">
  212. <div class="price">
  213. <span>38.8</span>
  214. <span class="sg">满减</span>
  215. </div>
  216. </div>
  217. <div class="right">
  218. <p>看相似</p>
  219. </div>
  220. </div>
  221. </div>
  222. </li>
  223. <li>
  224. <a href="#">
  225. <img src="images/06296d41299f6765.jpg" />
  226. </a>
  227. <div class="info">
  228. <p>亚缇克兰 Urtekram 玻尿酸原液水光面膜10片 (补水保湿男女士护肤化妆品)</p>
  229. <div class="desc-price">
  230. <div class="left">
  231. <div class="price">
  232. <span>98.8</span>
  233. </div>
  234. </div>
  235. <div class="right">
  236. <p>看相似</p>
  237. </div>
  238. </div>
  239. </div>
  240. </li>
  241. <li>
  242. <a href="#">
  243. <img src="images/b6ce1ff083180055.png" />
  244. </a>
  245. <div class="info">
  246. <p>北极绒 秋冬裸睡全新科技臻肤棉四件套 刺绣加厚保暖床单被套床上单人双人宿舍三件套</p>
  247. <div class="desc-price">
  248. <div class="left">
  249. <div class="price">
  250. <span>89</span>
  251. </div>
  252. </div>
  253. <div class="right">
  254. <p>看相似</p>
  255. </div>
  256. </div>
  257. </div>
  258. </li>
  259. </ul>
  260. </div>
  261. <!-- 页脚 -->
  262. <div class="footer">
  263. <ul class="nav">
  264. <li>
  265. <a href="#">
  266. <img src="images/81328b0609c60a3c.png" />
  267. </a>
  268. </li>
  269. <li>
  270. <a href="#">
  271. <img src="images/4af32f42575509d8.png" />
  272. </a>
  273. </li>
  274. <li>
  275. <a href="#">
  276. <img src="images/a161ad4f4d2bb5ea.png" />
  277. </a>
  278. </li>
  279. <li>
  280. <a href="#">
  281. <img src="images/f2fe0a88bf344736.png" />
  282. </a>
  283. </li>
  284. <li>
  285. <a href="#">
  286. <img src="images/876c40f17d91ce44.png" />
  287. </a>
  288. </li>
  289. </ul>
  290. </div>
  291. </body>
  292. </html>

首页展现效果图

京东app首页

动图效果如下

动态图

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议