张蕾的技术博客前端学习面试

面试阿里、网易、滴滴前端碰到的问题1

2017-06-12  本文已影响864人  cd72c1240b33

HTML

** HTML5新增了哪些内容或API,使用过哪些**
HTML5新增了:

语义化更好的内容标签(header,nav,footer,aside,article,section)
音频、视频API(audio,video)
画布(Canvas)
API地理(Geolocation)
API拖拽释放(Drag and drop)
API本地离线存储表单控件,calendar、date、time、email、url、search

使用过哪些?

经常使用更好的内容标签(header,nav,footer,aside,article,section)
用音频视频(audio,video)做移动端播放器
使用canvas配合原生js面向对象写各种动效和游戏的开发
使用本地离线存储localStorage
使用表单控件做一些简单的格式校验

** input和textarea的区别**

<input>是一个单行输入框,有value属性,但是它不能自动换行。
<textarea>是一个多行输入框,,没有value属性,但是它能自动换行。
如果要给后台提交数据,都必须写name属性

** 用一个div模拟textarea的实现**

//html部分
<div id="textarea" contenteditable="true"></div>
div{
            width: 300px;
            border: 1px solid #ccc;
            min-height: 150px;
            max-height: 300px;
            overflow: auto; /*可以出滚动条*/
            outline: none;  /*去除边框的蓝色*/
            padding:10px;
        }

CSS

左右布局:左边定宽、右边自适应,不少于3种方法

//css样式部分
<style type="text/css">
    *{margin: 0;padding: 0;}
    div.contain{overflow: auto;zoom:1; background: yellow;}
    div.left{float: left;width: 200px;height: 400px;background: red; word-break: break-all;}
    div.right{margin-left:200px; height: 400px;  background: blue; word-break: break-all;}
</style>
//html部分
<div class="contain">
    <div class="left"><p>2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222</p>
    </div>
    <div class="right">
    11111111111111111111111111111111   11111111111111111111111111111111   11111111111111111111111111111111   11111111111111111111111111111111   
    </div>
</div>
       .container{
            overflow: auto;
            zoom: 1;
            position: relative;
        }
        .left{
            position: absolute;
            width: 200px;
            height: 400px;
            background: #00ff00;
            word-break: break-all;
        }
        .right{
            height: 400px;
            background: #ff0000;
            margin-left: 200px;
            word-break: break-all;
        }        
       .container{
            position: relative;
            height: 400px;
        }
        .left{
            position: absolute;
            width: 200px;
            height: 400px;
            background: #0000ff;
            word-break: break-all;
            left:0;
            top:0;
        }
        .right{
            position: absolute;
            height: 400px;
            background: #ff0000;
            left: 200px;
            top:0;
            word-break: break-all;
        }

        .container{
            display: flex; /*设置为伸缩容器*/
            flex-direction: row;  /*设置为伸缩项目为单行排列*/
        }
        .left{
            width: 200px;  /*左侧宽度固定*/
            height: 400px; /*这里设置为占比1,填充满剩余空间*/
            background: #f0ff00;
            word-break: break-all; /*内容溢出自动换行*/
        }
        .right{
            flex: 1;
            height: 400px;
            background: #ff0000;
            word-break: break-all;
        }

CSS3用过哪些新特性

CSS3实现圆角(border-radius),阴影(box-shadow),
对文字加特效(text-shadow、),线性渐变(gradient),
旋转(transform)transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋转,缩放,定位,倾斜增加了更多的CSS选择器;
多背景 rgba
在CSS3中唯一引入的伪元素是::selection.媒体查询
多栏布局
border-image
具体参考:
css3基础知识-选择器:http://www.jianshu.com/p/fa54fd377fe0
css3基础知识-其他新增样式:http://www.jianshu.com/p/387eb2ddf6b3

BFC、IFC

FC的含义就是Fomatting Context。它是CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。BFC和IFC都是常见的FC。分别叫做Block Fomatting Context 和Inline Formatting Context。

上一篇下一篇

猜你喜欢

热点阅读