渐进增强
渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验
优雅降级
优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容
渐进增强 & 优雅降级
区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。
CSS3选择符
属性选择器
1、E[attr]:只使用属性名,但没有确定任何属性值
2、E[attr=“value”]:指定属性名,并指定了该属性的属性值
3、E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的
4、E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的
5、E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value
结构性伪类选择器
X:first-child匹配子集的第一个元素。IE7就可以支持
X:last-child匹配父元素中最后一个X元素
X:nth-child(n)用于匹配索引值为n的子元素。索引值从1开始 odd奇数 even偶数
X:nth-last-child(n)从最后一个开始算索引。
X:first-of-type匹配同级兄弟元素中的第一个X元素
X:last-of-type匹配同级兄弟元素中的最后一个X元素
X:nth-of-type(n)匹配同类型中的第n个同级兄弟元素X
X:only-of-type匹配属于同类型中唯一兄弟元素的X
X:nth-last-of-type(n)**匹配同类型中的倒数第n个同级兄弟元素X
目标伪类
目标伪类选择器
- E:target选择匹配E的所有元素,且匹配元素被相关URL指向
UI 元素状态伪类选择器
E:enabled匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked匹配所有用户界面(form表单)中处于选中状态的元素E
E::selection匹配E元素中被用户选中或处于高亮状态的部分
动态伪类选择器
a:link链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上
a:visited链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上
E:active用户行为选择器
选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上
E:hover用户行为选择器
选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
E:focus用户行为选择器
选择匹配的E元素,而且匹配元素获取焦点
层级选择器
E>F子选择器
选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
E+F相邻兄弟选择器
选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面
E~F通用选择器
选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素
伪元素
1. E::before给E元素添加第一个子元素
例:div::before{
content:"内容";
display:block;
width:100px;
height:100px;
}
2. E::after 给E元素添加最后一个子元素
3. E::first-letter给E元素第一个字添加样式
4. E::first-line给E元素第一行添加样式