所在的位置: html >> html介绍 >> HTMLampCSS一些面试题

HTMLampCSS一些面试题

ios开发求职招聘QQ群 http://liangssw.com/shishang/20004.html

#1.1H5新增特性和css3新增特性?

答:1.先html5为了更好的实践web语义化,增加了header,footer,nav,aside,section等语义化标签,

2.在表单,为了增强表单,为input增加了color,email,data,range等类型,3.在存储,提供了sessionStorage,localStorage,和离线存储,通过这些存储式便数据在客户端的存储和获取,

4.在多媒体规定了频和视频元素audio和vedio,另外还有地理定位,canvas画布,拖放,多线程编程的webworker和websocket协议5.css3新增特性:CSS3边框如border-radius,box-shadow等;CSS3背景如background-size,background-origin等;CSS32D,3D转换如transform等;CSS3动画如animation等

1.2BFC的理解

答:1.BFC(BlockFormattingContext),即块级格式化上下,它是中的块渲染区域,并且有套属于的渲染规则:

-内部的盒会在垂直向上个接个地放置

-对于同个BFC的俩个相邻的盒的margin会发重叠,与向关。

-每个元素的左外边距与包含块的左边界相接触(从左到右),即使浮动元素也是如此

-BFC的区域不会与float的元素区域重叠-计算BFC的度时,浮动元素也参与计算

-BFC就是上的个隔离的独容器,容器的元素不会影响到外的元素,反之亦然BFC的是形成个相对于外界完全独的空间,让内部的元素不会影响到外部的元素

2.触发BFC的条件包含不限于:-根元素,即HTML元素-浮动元素:float值为left、right-overflow值不为visible,为auto、scroll、hidden-display的值为inline-block、inltable-cell、table-caption、table、inlinetable、flex、inline-flex、grid、inline-grid-position的值为absolute或fixed

3.利BFC的特性,我们将`BFC`应在以下场景:

防margin重叠(塌陷)

清除内部浮动

适应多栏布局

1.4如何实现元素平垂直居中

答:居中是个常基础但是常重要的应场景,实现居中的法存在很多,可以将这些法分成两个类:

居中元素(元素)的宽已知

居中元素宽未知

实现式:

利定位+margin:auto

style

.father{width:px;

height:px;

border:1pxsolid#0a3b98;

position:relative;

}

.son{width:px;

height:40px;

background:#f0a;

position:absolute;

top:0;

left:0;

right:0;

bottom:0;

margin:auto;}

/style

divclass="father"

divclass="son"

/div

级设置为相对定位,级绝对定位,并且四个定位属性的值都设置了0,那么这时候如果级没有设置宽,则会被拉开到和级样宽

这元素设置了宽,所以宽会按照我们的设置来显示,但是实际上级的虚拟占位已经撑满了整个级,这时候再给它个margin:auto它就可以上下左右都居中了

利定位+margin:负值

绝多数情况下,设置元素为相对定位,元素移动身50%实现平垂直居中

.father{position:relative;

width:px;

height:px;

background:skyblue;

}

.son{position:absolute;

top:50%;

left:50%;

margin-left:-50px;

margin-top:-50px;

width:px;

height:px;

background:red;

}

divclass="father"

divclass="son"

初始位置为块1的位置

当设置left、top为50%的时候,内部元素为块2的位置

设置margin为负数时,使内部元素到块3的位置,即中间位置

这种案不要求元素的度,也就是即使元素的度变化了,仍然可以保持在元素的垂直居中位置,平向上是样的操作

但是该案需要知道元素身的宽,但是我们可以通过下transform属性进移动

利定位+transform

style

.father{

width:px;

height:px;

background:skyblue;

}

.son{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

width:px;

height:px;

}

translate(-50%,-50%)将会将元素位移宽度和度的-50%这种法其实和最上被否定掉的margin负值法样,可以说是margin负值的替代案,并不需要知道身元素的宽

table布局

设置元素为display:table-cell,元素设置display:inline-block。利vertical和text-align可以让所有的内块级元素平垂直居中

.father{display:table-cell;width:px;height:px;background:skyblue;vertical-align:middle;text-align:center;}.son{display:inline-block;

width:px;height:px;background:red;}/styledivclass="father"divclass="son"/div/div

flex弹性布局

.father{display:flex;

justify-content:center;

align-items:center;

width:px;

height:px;

background:skyblue

;}

.son{

width:px;

height:px;

css3中了flex布局,可以常简单实现垂直平居中

这可以简单看看flex布局的关键属性作:

display:flex时,表示该容器内部的元素将按照flex进布局

align-items:center表示这些元素将相对于本容器平居中

justify-content:center也是同样的道理垂直居中

grid格布局

.father{

display:grid;

align-items:center;

justify-content:center;

height:px;

}

.son{width:10px;height:10px;border:1pxsolidred}

divclass="father"divclass="son"/div/div

这看到,gird格布局和flex弹性布局都简单粗暴

上述法中,不知道元素宽仍能实现平垂直居中的法有:

flex布局

grid布局

1.7说说em/px/rem/vh/vw区别?

答:em/px/rem/vh/vw区别如下:

px:绝对单位,按精确像素展示

em:相对单位,基准点为节点字体的,如果身定义了font-size按身来计算,整个内1em不是个固定的值

rem:相对单位,可理解为rootem,相对根节点html的字体来计算

vh、vw:主要于视布局,在布局上更加便简单




转载请注明:http://www.aierlanlan.com/rzfs/5498.html

  • 上一篇文章:
  •   
  • 下一篇文章: