淘先锋技术网

首页 1 2 3 4 5 6 7

CSS3是CSS的子集,CSS3是最新的标准,提供了很多好用的新属性,提升了网页的表现性。

CSS3提供了更好用的选择器

最新的CSS3中,对伪类、伪元素选择器做了严格的规范。有了伪类后,不用在div标签里面添加额外的元素完成一些DOM操作,可以通过::before,::after完成,代码简洁明了。对于鼠标的操作,也可以通过::hover等类似的操作完成。非常高效。还有::first–child等类似的选择器去操作子元素。

CSS3使动画效果越来越方便

css3里面通过animation来完成动画,设置@keyframes即可,一些轻量级的动画不必再通过js完成。

CSS3完成圆角、阴影美化更方便

以前的css完成类似的功能只能通过图片做背景,现在只需要border-radius、boxshadow即可。非常高效简洁。

CSS3提供了全新的盒模型

这个特性十分有用。原来的盒模型width=content.+border+padding。你规定了width.每次都要自己计算,现在有了boder-box不用这么麻烦了。

CSS3的flex布局是最强大的

IE已死,不需要再考虑它的兼容性!!!用flex布局,节省很多时间,节省的时间可以学很多东西,而不是浪费时间去适应落后的ie!!!

还有很多好用的css3特性,这个版本提供了巨大的生产力!!!很感谢它,期待下一个grid布局~

以上是我的看法~

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

1、代表内联样式,如: style=””,权值为1000。

2、代表ID选择器,如:#content,权值为100。

3、代表类,伪类和属性选择器,如.content,权值为10。

4、代表类型(元素)选择器和伪元素选择器,如div p,权值为1。 按照CSS代码的执行先后顺序。如果有重复的规则,按照后执行的定义。最终规则是多个定义规则的综合。重点:高级规则定义对于不同表格的文字样式定义。(不同表格使用不同ID、使用类样式定义)一页中的多种超级链接样式定义。多个相同规则不同对象的CSS共同定义。对于同一对象定义的多种CSS方式考虑哪种更科学。

首先,在做项目前,我们一定要确认是否需要兼容IE8~IE9,从刚开始就注意兼容问题,做起来就会很舒服,如果项目完成后做兼容,简直就是噩梦。下面是我这几天做IE8兼容遇到的一些问题。

1、css样式方面css样式,尽量少用css3的这些伪类选择器,如果使用了,在后期做兼容会很累,如果项目硬要兼容IE8+,那就请你从一开始就避免这些伪类的使用吧。避免了最难解决的伪类问题后,剩下的就是针对IE8 IE9做一些样式上的微调,将会异常轻松。

2、JS方面 2.1、IE8是不支持className选择节点的,所以,最省时省力的方法,我们在选择节点时,可以多使用jquery选择器,说实话,jQuery的兼容性还真的好。当然如果你的父节点不是element,没法用jq的时候,只能自己拓展了;解决IE8一下不支持getElementsByClassName的方法 - CSDN博客 这个博客的方法适合随意指定父节点,实测有效; 2.2、如果你要遍历一个数组,请不要用map forEach,因为这些方法IE8 IE9都不支持,如 果你项目里用到了,修改起来很麻烦,那么就拓展一个map forEach方法吧。 2.

3、如果需要在文本框里添加placeholder,个人建议使用插件,将会有和原生浏览器一样的效果。 推荐jquery.placeholder.js 这个插件 2.

4、现在大部分主流浏览器都支持bind,很不幸,IE8却不支持,如果碰到了bind的兼容问题,那么只能自己写拓展了。 2.

5、IE8 IE9均不支持calssList属性,如果用到了增删class,那么只能自己写拓展。给不支持classList的浏览器(IE9以及以下等)的元素添加classList属性 - 麦兜的博客 - CSDN博客这个博客上有具体的代码,当然你复制下来运行发现会报错,你需要加上这句代码window.HTMLElement = window.HTMLElement || Element;因为IE不识别HTMLElement。 2.

6、如果你不小心用到了某个jq版本的text()方法,那么你要注意,有可能IE8不兼容,最好使用innerHTML 2.

7、IE8并不支持event.target,如果你不小心用了,会报错 找不到 target 属性。这就取决于IE8的机制,event只能是window对象的一个属性,所以我们这样写就能兼容IE8了;var event=window["event"]; 可以用 event.srcElement获取你想要的节点对象。