前端面试题关于CSS布局

金三银四求职季

诸位同窗口试能否告成呢?

在这关键时辰

小狮送向前端口试题一份

有效就马上收藏起来吧!!!

1

Q:三栏布局,高度已知,左右两栏稳定,中央自适应的三栏布局有几种实行方法,各自的优瑕玷是甚么?

!--

float实行

好处:兼容性好

瑕玷:摆脱文档流,DOM节点递次过失

--

section

style

.float.left{

float:left;

width:px;

background:green;

}

.float.center{

background:yellow;

}

.float.right{

width:px;

float:right;

background:red;

}

/style

article

div/div

div/div

div/div

/article

/section

!--

absolute实行

好处:马上

瑕玷:摆脱文档流

--

section

style

.absolutearticlediv{

position:absolute;

}

.absolute.left{

left:0;

width:px;

background:green;

}

.absolute.center{

left:px;

right:px;

background:yellow;

}

.absolute.right{

width:px;

right:0;

background:red;

}

/style

article

div/div

div/div

div/div

/article

/section

!--

margin负值实行

好处:兼容性好

瑕玷:节点递次过失,需求多一层额外的div,出题目难以排查

--

section

style

.absolute.center{

width:%;

float:left;

}

.absolute.main{

margin:0px;

background:yellow;

}

.absolute.left{

float:left;

width:px;

margin-left:-%;

background:green;

}

.absolute.right{

width:px;

float:right;

margin:-px;

background:red;

}

/style

article

div

div/div

/div

div/div

div/div

/article

/section

!--

flex实行

好处:新布局方法,处分以上两种布局方法的缺点

瑕玷:兼容性较差

--

section

style

.flex{

margin-top:px;

}

.flex.left-center-right{

display:flex;

}

.flex.left{

width:px;

background:green;

}

.flex.center{

flex:1;

background:yellow;

}

.flex.right{

width:px;

background:red;

}

/style

arctile

div/div

div/div

div/div

/arctile

/section

!--

table实行

好处:兼容性好、马上

瑕玷:单位格束缚,当某个单位格高度调度时,其余单位格也会被调度

--

section

style

.table.left-center-right{

width:%;

height:px;

display:table;

}

.table.left-center-rightdiv{

display:table-cell;

}

.table.left{

width:px;

background:green;

}

.table.center{

background:yellow;

}

.table.right{

width:px;

background:red;

}

/style

arctile

div/div

div/div

div/div

/arctile

/section

!--

grid实行

好处:将网格布局准则化,将繁杂题目浅显化

瑕玷:兼容性差

--

section

style

.grid.left-center-right{

display:grid;

width:%;

grid-template-rows:px;

grid-template-columns:pxautopx;

}

.grid.left{

background:green;

}

.grid.center{

background:yellow;

}

.grid.right{

background:red;

}

/style

arctile

div/div

div/div

div/div

/arctile

/section

2

Q:三栏布局,高度未知,以上布局哪些仍可用,哪些不成用?

float:不成用

absolute:不成用

flex:可用

table:可用

grid:不成用

3

Q:三栏布局,高低稳定,中自适应

body

style

*{

margin:0;

padding::0;

}

article{

width:%;

}

.top{

height:px;

background:red;

position:absolute;

top:0;

left:0;

}

.bottom{

height:px;

background:blue;

position:absolute;

bottom:0;

left:0;

}

.center{

background:yellow;

position:absolute;

height:auto;

top:px;

bottom:px;

}

/style

article/article

article/article

article/article

/body

4

Q:CSS居中布局有哪些,合用于甚么场景,举例解释?

一、CSS居中:margin设为auto

做法:把要居中的元素的margin-left和margin-right都设为auto

场景:只可举办水准的居中,且对浮动元素或绝对定位元素失效。

二、CSS居中:哄骗text-align:center

场景:只可对图片,按钮,文字等行内元素(display为inline或inline-block等)举办水准居中。但要解释的是在IE6、7这两个奇葩的抚玩器中,它是能对任何元素举办水准居中的。

三、CSS居中:哄骗line-height让单行的文字笔直居中

做法:把文字的line-height设为文字父容器的高度

场景:合用于惟有一行文字的情状。

四、CSS居中:哄骗表格

做法:td/th元素配置align="center"、valign="middle"便可处置单位格内里体例的水准和笔直居中题目

场景:务必是table

五、CSS居中:哄骗display:table-cell来居中

做法:经过display:table-cell模仿表格单位格,云云就也许操纵表格那很便利的居中个性了。

场景:IE6、IE7都失效。

六、CSS居中:哄骗绝对定位举办居中

场景:只合用于宽度或高度已知的元素。

旨趣:经过把这个绝对定位元素的left或top的属性设为50%,这个光阴元素并不是居中的,而是比居中的地位向右或向左偏了这个元素宽度或高度的一半的间隔,于是需求哄骗一个负的margin-left或margin-top的值来把它拉回到居中的地位,这个负的margin值就取元素宽度或高度的一半。

七、CSS居中:哄骗绝对定位举办居中

场景:只合用于宽度或高度已知的元素。且只援手IE9+,google,火狐等适合w3c准则的当代抚玩器。

旨趣:这边倘使未必义元素的宽和高的话,那末他的宽就会由left,right的值来决议,高会由top,bottom的值来决议,于是务必要配置元素的高和宽。同时倘使转变left,right,top,bottom的值还能让元素向某个方位偏移。

八、CSS居中:哄骗浮动合作相对定位来举办水准居中

场景:不必晓得要居中的元素的宽度,瑕玷是需求一个过剩的元向来包裹要居中的元素。

旨趣:把浮动元素相对定位到父元素宽度50%的地点,但这个光阴元素还不是居中的,而是比居中的谁人地位多出了本身一半的宽度,这时就需求他内里的子元素再用一个相对定位,把那多出的本身一半的宽度拉归来,而由于相对定位恰是相关于本身来定位的,于是本身一半的宽度只需把left或right设为50%就也许获得了,因此不必晓得本身的本质宽度是几多。

5

Q:CSS布局时需求留意哪些方面?

语义化控制到位

页面布局明白粗浅

CSS原形学问踏实

代码钞写楷模

6

预览时标签不成点收录于合集#个


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

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了