出处:http://www.cnblogs.com/0603ljx/p/4326674.html+其余css
1解释下浮动和它的工做原理。html
浮动的框能够左右移动,直到它的外边缘遇到包含框或者另外一个浮动框的边缘,因此才说浮动定位不属于正常的页面流。css的定位机制:普通流,浮动,绝对定位(position:fixed是position:absolute的一个子类)。文档中的普通流就会表现得和浮动框不存在同样,当浮动框高度超出包含框的时候,就会出现包含框不会自动伸缩高度。前端
2 请解释一下 relative、fixed、absolute 和 static 元素的区别chrome
下面对应用的较多的relative和absolute与fixed进行分析:
relative定位的层老是相对于其最近的父元素,不管其父元素是何种定位方式。
absolute定位的层老是相对于其最近的定义为absolute或relative的父层,而这个父层并不必定是其直接父层。若是其父层中都未定义absolute或relative,则其将相对body进行定位,
fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。浏览器
各个属性值的定义:网络
一、static:默认值。没有定位,元素出如今正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。布局
二、relative:生成相对定位的元素,经过top,bottom,left,right的设置相对于其正常位置进行定位。可经过z-index进行层次分级。优化
三、absolute:生成绝对定位的元素,相对于 static 定位之外的第一个父元素进行定位。元素的位置经过 "left", "top", "right" 以及 "bottom" 属性进行规定。可经过z-index进行层次分级。网站
四、fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置经过 "left", "top", "right" 以及 "bottom" 属性进行规定。可经过z-index进行层次分级。spa
3请列举兼容性问题
设置较小高度标签(通常小于10px),在ie6,ie7,遨游中高度超出本身设置高度
这是由于在IE6中,系统默认的并不是是Div有一个默认的高度,而是你没有解决一个隐藏的参数,font-size,所以必须单独定义这个Div的font-size,这样才能解决这个问题。
a 加overflow: hidden;zoom: 0.08;
b font-size: 0px;
4)为何个人被点击访问过的超连接样式只有hover有效?
6)父div高度自适应失效问题:
div嵌套时,当子div设置浮动属性后,其父div的高度自适应失效了。
解决方法:
1)向父div的末尾再插入一个额外的标签,<div style="clear:both;"></div>并令其清除浮动(clear)以撑大父容器。这种方法是W3C推荐的方法。
使用hacker 我能够吧浏览器分为3类:ie6 ;ie7和遨游;其余(ie8 chrome ff safari opera等)
条件引用
<!--[if IE 6]> 仅IE6可识别 <![endif]-->
5你如何对网站的文件和资源进行优化?
1)文件合并,若是有多个CSS文件,能够合并成一个,减小http请求次数()
2)减小调用其余文件的数量即CSS sprites。如每一个 background的图像都会产生1次HTTP请求,要改善这个情况,能够采用background-position属性来加载背景图,将须要频繁加载的多个图片合成为1个单独的图片
3)使用 CDN(内容分发网络) 托管
4)可对图片进行压缩,png的推荐https://tinypng.com/,不会失真,其余也能够压缩
5)可再结合H5新特性里的预加载
6描述下 “reset” CSS 文件的做用和使用它的好处。
reset.css可以重置浏览器的默认属性。不一样的浏览器具备不一样的样式,重置可以使其统一。好比说ie浏览器和FF浏览器下button显示不一样,经过reset可以统同样式,显示相同的想过。可是不少reset是不必的,多写了会增长浏览器在渲染页面的负担。
7data-属性的做用是什么?
data-是HTML5为前端开发者提供自定义的属性,这些属性集能够经过对象的dataset属性获取,不支持该属性的浏览器能够经过 getAttribute方法获取