html5+css3常见面试题(一)

html-css013

html5+css3常见面试题(一),第1张

1. Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?

1.声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。

2.严格模式的排版和 JS 运作模式是  以该浏览器支持的最高标准运行。

3.在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。

4.DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。

2.

nth-child这个倒是可以换个思路实现,这个一般用在ul li标签中,奇偶行的mouseover效果,ul li:nth-child(odd){color:#fff}/*选取偶数*/

ul li:nth-child(even){color:#fff}/*选取奇数*/

以上的是兼容的写法,改进后的写法如下:

ul li:first-child{color:#fff}/*选取第一个li*/

ul li:first-child+li+li{color:#fff}/*选取第三个li*/

依次还可以有第5个li,等等,好在开发中li的个数一般不会多,虽然是个比较麻烦的做法,好歹能解决问题,至于after,before之类的,也不能说没法实现,也是曲线救国的方法,有个简单的思路你可以参考下,你应该清楚的是after是主样式加载完之后才表现的,after说白了也是一个样式表,或者说是个额外的class,那么好了,后期我们通过JS可以添加这个Class了,具体这个after通过鼠标点击添加呢 还是download时候就加载这个就看你了,以上为思路,仅供参考

css3中,追加了三个属性选择器分别为:

结构性伪类选择器由两部分构成,一是伪类选择器,一是伪元素选择器。

伪类选择器 ,要注意命名不要与系统定义好的选择器重名,例如link、hover

伪元素选择器 中包含 first-line、first-letter、before、after。

当root和body起冲突时,body就对内容区域生效,在内容区外则是root生效。

格式:not(selector)

1. first-child 对一个父元素中的 第一个 子元素进行样式的指定

2. last-child 对一个父元素中的 最后一个 子元素进行样式的指定

3. nth-child(positon) 对一个父元素中的 指定序号 的子元素进行样式的指定

4. nth-last-child 对一个父元素中的 指定倒数序号 的子元素进行样式的指定

2)使用nth-of-type(odd)和nth-of-type(even)

1)使用nth-child

2)使用nth-child(an+b),a表示每次循环中,包括几种样式,b表示指定的样式在循环中所处的位置。

only-child选择器,在元素只有一个子元素时,可以代替使用 nth-child(1)/nth-last-child(1) 。

在css3选择器中,除了结构性伪类选择器外,还有一种UI元素状态选择器——只有当元素处于某种状态下才起作用,在默认状态下不起作用。

通过js改变输入框的可输入和不可输入状态,通过css样式改变输入框可输入和不可输入状态时的背景颜色。

用来位于同一个父元素之下的,给与一个子元素平级的另一个子元素设定样式