摘要:今天去面试前端人员,随即出了一个经典的布局问题,即如标题所示。可是结果令我很惊讶,超过一半的人都没答对,亦或是只答对一半在此记录下用两种方法,第一种普通的方法,第二种是利用布局。
今天去面试前端人员,随即出了一个经典的布局问题,即如标题所示。可是结果令我很惊讶,超过一半的人都没答对,亦或是只答对一半!在此记录下用两种方法,第一种普通的方法,第二种是利用flex布局。
首先我们假定页面上已有下列元素:
第一种方法:float+margin-left
这种方法是最简单也是最容易想到的方法(至少在我看来),请看如下CSS:
div{ height:200px; } #left{ float: left; width: 200px; background: blue; } #right{ margin-left: 200px; background: red; }
加上高度和背景是方便查看效果,将左侧div浮动,设置宽200px,右侧的div设置一个左外边距margin-left等于左侧宽度,没了!如此简单即可实现,可是在实际中,我看到的结果是有不写float直接margin-left的,也有写了float不写margin-left的,在此就不多说了...
第二种方法:display+flex
使用第二种方法的人我更是没见到,好吧,这可能需要多了解一些flex布局的知识,那么请看如下CSS:
body{ display: flex; flex-flow: row; } #left{ width: 200px; background: blue; } #right{ flex: 1; background: red; }
先来解释下含义,首先将body的display为flex,让body遵从flex布局,并且设置flex-flow为row,横向的,然后就是左侧div宽度200px,右侧div的flex:1,这里很关键,1会将剩余宽度全部占满,即如果左侧宽度发生改变的话,右侧能够自适应,而不用像第一种方法那样margin-left也要修改。这就是display flex的强大之处,而在面试中,没有一个人使用这种方法....
好了,以上就是两种实现该布局的方法了,或许有人说,还有第三种方法呢,position:absolute,left:200px...那这种方法就留给大家去思考啦! D:)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/111827.html
摘要:最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的,进入商家的时候,会出现一堆饭的列表,左侧是饭的分类,右侧是饭的列表等等。 最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的APP,进入商家的时候,会出现一堆饭的列表,...
摘要:最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的,进入商家的时候,会出现一堆饭的列表,左侧是饭的分类,右侧是饭的列表等等。 最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的APP,进入商家的时候,会出现一堆饭的列表,...
摘要:最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的,进入商家的时候,会出现一堆饭的列表,左侧是饭的分类,右侧是饭的列表等等。 最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的APP,进入商家的时候,会出现一堆饭的列表,...
摘要:清单一些说明注意文档的书写顺序,先写两侧栏,再写主面板,更换后则侧栏会被挤到下一列圣杯布局和双飞翼布局都会用到。可以通过设置的属性或使用双飞翼布局避免问题。双飞翼布局不用设置相对布局,以及对应的和值。 本文首发于知乎专栏:前端指南 CSS布局 布局是CSS中一个重要部分,本文总结了CSS布局中的常用技巧,包括常用的水平居中、垂直居中方法,以及单列布局、多列布局的多种实现方式(包括传统的...
阅读 2542·2023-04-25 20:50
阅读 3869·2023-04-25 18:45
阅读 2173·2021-11-17 17:00
阅读 3285·2021-10-08 10:05
阅读 3039·2019-08-30 15:55
阅读 3465·2019-08-30 15:44
阅读 2326·2019-08-29 13:51
阅读 1060·2019-08-29 12:47