博客列表 >移动商城首页的页眉和页脚的布局和flex项目三个属性

移动商城首页的页眉和页脚的布局和flex项目三个属性

JiaJieChen
JiaJieChen原创
2021年03月26日 16:48:43870浏览

移动商城首页的页眉和页脚的布局

先来演示一下flex项目三个属性

1.项目的缩放比例与基准宽度

元素 属性 含义
flex 0 1 auto / initial 默认的,禁止放大,允许收缩,宽度自动
flex 1 1 auto / auto 允许放大和收缩
flex 0 0 auto / none 禁止放大和收缩/pc布局
①flex 0 1 auto / initial 演示

flex项目flex 0 1 auto属性默认的就是可以禁止放大,允许收缩,宽度自动,动态图我们可以看出效果

②flex 1 1 auto / auto 演示

flex项目flex 1 1 auto属性,在动态图里我们可以看出,项目在里面允许被放大,项目会随着页面的宽度大小而变化。

③flex 0 0 auto / none 演示

flex项目flex 0 0 auto属性,禁止放大,禁止收缩,不会随着页面的变化而变化,只会固定自己的值

2.单个项目在交叉轴上的对齐方式

元素 属性 含义
align-self flex-start 起始线
align-self flex-end 终止线
align-self stretch 默认拉伸
align-self center 居中
①align-self flex-start演示

默认起始线就不说了,就是默认的样式,跳过到第二个对齐方式。

②align-self flex-end演示

align-self flex-end参数,可以调动选择好的单个项目移动到交叉轴终止线上。

③align-self stretch演示

这个原理也是一样。都是默认拉伸,跳过到第四个对齐方式

④align-self center演示

align-self center参数,可以把选择到的项目在垂直线上居中,效果非常的好。

3.项目在主轴上的排列顺序

元素 属性 含义
order 0-100数值 数值越大排列在越后,数值越小排列在越前
①order演示

这里我们可以看到,颜色区分了项目,然后再代码块中给每个项目都设置了值,项目数值越大排列在越后,数值越小排列在越前。

代码块

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>flex项目的三个属性</title>
  8. <style type="text/css">
  9. * {
  10. box-sizing: border-box;
  11. }
  12. #box1 {
  13. border: 1px solid;
  14. background: lightgreen;
  15. /* width: 30em; */
  16. height: 30em;
  17. }
  18. #box1 .box {
  19. border: 1px solid;
  20. background: lightblue;
  21. width: 10em;
  22. height: 10em;
  23. }
  24. #box1 {
  25. display: flex;
  26. }
  27. /* .box {
  28. 默认的,禁止放大,允许收缩,宽度自动
  29. flex: 0 1 auto;
  30. } */
  31. /* .box {
  32. 允许放大,允许收缩,宽度自动
  33. flex: 1 1 auto;
  34. } */
  35. /* .box {
  36. 禁止放大 禁止收缩 宽度自动
  37. flex: 0 0 auto;
  38. } */
  39. /* .box:nth-of-type(3) {
  40. 单个项目垂直方向居中
  41. align-self: center;
  42. } */
  43. /* 项目在主轴上的排列顺序 order */
  44. /* order数值越大排在越后面, order数值越小排列在越前 */
  45. .box:nth-of-type(1) {
  46. order: 100;
  47. }
  48. .box:nth-of-type(2) {
  49. order: 2;
  50. }
  51. .box:nth-of-type(3) {
  52. order: 0;
  53. }
  54. </style>
  55. </head>
  56. <body>
  57. <div id="box1">
  58. <div class="box" style="background: red">项目1</div>
  59. <div class="box" style="background: lightpink">项目2</div>
  60. <div class="box">项目3</div>
  61. <!-- <div class="box">项目4</div>
  62. <div class="box">项目5</div>
  63. <div class="box">项目6</div> -->
  64. </div>
  65. </body>
  66. </html>

移动商城首页的页眉和页脚的布局

1.先定位一个网页页面布局然后建立一个css文件给网页页面初始化并且用到媒体检查器设置好文字大小。

  1. * {
  2. padding: 0;
  3. margin: 0;
  4. box-sizing: border-box;
  5. }
  6. a {
  7. text-decoration: none;
  8. color: #7b7b7b;
  9. }
  10. li {
  11. list-style: none;
  12. }
  13. html {
  14. font-size: 10px;
  15. }
  16. /* 设置媒体查询改变字体大小 */
  17. @media screen and (min-width: 480px) {
  18. html {
  19. font-size: 12px;
  20. }
  21. }
  22. @media screen and (min-width: 640px) {
  23. html {
  24. font-size: 14px;
  25. }
  26. }
  27. @media screen and (min-width: 720px) {
  28. html {
  29. font-size: 16px;
  30. }
  31. }

2.接下来用绝对定位和固定定位,定位好页眉,主体,页脚三个部分

  1. /* 初始化样式表 */
  2. @import url(lnitialize.css);
  3. /* 网页页眉 */
  4. .header {
  5. background: #ce001f;
  6. color: #fff;
  7. height: 4.4rem;
  8. /* 采用固定定位,把页眉定位到顶端 */
  9. position: fixed;
  10. top: 0;
  11. right: 0;
  12. left: 0;
  13. font-size: 1.4rem;
  14. }
  15. /* 网页主体 */
  16. .main {
  17. background: #fff;
  18. font-size: 1.4rem;
  19. /* 采用绝对定位定位到中间部位 */
  20. position: absolute;
  21. top: 4.4rem;
  22. right: 0;
  23. bottom: 4.4rem;
  24. left: 0;
  25. }
  26. /* 网页页脚 */
  27. .footer {
  28. background: #ccc;
  29. color: #fff;
  30. height: 4.4rem;
  31. font-size: 1.4rem;
  32. /* 采用固定定位,定位到底部 */
  33. position: fixed;
  34. right: 0;
  35. bottom: 0;
  36. left: 0;
  37. }

3.页眉设置样式,采用字体图标和flex布局

这是设置html页眉的字体图标

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>页眉</title>
  8. <link
  9. rel="stylesheet"
  10. href="style/css/my-key tubiao/font123/iconfont.css"
  11. />
  12. <style type="text/css">
  13. @import url(style/css/index.css);
  14. @import url(style/css/header.css);
  15. </style>
  16. </head>
  17. <body>
  18. <!-- 网页页眉 -->
  19. <div class="header">
  20. <!-- 字体图标菜单 -->
  21. <div class="menu iconfont icon-category"></div>
  22. <!-- logo和放大镜和搜索框 -->
  23. <div class="search">
  24. <div class="logo">JD</div>
  25. <div class="glass iconfont icon-search"></div>
  26. <input type="text" class="words" value="立式空调柜" />
  27. </div>
  28. <!-- 登录按钮 -->
  29. <div class="login"><a href="" class="login">登录</a></div>
  30. </div>
  31. <!-- 网页主体 -->
  32. <div class="main">main</div>
  33. <!-- 网页页脚 -->
  34. <div class="footer">footer</div>
  35. </body>
  36. </html>

这是页眉的css样式

  1. /* 获取到页眉的类,可以模块化选择子元素 */
  2. .header {
  3. display: flex;
  4. align-items: center;
  5. }
  6. /* 菜单和搜索框还有登录按钮分区域 */
  7. /* 菜单一份 */
  8. .header .menu {
  9. flex: 1;
  10. text-align: center;
  11. font-size: 3rem;
  12. }
  13. /* 设置菜单的触摸样式 */
  14. .header .menu:hover {
  15. cursor: pointer;
  16. }
  17. /* 搜索框六份 */
  18. .header .search {
  19. flex: 6;
  20. display: flex;
  21. /* 设置背景颜色为白色 */
  22. background: rgb(255, 255, 255);
  23. /* 定义背景圆角 */
  24. border-radius: 3rem;
  25. /* 设置内边距 */
  26. padding: 0.3rem;
  27. }
  28. /* 设置logo样式 */
  29. .header .search .logo {
  30. color: #e43130;
  31. font-size: 2rem;
  32. flex: 0 1 4rem;
  33. text-align: center;
  34. /* 设置字体型号 */
  35. font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif;
  36. }
  37. /* 设置放大镜样式 */
  38. .header .search .glass {
  39. color: #ccc;
  40. flex: 0 1 4rem;
  41. font-size: 2rem;
  42. /* 设置左边框 */
  43. border-left: 1px solid;
  44. text-align: center;
  45. }
  46. /* 搜索框样式 */
  47. .header .search .words {
  48. border: none;
  49. outline: none;
  50. color: #ccc;
  51. flex: 0 0 auto;
  52. }
  53. /* 登录1份 */
  54. .header .login {
  55. flex: 1;
  56. /* 设置字体颜色 */
  57. color: rgb(255, 255, 255);
  58. /* 设置居中 */
  59. text-align: center;
  60. /* 设置文本加粗 */
  61. font-weight: 600;

设置页脚样式

这是设置html页脚的字体图标

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>页脚</title>
  8. <link
  9. rel="stylesheet"
  10. href="style/css/my-key tubiao/font123/iconfont.css"
  11. />
  12. <link rel="stylesheet" href="style/css/my-key tubiao/iconfont.css" />
  13. <style type="text/css">
  14. @import url(style/css/index.css);
  15. @import url(style/css/header.css);
  16. @import url(style/css/footer.css);
  17. </style>
  18. </head>
  19. <body>
  20. <!-- 网页页眉 -->
  21. <div class="header">
  22. <!-- 字体图标菜单 -->
  23. <div class="menu iconfont icon-category"></div>
  24. <!-- logo和放大镜和搜索框 -->
  25. <div class="search">
  26. <div class="logo">JD</div>
  27. <div class="glass iconfont icon-search"></div>
  28. <input type="text" class="words" value="立式空调柜" />
  29. </div>
  30. <!-- 登录按钮 -->
  31. <div class="login"><a href="" class="login">登录</a></div>
  32. </div>
  33. <!-- 网页主体 -->
  34. <div class="main">main</div>
  35. <!-- 网页页脚 -->
  36. <div class="footer">
  37. <div>
  38. <div class="iconfont icon-smile"></div>
  39. <span>首页</span>
  40. </div>
  41. <div>
  42. <div class="iconfont icon-all-fill"></div>
  43. <span>分类</span>
  44. </div>
  45. <div>
  46. <div class="iconfont icon-gift"></div>
  47. <span>惊喜</span>
  48. </div>
  49. <div>
  50. <div class="iconfont icon-cart-Empty"></div>
  51. <span>购物车</span>
  52. </div>
  53. <div>
  54. <div class="iconfont icon-account-fill"></div>
  55. <span>未登录</span>
  56. </div>
  57. </div>
  58. </body>
  59. </html>

这是页脚的css样式

  1. .footer {
  2. display: flex;
  3. background: rgb(250, 250, 250);
  4. color: #666;
  5. flex: 1 1 auto;
  6. /* 设置再主轴方向分散对齐 */
  7. justify-content: space-around;
  8. /* 设置交叉轴居中对齐 */
  9. align-items: center;
  10. }
  11. /* 设置div子元素 */
  12. .footer > div {
  13. display: flex;
  14. flex-flow: column nowrap;
  15. align-items: center;
  16. }
  17. /* 设置首页图标样式 */
  18. .footer .iconfont {
  19. font-size: 2.5rem;
  20. }
  21. /* 设置字体大小 */
  22. .footer div span {
  23. font-size: 1rem;
  24. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议