1 .CSS3
    浏览器前缀:
    Trident内核:主要代表IE浏览器 -ms-
    Gecko内核:主要代表 Firefox -moz-
    Presto内核:主要代表Opera -o-
    Webkit内核:主要代表Chrome和Safari -webkit-
    css3 中的transform变形:
    标准:transform:rotate(30deg);
    -ms-transform:rotate(30deg);
    display: -webkit-box
    2 .选择器
    tag、ID、CLASS、群组、包含、通配、伪类
    属性选择器 : []
    E[attr]
    input[value]{ background: red;}
    E[attr=value]
    input[value=hello]{ background : red; }
    E[attr^=value] ^ 表示匹配开始的位置
    input[value^=hello]{ background : red; }
    E[attr$=value] $ 表示匹配结束的位置
    input[value$=hello]{ background : red; }
    E[attr=value] 表示匹配任意的位置
    input[value*=hello]{ background : red; }




    有多个值的时候要用引号括起来
    纯数字也要用引号
    input[value=”123”]{ background : red;}
    input[class=”box box2”]{ background : red; }
    结构伪类选择器 :
    1. nth-of-type() : 找到集合中的指定元素 , 必须是同一个类型。
    first-of-type : 找到集合中的第一个元素
    last-of-type : 找到集合中的最后一个元素
    only-of-type : 集合只有一个元素
    li:nth-of-type(2){ background:red;}
    li:first-of-type{ background:red;}
    li:only-of-type{ background:red;}
    li:last-of-type{ background:red;}
    nth-of-type() : 小括号中还可以写一个n,n表示从0开始到无穷大;2n表示偶数,2n+1表示基数
    li:nth-of-type(2n){ background:red;}
    li:nth-of-type(2n+1){ background:yellow;}
    2. nth-child() : 找到集合中的指定元素 , 可能不是同一个类型的。
    li:nth-child(2){ background:red;}
    注:一定要理解:这两种之间的区别。
    注:指的在同一个集合内,如果在多个集合内,需要重新的去计算。
    状态伪类选择器 :
    :focus 获取焦点时触发样式
    input:focus{ background:red;}
    a:focus{ background:red;}
    button:focus{ background:red;}
    div:focus{ background:red;}

    笔记1-3_1-选择器(属性选择器)文字阴影渐变背景 - 图1

    vjdsdb

    (div找不到焦点,不显示,鼠标点击某处焦点显示样式,Tab键也可以改变页面焦点,)
    :checked 被选中的元素触发样式 ( 单选框和复选框 )
    :disabled 禁止操作的控件会触发样式
    input[type=”checkbox”]:checked{ width:100px; height:100px;}
    input[type=”checkbox”]:disabled{ width:200px; height:200px;}



    (checked:被鼠标选中的单选框或复选框显示样式)
    ::selection 选中的区域触发样式
    :first-line 段落的第一行触发样式
    :first-letter 段落的第一个字符触发样式
    p{ width:200px; border:1pxblacksolid;}
    p::selection{ background:red; color:yellow;}
    p:first-line{ background:blue;}
    p:first-letter{ font-size: 60px;}
    :read -only 只读的控件会触发样式
    input:read-only{ background:red;}
    input:read-write{ background:blue;}

    注:在有些浏览器下disabled时候是不能拷贝内容的,redy-only时候是可以拷贝内容的。
    其他选择器:
    ~ : 找指定的后续所有兄弟元素
    + : 找指定的后续第一个兄弟元素
    > : 找所有的子元素
    div ~ p{ background:red;} (找div后面的所有p元素)
    div + p{ background:red;} (找div后的第一个p元素)
    #list > li{ border:1pxredsolid;} (id=“list”的下的所有li)
    div

    ppppp


    span
    emem

    ppppp













    3. form表单中的控件
    很多样式都不支持,如果想做成特殊的效果,需要去模拟( div , li … 其他标签 )
    input type=”file” 上传按钮
    4. 伪类与伪元素 ?
    伪类 -> : -> :hover
    伪元素 -> :: -> ::selection::after::before
    区别:
    伪元素:往元素中添加了一个元素,对这个元素可以添加样式。
    伪类:非常规CSS能实现的一个功能。
    另: :empty 当内容为空的时候,才能被触发样式
    div:empty{ width:100px; height:100px; background:red;}
    :not() 选择相反的操作
    .box:not(div):empty{ width:100px; height:100px; }
    (.box元素下的 内容为空的非div元素)
    5. 文字阴影?
    text-shadow
    x : 阴影x轴偏移量
    y : 阴影y轴偏移量
    blur : 高斯模糊值
    color : 阴影的颜色
    多阴影,逗号隔开
    div{ font-size: 60px; text-shadow:50px50px20pxred , -5px-5px10pxblue;}
    注:阴影默认的颜色,跟当前文字颜色相同
    6. 背景的样式?
    background-size : 改变背景图的大小
    1. 200px 100px ( w , h )
    2. cover 覆盖 (等比放大,填充整个容器)
    3. contain 包含 (整个背景会显示到容器中,所以容器可能出现空白区域)
    background-origin : 背景图平铺的基点位置
    padding-box (默认)
    border-box
    content-box
    background-clip : 背景图裁切
    padding-box
    border-box (默认)
    content-box
    #box{ width:300px; height:300px; background:url(timg.jpg) repeat; padding:100px; background-origin:content-box; background-clip:content-box; }
    7. 渐变?
    background-image : linear-gradient()
    1. 多个颜色值 ,通过逗号分割,默认的方向从上倒下,默认渐变的范围,平均分配
    2. 渐变的范围 , 通过百分比。
    3. 渐变的方向 , to xxx
    left top bottom(默认) right
    4. 添加偏移的角度 , 30deg , 沿着顺时针旋转 ;0deg的时候默认 bottom在最上面,然后在这个位置开始偏移角度。
    #box{background-image:linear-gradient(red25%, blue25% , blue50% , green50% , green75% , black75% );}
    #box2{ background-image:linear-gradient(to topleft ,red, blue);}
    #box2{ background-image:linear-gradient(90deg, red, blue);}