Blogger Information
Blog 70
fans 4
comment 5
visits 103858
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
flex模拟移动商城首页页面布局/grid布局的相关属性
JiaJieChen
Original
762 people have browsed it

flex模拟移动商城首页页面布局

1.布局页面导航

大家可以看到图片上的红色边框,用了flex布局,布局了一个多行容器,采用的是无序列表ul。

css代码块

       
  1. /* 设置导航样式,定义flex容器 */
  2. .main{
  3. background:rgba(223,223,223,0.524);
  4. }
  5. .main.dh{
  6. display:flex;
  7. flex-flow:row wrap;
  8. padding:1rem;
  9. text-align:center;
  10. background:rgb(255,255,255);
  11. border-radius:3rem;
  12. }
  13. .main.dh img{
  14. height:4rem;
  15. width:4rem;
  16. }
  17. .main.dh li{
  18. flex:1120%;
  19. flex-flow:column nowrap;
  20. /* 设置项目再交叉轴上的对齐方式 */
  21. align-items:center;
  22. }
  23. .main.dh.dhtu span{
  24. display:flex;
  25. /* 定义文字再主轴上的对齐方式,居中 */
  26. justify-content:center;
  27. color:#666;
  28. font-size:1.2rem;
  29. }

2.布局秒杀商品

大家可以看到图片上的红色边框,框起来的就是每个项目,下面的特价商品使用ul无序列表做的,用了flex布局。

css代码块
       
  1. /* 定义秒杀区域样式 */
  2. .main.ms{
  3. background:rgb(250,250,250);
  4. border-radius:1rem;
  5. height:auto;
  6. }
  7. /* 设置ms头部样式 */
  8. .main.ms-top{
  9. background:rgb(250,250,250);
  10. /* 定义为flex容器 */
  11. display:flex;
  12. /* 把项目两端对齐 */
  13. justify-content:space-between;
  14. /* 把项目垂直居中 */
  15. align-items:center;
  16. /* 设置内边距 */
  17. padding:1rem;
  18. border-radius:4rem;
  19. }
  20. /* 定义左边的项目为flex容器 */
  21. .main.ms-top.ms-lefy{
  22. display:flex;
  23. }
  24. /* 定义秒杀时间样式*/
  25. .main.ms.ms-top.ms-lefy.time{
  26. display:flex;
  27. flex-flow:row nowrap;
  28. font-size:1.1rem;
  29. justify-content:center;
  30. align-items:center;
  31. padding-left:1rem;
  32. }
  33. .main.ms.ms-top.ms-lefy.time:nth-of-type(1){
  34. background:red;
  35. color:rgb(250,250,250);
  36. border-radius:2rem;
  37. width:5rem;
  38. height:auto;
  39. text-align:center;
  40. font-weight:bolder;
  41. }
  42. .main.ms.ms-top.ms-lefy.time:nth-of-type(2){
  43. background:rgba(208,206,206,0.5);
  44. color:red;
  45. font-weight:bolder;
  46. border-radius:2rem;
  47. width:6rem;
  48. height:auto;
  49. text-align:center;
  50. }
  51. /* 定义更多秒杀字体样式 */
  52. .main.ms.ms-top.ms-right.gdms a{
  53. color:red;
  54. }
  55. /* 定义秒杀主体内容区 */
  56. .main.ms.ms-body ul{
  57. display:flex;
  58. flex-flow:row nowrap;
  59. justify-content:space-around;
  60. flex:auto;
  61. }
  62. .main.ms.ms-body img{
  63. display:flex;
  64. flex-flow:row nowrap;
  65. width:10rem;
  66. height:10rem;
  67. }
  68. .main.ms.ms-body.jdmstu.money1{
  69. text-align:center;
  70. font-size:1.2rem;
  71. color:red;
  72. }
  73. .main.ms.ms-body.jdmstu.money2{
  74. text-align:center;
  75. font-size:1.2rem;
  76. color:#666;
  77. text-decoration:line-through;
  78. }

3.布局首页商品

这个也是一个flex布局,也是用的ul无序列表做的,但是每行项目要设置两个,才能这样排列。

css代码块

       
  1. /* 定义显示主体 */
  2. .main.xs{
  3. background:rgb(250,250,250);
  4. border-radius:3rem;
  5. margin:0.2rem;
  6. }
  7. /* 定义显示主体无序列表 */
  8. .main.xs.xstu{
  9. display:flex;
  10. flex-flow:row wrap;
  11. margin-bottom:4.4rem;
  12. }
  13. /* 定义显示主体无序子列表 */
  14. .main.xs.xstu li{
  15. display:flex;
  16. flex-flow:column wrap;
  17. flex:1150%;
  18. align-items:center;
  19. }
  20. /* 定义显示主体图片大小 */
  21. .main.xs.xstu img{
  22. width:16rem;
  23. height:10rem;
  24. padding:0.5rem;
  25. background:rgb(250,250,250);
  26. border-radius:1rem;
  27. }
  28. /* 定义显示图片内容简介*/
  29. .main.xs.xstu.neirong{
  30. display:flex;
  31. font-size:1rem;
  32. flex-flow:row wrap;
  33. padding:0.5rem;
  34. }
  35. /* 定义显示主体图片金额 */
  36. .prompt:nth-of-type(1){
  37. color:red;
  38. font-size:1.2rem;
  39. font-weight:600;
  40. }
  41. .prompt a:nth-of-type(1){
  42. background:#ccc;
  43. font-size:1rem;
  44. border-radius:3rem;
  45. padding:0.2rem;
  46. color:rgb(250,250,250);
  47. }
  48. .prompt{
  49. width:15rem;
  50. display:flex;
  51. justify-content:space-between;
  52. }

最后布局完是呈现的是这样

采用flex布局,模块化开发。

grid布局的相关属性

1.基本属性

元素 含义
grid-template-columns 定义网络轨道中的列宽,可以定义为px绝对值,但是不能自适应宽度,定义auto 和 fr都可以自适应宽度
grid-remplate-rows 定义网格轨道中的行高,第一个值定义第一行,第二个值定义第二行,如果只有一个值是定义全部网格项目的行高
gap 网格轨道间距,第一个值上下间距 第二个值左右间距,如果只有一个值,是上下左右间距
grid-auto-flow 项目在容器中的排列方向,column垂直方向,dense水平方向

2.代码块

       
  1. lang="en">
  2. charset="UTF-8"/>
  3. http-equiv="X-UA-Compatible"content="IE=edge"/>
  4. name="viewport"content="width=device-width, initial-scale=1.0"/>
  5. </span><span class="pln">grid布局技术</span><span class="tag">
  6. type="text/css">
  7. .grid{
  8. border:1pxsolid;
  9. padding:0.5em;
  10. /* 定义一个grid网格容器 */
  11. display:grid;
  12. /* 定义网格轨道中的列宽 */
  13. /* 可以定义为px绝对值,但是不能自适应宽度,定义auto 和 fr都可以自适应宽度 */
  14. grid-template-columns:1fr1fr1fr;
  15. /* 定义网格轨道中的行高 */
  16. /* 5em 第一行,2em第二行 */
  17. grid-template-rows:5em2em;
  18. /* 网格轨道间距 */
  19. /* 10px上下间距 20px 左右间距,如果是一个值,是上下左右间距 */
  20. gap:10px20px;
  21. /* 项目在容器中的排列方向 */
  22. /* column垂直排列 */
  23. /* grid-auto-flow: column; */
  24. /* dense水平排列 */
  25. grid-auto-flow:dense;
  26. }
  27. .grid.itme{
  28. background:lightgreen;
  29. border:1pxsolid;
  30. }
  31. class="grid">
  32. class="itme">itme1
  • class="itme">itme2
  • class="itme">itme3
  • class="itme">itme4
  • class="itme">itme5
  • class="itme">itme6
  • Correcting teacher:天蓬老师天蓬老师

    Correction status:qualified

    Teacher's comments:
    Statement of this Website
    The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
    All comments Speak rationally on civilized internet, please comply withNews Comment Service Agreement
    0 comments
    Author's latest blog post
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!