1.h5、css3、es6 的新特性分别是哪些
h5:语义化标签、视频、音频,获取DOM节点的方式(querySelect)等。
css3:动画、过渡、阴影、border、平移、旋转等。
es6: const、let、解构赋值、promise、箭头函数、扩展运算符、对象简写等。
2.CSS的盒子模型?
① 所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。
②类型:怪异盒模型、标准盒子模型
③两种盒模型的区别:
标准盒模型中width指的是内容区域content的宽度;height指的是内容区域content的高度。
标准盒模型下盒子的大小=content+border+padding 。
怪异盒模型中的width指的是内容、边框、内边距总的宽度(content+border+padding);height指的是内容、边框、内边距总的高度。
怪异盒模型下盒子的大小=width(content+border+padding) + margin
④设置盒模型的方式:
box-sizing:content-box 标准盒模型
box-sizing:border-box 怪异盒模型
3.Margin 负值的问题
对 margin 的top、left、right、bottom 设置负值,有何效果?
margin-top 和 margin-left 为负值,元素会向上、向左移动;
margin-right 为负值,右侧元素会左移,但自身不会受影响;
margin-bottom 为负值,下方元素上移,但自身不会受影响。
4.margin的传递问题以及它的解决方式
Margin传递问题:
页面上有一个父元素和子元素,当子元素不设置margin-top时,二者都会位于浏览器顶部显示;当子元素设置margin-top时,父元素会紧挨子元素,并且父元素会被子元素拽下来,这就是margin传递现象。
解决方法:
方式1:父容器加上边框
方式2:子元素设置浮动
方式3:父元素设置浮动
方式4:子元素设置绝对定位(子绝父相)
5.button 和 div 的区别:
div的默认box-sizing属性为content-box,而button默认为border-box,因此div会比button看上去大一些
6.元素的隐藏:
使用display:none; 可以将元素隐藏,元素将彻底放弃位置,如同没有写它的标签一样;
使用visibility(可见度):hidden; 也可以将元素隐藏,但是元素不放弃自己的位置。
7.脱离标准文档流的方法:
浮动、绝对定位、固定定位
8.堆叠顺序z-index 属性:
z-index属性是一个没有单位的正整数,数值大的能够压住数值小的。
9.图片与下方盒子之间有缝隙解决方法
①将图片设置为block;
②设置图片的竖直对齐方式 v-align:bottom ;
③设置父级div的 font-size:0 ;
④设置外层的div 的 line-height:0 ;
10.利用CSS样式制作三角形
width:0;
height:0;
border:70px solid transparent;
border-left-color:red;
11.浏览器渐变需要加私有前缀
用来对实验性质的CSS的属性加以标识
Chrome:-webkit- ;
Firefox:-moz- ;
IE、edge: -ms- ;
欧朋:-o- ;
12. 手写清除浮动
.clearfix:after {
Content: ’’;
Display: table ;
Clear: both ;
}
.clearfix {
Zoom:1; // 兼容IE 低版本
}