发表于: 2018-06-08 23:46:57

1 543


今天完成的事情

  • # flex布局知识盲点补全,gird布局的进阶认识;

  • # 首页页面细节优化;

明天计划的事情

  • #  提交任务,介绍css阶段的任务学习;

遇到的问题

  • 问题一:如何使圆形box中的数字垂直居中;

  • 面对这个场景我首先想到的是弹性布局,因为弹性布局我运用的很频繁,屡试不爽;
  • div {
    display: flex;
    justify-content: center;
    align-content: center;
    width: .80rem;
    height: .80rem;
    border-radius: .40rem;
    box-shadow: 0 0 5px #999999;
    }

  • 然而始终达不到我想要的效果;中间的数字实现来了水平居中,而无法实现垂直居中;
  • 在查找了教程之后,一度还是没有找到原因,脑海中一直想不通之前都用的好好的,这次怎么就不行了呢?
  • 在出去散步后回来,发现了原因:
  • align-content属性失效的原因压根就是定义上的问题,这条属性的应用场景仅限于多根轴线:

  • 此处正确的用法应该是这个:

  • ##内心os(lll¬ω¬)知道真相的我眼泪掉下来,原来我一直都没深入搞明白,模棱两可的照着编辑器的提示和自动补全敲代码......


  • ##总结 : 弹性布局中一直被我忽略的几个属性:

  • 容器属性:以下6个属性设置在容器上。
    • flex-direction:  //决定主轴的方向(即项目的排列方向)。
    • flex-wrap:  //定义如果一条轴线排不下,如何换行。
    • flex-flow:  //flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
    • justify-content:  //定义了项目在主轴上的对齐方式。
    • align-items:  //定义项目在交叉轴上如何对齐。
    • align-content:  //定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

  • 项目属性:以下6个属性设置在项目上。
    • order:  //定义项目的排列顺序。数值越小,排列越靠前,默认为0。
    • flex-grow:  //定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
    • flex-shrink:  //定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
    • flex-basis:  //定义了在分配多余空间之前,项目占据的主轴空间(main size)。
    • flex:  //flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。
    • align-self:  //允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。

    收获

    #  网格布局也和弹性布局类似,分为容器属性和项目属性;

    ## 网格容器(Grid Container) 属性

    ## 网格项(Grid Items) 属性


    #网格布局与弹性布局的区别:


    ##flex只是一维布局(沿横向或纵向),而CSS Grid Layout属于二维布局(同时沿横向和纵向);

    ##也就是说如果我们只想单独控制行或者列时,我们可以考虑使用flex布局,如果我们想要同时同时行和列时,我们可以考虑使用网格布局。

    ##还有一种方法来决定我们是使用弹性盒还是网格布局就是:弹性盒布局是从内容出发的,而网格布局是从布局出发的。









    返回列表 返回列表
    评论

      分享到