博客列表 >编写淘宝网PC端首页布局框架

编写淘宝网PC端首页布局框架

手机用户1580651468
手机用户1580651468原创
2022年11月03日 13:25:33776浏览

编写淘宝网PC端首页布局框架

一. 使用Grid / Flex , 编写淘宝网PC端首页布局

  1. 淘宝PC端首页的分析:首先可分为三块:
  2. 1.头部:头部可分为顶部导航和快速入口。
  3. 2.主体:搜索框、导航区和商品列表
  4. 1)搜索框可分为logo、搜素框和图标。
  5. 2)导航区可分为左侧分类、左侧轮播图和标题区
  6. 3.尾部:各种第三方信息

一)要实现pc端的页眉的关键代码可分为html代码和css代码

1.pc端头部的html代码

  1. <header>
  2. <!-- 一).头部 -->
  3. <!-- 1.顶部导航 -->
  4. <div class="top">
  5. <div class="content"></div>
  6. </div>
  7. <!-- 2.快速入口 -->
  8. <div class="entry">
  9. <div class="content">
  10. <div class="item logo"></div>
  11. <div class="item"></div>
  12. <div class="item"></div>
  13. <div class="item"></div>
  14. <div class="item"></div>
  15. <div class="item"></div>
  16. </div>
  17. </header>

2.pc端头部的css代码

  1. * {
  2. margin: 0;
  3. padding: 0;
  4. box-sizing: border-box;
  5. }
  6. body {
  7. min-height: 2000px;
  8. }
  9. /* 头部导航 */
  10. .wrap header .top {
  11. width: 100vw;
  12. height: 36px;
  13. background-color: yellow;
  14. }
  15. .wrap header .top .content {
  16. width: 1190px;
  17. height: inherit;
  18. background-color: wheat;
  19. margin: auto;
  20. }
  21. /* 头部:快速入口 */
  22. .wrap header .entry {
  23. height: 100px;
  24. padding: 15px;
  25. background-color: #ccc;
  26. }
  27. .wrap header .entry .content {
  28. width: 1190px;
  29. min-width: 940px;
  30. height: inherit;
  31. background-color: lawngreen;
  32. margin: auto;
  33. display: grid;
  34. grid-template-columns: 80px repeat(5, 1fr);
  35. grid-auto-rows: 80px;
  36. gap: 10px;
  37. padding: 10px;
  38. }
  39. .wrap header .entry .content .item {
  40. background-color: aqua;
  41. border-radius: 15px;
  42. }

2.pc端头部运行的效果图

二)要实现pc端的主体的关键代码可分为html代码和css代码

1.pc端主体的html代码

  1. <!-- 主体 -->
  2. <main>
  3. <!-- 1.搜素框 -->
  4. <div class="search">
  5. <div class="item logo"></div>
  6. <div class="item input"></div>
  7. <div class="item ewm"></div>
  8. </div>
  9. <!-- 2.导航区 -->
  10. <div class="navs">
  11. <!-- 1)左侧分类 -->
  12. <div class="cate"></div>
  13. <!-- 2)在侧轮播图与用户信息 -->
  14. <div class="user">
  15. <!-- 1.1顶部导航 -->
  16. <div class="user-top"></div>
  17. <!-- 1.2左侧轮播 -->
  18. <div class="slider"></div>
  19. <!-- 右侧用户信息 -->
  20. <div class="user-info"></div>
  21. </div>
  22. </div>
  23. <!-- 3标题区 -->
  24. <div class="title">
  25. <h2>猜你喜欢</h2>
  26. <div class="tag">个性推荐</div>
  27. </div>
  28. <!-- 3.商品列表 -->
  29. <div class="list">
  30. <div class="item">
  31. <a href="">
  32. <img src="images/items1/item2.jpg" alt=""></a>
  33. <div class="detail">
  34. <div class="desc">打底裤子女士秋冬季加绒加厚内穿</div>
  35. <div class="price">
  36. <span class="iconfont icon-renminbi_o">9</span>
  37. </div>
  38. </div>
  39. </div>
  40. -----------------------
  41. 中间有很多个商品这里省略
  42. -------------------------
  43. </main>

2.pc端主体的css代码

  1. /* ------------------ */
  2. /* 主体 */
  3. .wrap main {
  4. max-width: 1190px;
  5. min-width: 940px;
  6. height: 1800px;
  7. background-color: lightgreen;
  8. margin: auto;
  9. padding: 20px;
  10. }
  11. /* 搜素框 */
  12. .wrap main .search {
  13. height: 88px;
  14. display: grid;
  15. grid-template-columns: 190px 1fr 90px;
  16. gap: 10px;
  17. /* 粘性定位 */
  18. position: sticky;
  19. top: 0;
  20. }
  21. .wrap main .search .item {
  22. background-color: lightcoral;
  23. }
  24. /* 主体导航区 */
  25. main .navs {
  26. height: 423px;
  27. margin: 20px 0;
  28. display: grid;
  29. grid-template-columns: 270px 1fr;
  30. gap: 10px;
  31. }
  32. main .navs > * {
  33. background-color: rgb(20, 20, 81);
  34. }
  35. main .navs > .user {
  36. display: grid;
  37. grid-template-columns: 564px 1fr;
  38. grid-template-rows: 42px 1fr;
  39. gap: 10px;
  40. }
  41. main .navs > .user > * {
  42. background-color: lightcyan;
  43. }
  44. main .navs > .user .user-top {
  45. grid-column: span 2;
  46. }
  47. main .title {
  48. background-color: lightgoldenrodyellow;
  49. display: flex;
  50. place-items: center;
  51. }
  52. main .title .tag {
  53. background: linear-gradient(to left, orangered, yellow);
  54. }
  55. /* 主体:商品列表 */
  56. main .list {
  57. margin: 20px;
  58. display: grid;
  59. grid-template-columns: repeat(3, 1fr);
  60. grid-auto-rows: 172px;
  61. gap: 10px;
  62. }
  63. main .list > .item {
  64. background-color: lightcyan;
  65. border-radius: 6px;
  66. display: grid;
  67. grid-template-columns: 150px 1fr;
  68. gap: 10px;
  69. padding: 10px;
  70. }
  71. main .list > .item > * {
  72. background-color: wheat;
  73. border-radius: 6px;
  74. }
  75. main .list > .item img {
  76. width: 100%;
  77. border-radius: 6px;
  78. }
  79. main .list .item .detail {
  80. display: grid;
  81. grid-template-columns: 1fr 25px;
  82. padding: 10px;
  83. place-content: space-between;
  84. }
  85. main .list .item .detail > * {
  86. background-color: lightgreen;
  87. }

3.pc端主体的媒体查询和运行效果图

  1. /* 媒体查询 */
  2. @media (max-width: 940px) {
  3. .wrap header .entry .content {
  4. grid-template-columns: 80px repeat(4, 1fr);
  5. }
  6. main .list {
  7. grid-template-columns: repeat(2, 1fr);
  8. }
  9. main .navs {
  10. grid-template-columns: 1fr;
  11. }
  12. main .navs .cate {
  13. display: none;
  14. }
  15. }


二. (可选) 淘宝移动端首页的主导航和商品列表

  1. 淘宝移动端首页的分析:首先可分为三块:
  2. 1.页眉:页眉可分为logo、搜素框和签到图标。
  3. 2.主体:可分为导航、快速入口和商品列表。
  4. 3.页脚:可分为淘宝图标、购物车和我的淘宝。

一)要实现页眉的关键代码可分为html代码和css代码

1.页眉的html代码

  1. <!-- 页眉 -->
  2. <header>
  3. <!-- 1.logo -->
  4. <a class="logo" href="https://m.taobao.com">
  5. <img src="images/taobao.png" alt="" />
  6. </a>
  7. <!-- 2.搜索框 -->
  8. <a href="" class="search">
  9. <span>寻找宝贝店铺</span>
  10. <span>搜素</span>
  11. </a>
  12. <!-- 3.签到图标 -->
  13. <a href="" class="iconfont icon-qiandao-xuanzhong"></a>
  14. </header>

2.页眉的html代码

  1. /* 页眉布局 */
  2. header {
  3. /* grid */
  4. display: grid;
  5. /* 1行3列 */
  6. grid-template-columns: 0.58rem 1fr 0.33rem;
  7. grid-auto-rows: 0.5rem;
  8. place-items: center;
  9. gap: 0.1rem;
  10. }
  11. header a.logo {
  12. padding-left: 0.1rem;
  13. }
  14. header > a.search {
  15. width: 100%;
  16. border: 2px solid #ff5000;
  17. height: 0.35rem;
  18. border-radius: 0.3rem;
  19. display: flex;
  20. place-content: space-between;
  21. place-items: center;
  22. }
  23. header > a.search > span:first-of-type {
  24. padding-left: 0rem;
  25. }
  26. header > a.search > span:last-of-type {
  27. background: linear-gradient(to left, #ff5000, #ffc000);
  28. color: white;
  29. padding: 0.06rem 0.2rem;
  30. border-radius: 0.3rem;
  31. margin-right: 0.01rem;
  32. }
  33. header > a.iconfont {
  34. color: #ff5000;
  35. font-size: large;
  36. }

2.页眉的实现的效果图

二)要实现主体的关键代码可分为html代码和css代码

1.主体的html代码

  1. <!-- 主体 -->
  2. <main>
  3. <!-- 1. 顶部导航 -->
  4. <ul class="navs">
  5. <li class="item">
  6. <a href=""><img src="images/navs/tmxb.webp" alt=""/></a>
  7. <a href="">天猫新品</a>
  8. </li>
  9. /---------------/
  10. //中间多个li的标签//
  11. /---------------/
  12. <li class="item">
  13. <a href=""><img src="images/navs/fl.webp" alt="" /></a>
  14. <a href="">分类</a>
  15. </li>
  16. </ul>
  17. <!-- 2. 快速入口 -->
  18. <ul class="entry">
  19. <li class="item">
  20. <div class="title">
  21. <h3>聚划算</h3>
  22. <span>品牌折扣</span>
  23. </div>
  24. <a href=""><img src="images/items/item-1.webp" alt="" /></a>
  25. <a href=""><img src="images/items/item-2.webp" alt="" /></a>
  26. </li>
  27. /---------------/
  28. //中间多个li的标签//
  29. /---------------/
  30. <li class="item">
  31. <div class="title">
  32. <h3>每日好店</h3>
  33. <span style="background-color: orange">特色</span>
  34. </div>
  35. <a href=""><img src="images/items/item-7.webp" alt="" /></a>
  36. <a href=""><img src="images/items/item-8.webp" alt="" /></a>
  37. </li>
  38. </ul>
  39. <!-- 3. 商品列表 -->
  40. <ul class="list">
  41. <li class="item">
  42. <!-- 图片 -->
  43. <a href=""><img src="images/items/item-9.webp" alt="" /></a>
  44. <!-- 描述 -->
  45. <div class="desc">
  46. <a href="">商品简介商品简介商品简介商品简介商品简介</a>
  47. <div class="price">
  48. <span class="iconfont icon-renminbi_o">14.9</span>
  49. </div>
  50. </div>
  51. </li>
  52. /---------------/
  53. //中间多个li的标签//
  54. /---------------/
  55. <li class="item">
  56. <a href=""><img src="images/items/item-22.webp" alt="" /></a>
  57. <div class="desc">
  58. <a href="">商品描述商品描述商品描述商品描述商品描述</a>
  59. <div class="price">
  60. <span class="iconfont icon-renminbi_o">288</span>
  61. <span>123人已购买</span>
  62. </div>
  63. </div>
  64. </li>
  65. </ul>
  66. </main>

1.主体的css代码

  1. /* 主体样式 */
  2. main {
  3. min-height: 2000px;
  4. overflow: hidden;
  5. }
  6. /* 主体顶部导航 */
  7. main .navs,
  8. main .entry,
  9. main .list > .item {
  10. background-color: #fff;
  11. border-radius: 0.1rem;
  12. margin-top: 0.08rem;
  13. }
  14. /* 1.导航区 */
  15. main .navs {
  16. display: grid;
  17. /* 5列等比例 */
  18. grid-template-columns: repeat(5, 1fr);
  19. gap: 0 0.1rem;
  20. }
  21. main .navs .item {
  22. display: grid;
  23. place-items: center;
  24. }
  25. /* 2.快速入口 */
  26. main .entry {
  27. display: grid;
  28. grid-template-columns: repeat(2, 1fr);
  29. padding: 0.1rem;
  30. }
  31. main .entry .item {
  32. display: grid;
  33. grid-template-columns: repeat(2, 1fr);
  34. padding: 0.1rem;
  35. }
  36. main .entry .item .title {
  37. grid-column: span 2;
  38. display: flex;
  39. place-items: center;
  40. }
  41. main .entry .item:nth-of-type(-n + 2) {
  42. border-bottom: 1px solid #dedede;
  43. }
  44. main .entry .item .title span {
  45. background-color: #ff5000;
  46. color: white;
  47. border-radius: 0.05rem;
  48. font-size: smaller;
  49. padding: 0 0.03rem;
  50. margin-left: 0.05rem;
  51. }
  52. /* 3.商品列表 */
  53. main .list {
  54. display: grid;
  55. /* 2列等比例 */
  56. grid-template-columns: repeat(2, 1fr);
  57. padding: 0.1rem;
  58. }
  59. /* 商品图片的圆角 */
  60. main .list .item img {
  61. /* 上 右 下 左 */
  62. border-radius: 0.1rem 0.1rem 0 0;
  63. }
  64. /* 商品描述的细节 */
  65. main .list .item desc {
  66. padding: 0.1rem;
  67. font-size: smaller;
  68. }
  69. /* 价格 */
  70. main .list,
  71. item .price .iconfont {
  72. color: #ff5000;
  73. }
  74. main .list .item .price span:last-of-type {
  75. color: #bbb;
  76. font-style: x-small;
  77. }

3.主体实现的效果图

三)要实现页脚的关键代码可分为html代码和css代码

1.页脚的html代码

  1. <footer>
  2. <a href="m.taobao.com" class="iconfont icon-taobao"></a>
  3. <a href="">
  4. <span class="iconfont icon-gouwuche"></span>
  5. <span>购物车</span>
  6. </a>
  7. <a href="">
  8. <span class="iconfont icon-wode"></span>
  9. <span>我的淘宝</span>
  10. </a>
  11. </footer>

2.页脚的css代码

  1. /* 页脚 */
  2. footer {
  3. border-top: 1px solid #ccc;
  4. display: grid;
  5. grid-template-columns: repeat(3, 1fr);
  6. /* 水平分散对齐 */
  7. place-content: space-around;
  8. place-items: center;
  9. font-size: smaller;
  10. }
  11. footer > a {
  12. display: grid;
  13. place-items: center;
  14. }
  15. footer > a:first-of-type {
  16. color: #ff5500;
  17. font-size: 0.35rem;
  18. }
  19. footer > a:first-of-type + a > span.iconfont {
  20. font-size: x-large;
  21. }

3.页脚实现的效果图

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