css3的选择器及属性

CSS3的概念和优势
 
   CSS3是css技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。 
 
   CSS3的优点:CSS3将完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。对我们来说,CSS3主要的影响是将可以使用新的可用的选择器和属性,这些会允许实现新的设计效果(譬如动态和渐变),而且可以很简单的设计出现在的设计效果(比如说使用分栏)
 
 
渐进增强和优雅降级
 
     渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
 
渐进增强
 
 
 
优雅降级
 
 
 
区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。
 
 
CSS3选择器-属性选择器
 
1、a[title]:只使用属性名,但没有确定任何属性值;
2、a[title="value"]:指定属性名,并指定了该属性的属性值; 
3、a[title~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写 
4、a[title^="value"]:指定了属性名,并且有属性值,属性值是以value开头的; 
5、a[title$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的 
6、a[title*="value"]:指定了属性名,并且有属性值,而且属值中包含了value 
7、a[title|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值;
 
 
CSS3选择器-结构性伪类选择器
 
X:first-child 其父元素的首个子元素。IE7就可以支持
X:last-child 匹配父元素中最后一个X元素 
X:nth-child(n)用于匹配索引值为n的子元素。索引值从1开始 
X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。 
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:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML 
X:empty匹配没有任何子元素(包括包含文本)的元素X
 
 
CSS3选择器
 
目标伪类选择器:
target 选择匹配E的所有元素,且匹配元素被相关URL指向 
 
UI 元素状态伪类选择器 
E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素 
E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素 
E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E 
::selection 匹配E元素中被用户选中或处于高亮状态的部分 
 
动态伪类选择器 
E:focus 用户行为选择器 选择匹配的E元素,而且匹配元素获取焦点 
 
否定伪类选择器 
E:not(s) (IE6-8浏览器不支持:not()选择器。)匹配所有不匹配简单选择符s的元素E
 
层级选择器
    div>p{} 
        <div>           
            <h1></h1>          
             <p></p>           
             <p></p>       
             <p></p> 
        </div> 
E>F子选择器 
    选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素 
 
E+F 相邻兄弟选择器 
    选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面 
 
E~F 通用选择器 
    选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素
 
 
 
CSS3文本属性
 
浏览器前缀的简介及应用
    某些CSS3属性还只是最新版的预览版,并未发布成最终的正式版,而大部分浏览器已经为这些属性提供了支持,但这些属性是小部分浏览器专有的;有些时候,有些浏览器为了扩展某方面的功能,它们会选择新增的一些CSS属性,这些自行扩展的CSS属性也是浏览器专属的。为了让这些浏览器识别这些专属属性,CSS规范允许在CSS属性前增加各自的浏览器前缀。
 
 
 
 
文本阴影属性语法及应用
    语法:text-shadow 
    说明:水平、垂直阴影的位置允许负值 可进行多阴影设置
 
 
CSS3 背景的新增属性
 
1、Background-clip 背景裁切
说明: 
    background-clip 属性规定背景的绘制区域。 
属性值: 
    border-box 背景被裁剪到边框盒。 
    padding-box 背景被裁剪到内边距框。 
    content-box 背景被裁剪到内容框。 
注:默认值:border-box;
 
 
 
2、Background-origin 背景原点
说明: 
    指定background-origin属性应该是相对位置 
属性值: 
    padding-box 背景图像填充框的相对位置 
    border-box 背景图像边界框的相对位置 
    content-box 背景图像的相对位置的内容框 
注:默认值为:padding-box;
 
 
3、Background-size 背景尺寸
说明: 
    background-size 规定背景图像的尺寸 
属性值: 
length 
    规定背景图的大小。第一个值宽度,第二个值高度。 
Percentage(%) 
    以百分比为值设置背景图大小 
cover 
    把背景图像扩展至足够大,以使背景图像完全覆盖背景区域 
contain 
    把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域
 
css3多背景属性
 
Eg:
 
p{ background:url(demo.gif) no-repeat; //这是写给不识别下面这句的默认背景图片 
 
background:url(demo.gif) no-repeat ,url(demo1.gif) no-repeat left bottom, url(demo2.gif) no-repeat 10px 15px; //这是高级浏览器的css多重背景,第一个最上面 
 
//这是定义的默认背景颜色,全部适合 }
 
 
CSS3 颜色特性
 
rgba 颜色模式 
    就是色调(Hue)、饱和度(Saturation)、亮度(Lightness)三个颜色通道的改变以及它们相互之间的叠加来获得各种颜色,色调(Hue)色调最大值360,饱和度和亮度有百分比表示0-100%之间。
 
 
CSS3 多行文本隐藏
   
display: -webkit-box;
-webkit-line-clamp: 2;  
-webkit-box-orient: vertical; 
overflow: hidden;
 
 
CSS3文本属性-iconfont
 
@font-face
@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体(@font-face这个功能早在IE4就支持) 
 
@font-face的语法规则: 
@font-face {
    font-family: 'icomoon';
    src:url('fonts/icomoon.eot');
    src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),
    url('fonts/icomoon.svg#icomoon') format('svg'),
    url('fonts/icomoon.woff') format('woff'),
    url('fonts/icomoon.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
 
@font-face语法说明:
    
1、YourWebFontName:此值指的就是你自定义的字体名称,最好是使用你下载的默认字体,他将被引用到你的Web元素中的font-family。如“font-family:"YourWebFontName";”
 
2、source:此值指的是你自定义的字体的存放路径,可以是相对路径也可以是绝路径;
 
3、format:此值指的是你自定义的字体的格式,主要用来帮助浏览器识别,其值主要有以下几种类型:truetype,opentype,truetype-aat,embedded-opentype,avg等; 
 
4、weight和style:这两个值大家一定很熟悉,weight定义字体是否为粗体,style主要定义字体样式,如斜体。
 
posted @ 2019-07-21 16:31  前端小菜鸟吖  阅读(477)  评论(0编辑  收藏  举报