- css样式优先级:优先级是:内联样式 > id 选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器。 多个选择器组合的时候,不应该简单地给这些选择器分配权值,然后相加比较大小。因为上面所说的优先级是不能越级的,比方说 1 个 id 选择器能顶你 n 个类选择器…所以要逐级比较,同级的就比较数量,数量多的优先级高。 当然,!important 的优先级最高。
- 实现翻书的效果可以使用css3里的什么方:
正确答案:A
A、rotateY:定义沿 Y 轴的 3D 旋转,可实现翻书的效果
B、translateY:沿着 Y 轴移动元素
C、scaleY:定义 2D 缩放转换时,改变元素的高度;定义 3D 缩放转换时,通过给定一个 Y 轴的值
D、perspective(n):改变3D元素是怎样查看透视图(注:只影响 3D 转换元素)
- 定位

- 两种距离


css百分比参照问题:
- 参照父元素宽度的元素:padding margin width text-indent
- 参照父元素高度的元素:height
- 参照父元素属性:font-size line-height
- 特殊:相对定位的时候,top(bottom) left(right)参照的是父元素的内容区域的高度与宽度,而绝对定位的时候参照的是最近的定位元素包含padding的高度与宽度
- BFC解释:https://www.jianshu.com/p/76484dff1cb5(大概知道是干嘛的就行)
- p是块元素,但是其不能包含除了它本身之外的任何块元素,a是内联元素,但是它可以包含除了它本身外的任意块元素
- link和@import的区别:
区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
区别4:link支持使用Javascript控制DOM去改变样式;而@import不支持。
- 几种常见的高级选择器
后代选择器 a b{} 用空格隔开 选中a的后代中的b(后代指后面很多代)元素
子代选择器 a>b{} 用箭头隔开 选中a的子代中的b(子代指下一代)元素
并集选择器 a,b{} 用逗号隔开 选中满足a或者b的元素
交集选择器 ab{} 没有分隔符 选中同时满足a和b的元素
a,b可以是类选择器,标签选择器,id选择器
Link,visited,hover,active.(lvha驴哈)为了照顾css就近原则,这里是固定顺序,越特殊越靠口,记住就好。
- html5新定义标签。

display:none指的是元素完全不陈列出来,不占据空间,涉及到了DOM结构,故产生reflow与repaint
visibility:hidden指的是元素不可见但存在,保留空间,不影响结构,故只产生repaint
Ajax的优势:1.可搜索性 2.开放性 3.费用 4.易用性 5.易于开发。
Flash的优势:1.多媒体处理 2.兼容性 3.矢量图形 4.客户端资源调度
Ajax的劣势:1.它可能破坏浏览器的后退功能 2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中 ,不过这些都有相关方法解决。
Flash的劣势:1.二进制格式 2.格式私有 3.flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间 4.性能问题

