博客列表 >css之flex项目属性与商城首页布局实战

css之flex项目属性与商城首页布局实战

月光下,遗忘黑暗
月光下,遗忘黑暗原创
2021年03月26日 19:38:28565浏览

1.flex项目属性

项目属性

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

2.align-self ——>单个项目在交叉轴上的对齐方式

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

  • flex属性

  • flex-grow:0 ——>设置项目是否允许放大,默认值为0,禁止放大,>=1为允许

  • flex-shrink:1 ——>设置项目是否允许收缩,默认值为1,允许收缩

  • flex-basis ——>设置项目在主轴空间的大小,数值若干

  • flex: 1 0 15rem ——> 放大因子 收缩因子 计算大小 ——>flex项目属性设定的简写方式

  • flex: 0 1 auto => flex: initial 简写方式 ——>auto取当前的width值,flex的默认设定

  • flex: 1 1 auto => flex: auto ——>允许放大与收缩

  • flex: 0 0 auto => flex: none ——>完全失去弹性,禁止放大与收缩

  • flex: 1 => flex: auto ——>仅表示是否允许放大

  • flex:1 1 auto=>flex:1;flex:2 1 auto=>flex:2 ——>后者内容宽度会是放大为前者的两倍

  • align-self属性

  • align-self:stretch ——>元素被拉伸以适应容器,默认值

  • align-self:flex-end ——>在交叉轴上贴底

  • align-self:flex-start ——>在交叉轴上贴顶

  • align-self:center ——>在交叉轴上居中

注:flex项目可以单个定位,确定定位父级后即可定位

  • order属性

  • order:数字 ——>flex项目中数字越大,排序越靠后,反之则靠前,主要用来排序

2.商城首页布局

  • 效果图
  • css页面初始化

    index.css

  1. /*导入初始样式表*/
  2. @import "reset.css";
  3. .header {
  4. background-color: #e43130;
  5. color: #fff;
  6. height: 4.4rem;
  7. /*固定定位*/
  8. position: fixed;
  9. left: 0;
  10. top: 0;
  11. right: 0;
  12. /*保证内容始终在视口的前面*/
  13. z-index: 100;
  14. }
  15. /*主题进行绝对定位,避免被header内容遮住*/
  16. .main {
  17. position: absolute;
  18. top: 4.4rem;
  19. left: 0;
  20. right: 0;
  21. bottom: 4.4rem;
  22. }
  23. .footer {
  24. background: #eee;
  25. color: #fff;
  26. height: 4.4rem;
  27. /*固定定位*/
  28. position: fixed;
  29. left: 0;
  30. bottom: 0;
  31. right: 0;
  32. }
  • css页眉

    header.css

  1. /*使用一个类作为入口,后面可以使用class或伪类来获取内部的每个元素*/
  2. .header {
  3. display: flex;
  4. flex-flow: row nowrap;
  5. align-items: center;
  6. }
  7. .header .menu{
  8. flex:1;
  9. text-align: center;
  10. font-size: 2.5rem;
  11. }
  12. .header .login {
  13. flex: 1;
  14. color: #fff;
  15. text-align: center;
  16. }
  17. .header .search {
  18. flex: 6;
  19. background-color: #fff;
  20. border-radius: 3rem;
  21. display: flex;
  22. padding: 0.5rem;
  23. }
  24. .header .search .logo {
  25. color: #e43130;
  26. font-size: 2.5rem;
  27. flex: 0 1 4rem;
  28. text-align: center;
  29. line-height: 2rem;
  30. font-weight: 600;
  31. }
  32. .header .search .zoom {
  33. color: #ccc;
  34. flex: 0 1 4rem;
  35. text-align: center;
  36. line-height: 2rem;
  37. border-left: 1px solid ;
  38. }
  39. .header .search .words {
  40. flex: auto;
  41. border: none;
  42. outline: none;
  43. color: #ccc;
  44. }
  • css页脚

    footer.css

  1. .footer {
  2. display: flex;
  3. justify-content: space-around;
  4. align-items: center;
  5. color: #666;
  6. }
  7. /*flex支持嵌套布局*/
  8. /*flex的项目可以又是一个flex容器*/
  9. .footer div {
  10. display: flex;
  11. flex-flow: column nowrap;
  12. /*主轴垂直,那么交叉轴就是水平*/
  13. align-items: center;
  14. }
  15. .footer div .iconfont{
  16. font-size: 2rem;
  17. }
  18. .footer div span {
  19. font-size: 1rem;
  20. }
  21. .footer div:hover {
  22. cursor: pointer;
  23. }
  • html代码

    index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>首页1</title>
  6. <link rel="stylesheet" href="static/icon-font/iconfont.css">
  7. <link rel="stylesheet" href="static/css/index.css">
  8. <link rel="stylesheet" href="static/css/header.css">
  9. <link rel="stylesheet" href="static/css/footer.css">
  10. </head>
  11. <body>
  12. <div class="header">
  13. <!-- 菜单-->
  14. <div class="menu iconfont icon-menu"></div>
  15. <!-- 搜索框-->
  16. <div class="search">
  17. <div class="logo">JD</div>
  18. <div class="zoom iconfont icon-search"></div>
  19. <input type="text" class="words" value="移动硬盘500g">
  20. </div>
  21. <!--登录按钮-->
  22. <a href="" class="login">登录</a>
  23. </div>
  24. <div class="main">main</div>
  25. <div class="footer">
  26. <div onclick="">
  27. <div class="iconfont icon-home"><span>首页</span></div>
  28. </div>
  29. <div onclick="">
  30. <div class="iconfont icon-home"><span>分类</span></div>
  31. </div>
  32. <div onclick="">
  33. <div class="iconfont icon-home"><span>京喜</span></div>
  34. </div>
  35. <div onclick="">
  36. <div class="iconfont icon-home"><span>购物车</span></div>
  37. </div>
  38. <div onclick="">
  39. <div class="iconfont icon-home"><span>未登录</span></div>
  40. </div>
  41. </div>
  42. </body>
  43. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议