详解前端工程师常考面试题弹性布局优缺点

中科白癜风恢复美丽黄皮肤 https://m.39.net/disease/a_6169037.html
FlexibleBox,简称Flex,是一种更加灵活高效的网页布局方式。Flex灵活性可以应用于任何HTML元素。内联元素和块级元素以不同的方式使用灵活的布局,如下面的代码片段所示。//块级元素应用divclass=flexiblebox/div.flexiblebox{display:flex;}//行内元素应用pclass=flexibleline/p.flexibleline{display:inline-flex;}一旦元素应用了灵活布局,该元素将成为Flex容器(container),其子元素将成为Flex容器的项(子项)。Flex容器及其子容器都可以添加一些布局属性来调整Flex容器内子代的布局。对于Flex容器,其布局应用于两个参考轴:主轴(mian轴)和垂直于主轴的交叉轴(交叉轴)。主轴可以是水平的或垂直的,交叉轴总是垂直于主轴。总结:通过设置Flex容器及其子项的布局属性来调整Flex容器的内部布局。Flex容器属性:主要控制项目沿主轴和交叉轴的布局。flex-direction:控制主轴方向和主轴方向的元素从头到尾,或者从尾到尾(row,column,row-reverse,column-reverse)flex-wrap:控制是否换行,以及换行后的行顺序。(nowrap,wrap,wrap-reverse)flex-flow:包含两个属性,flex-direction和flex-wrap,第一个属性是flex-directionjustify-content:控制主轴方向的items结盟。align-items:控制项目在横轴上的对齐方式。align-content:多轴情况下控制item的对齐方式。下面代码段展示了justify-content、align-items、align-content多个属性值的作用:divclass=flexible-block/div.flexible-block{display:flex;flex-flow:rowwrap;justify-content:center;//在主轴方向居中向两边排列/*justify-content:flex-start;从主轴正方向排列,正方向受flex-direction影响*//*justify-content:flex-end;从主轴反方向排列*//*justify-content:space-between;从主轴两端开始向中间排列,且item间隔一致*//*justify-content:space-around;从主轴留白开始向中间排列,且item间隔与留白一致*/align-items:center;//交叉轴的中点对齐/*align-items:flex-start;从交叉轴正方向对齐,正方向受flex-direction影响*//*align-items:flex-end;从交叉轴反方向对齐*//*align-items:stretch;交叉轴方向上拉伸对齐*//*align-items:baseline;item的第一行文字的基线对齐*/align-content:center;//与交叉轴的中点对齐/*align-content:flex-start;与交叉轴的起点对齐*//*align-content:flex-end;与交叉轴的终点对齐*//*align-content:stretch;轴线占满整个交叉轴*//*align-content:space-between;与交叉轴两端对齐,轴线之间的间隔平均分布*//*align-content:space-around;每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍*/}Flex项目属性:定义自己的排列顺序,在横轴上对齐,以及每个项目在剩余空间或空间不足时的适应。可以设置以下属性order:主轴上项目的顺序,整数,较小的在前面。flex-grow:数字类型,默认值为0,剩余主轴空间与其他项的属性值按比例分配。为0时,不分配。flex-shrink:数字类型,默认值为1,与其他项的属性值成比例,自身收缩以适应主轴空间。为0时不收缩。flex-basis:输入值类型与宽度一致。表示项目在主轴方向上占用多少空间。flex:flex-growflex-shrinkflex-basis;默认值为01auto,flex为auto时为11auto,flex为auto时为00auto。align-self:可以设置与横轴对齐无关,输入值与align-items一致。弹性布局优缺点优点:布局灵活,代码简单,在实现复杂布局和自适应布局时效率更高,以后代码的可维护性也比较强。缺点:以前很多人说兼容性不好,现在IE10以下浏览器的市场份额越来越低,完全不用担心兼容性问题。浏览器支持列表如下。我不得不说一个缺点,应该是前端必须学习一种新的布局方法。全新超实用性的Python零基础入门到就业体验课+视频+源码淘宝¥2购买已下架


转载请注明:http://www.aierlanlan.com/tzrz/7576.html