css3

发布时间 2023-12-26 14:33:30作者: 半世晨曦昏晓

1、新增选择器

是css技术的升级版本,在css2的基础上,新增了许多特性,弥补了css2的不足,使web页面的开发变得更加高效、便捷

css3按模块化进行设计,比较重要的css3模块包含、 选择器、框模型、背景和边框、文本效果、2D|3D转换、动画、多列布局、用户界面

css3优点: CSS3是完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。

2、新增选

1)属性选择器
css2属性选择器

ele[attr]{ } 指定了属性名为attr的ele元素

ele[attr=value]{ } 指定了属性名为attr且属性值为value的ele元素

ele[attr~=value]{ } 指定了属性名称attr,并且属性值词列表中包含value的ele元素

注意:要有词列表的时候,属性名=属性值是选择不上的

  /*带有class属性的div元素*/
    .wrap div[class]{
        background: red;
    }
    /*带有class属性,并且属性值为box的div元素*/
    .wrap div[class=box]{
        background: pink;
    }
    /* 带有class属性,并且属性值的词列表中包含box的div元素 */
    .wrap div[class~=box]{
        background: yellow;
    }
    /*带有type属性,并且属性值为text的input元素*/
    .wrap input[type=text] {
        border: 10px solid red;
    }/*带有type属性,并且属性值为password的input元素*/
    .wrap input[type=password] {
        border: 10px dotted blue;
    }
​
注意:
​
        /*要有词列表的时候,属性名=属性值是选择不上的,用~选*/
       /* 选不上 */
        .warp div[class=box2] {
            background-color: burlywood;
        }
​
        .warp div[class~=box2] {
            background-color: burlywood;
        }
​
​
   <div class="box1 box2">box2</div>
   <div class="box3 box4">box4</div>
View Code

css3新增属性选择器

ele[attr^=value]{ } 指定了属性名attr,且属性值为value开头的ele元素

ele[attr$=value]{ } 指定了属性名attr,且属性值为value结尾的ele元素

ele[attr*=value]{ } 指定了属性名attr,且属性值包含value的ele元素

注意哦:不能以数字结尾和开头

  div {
            width: 100px;
            height: 100px;
        }/*带有class属性类名以box开头的div元素*/
        .warp div[class^=box] {
            background-color: tomato;
        }/*带有class属性类名以b结尾的div元素*/
        .warp div[class$=b] {
            background-color: yellow;
        }/*带有id属性id名为box3的div元素*/
        .warp div[id=box3] {
            background-color: violet;
        }/*带有class属性,并且属性值有b的div元素*/
        .warp div[class*=b] {
            font-size: 30px;
        }/*带有id属性,并且属性值有b的div元素*/
        .warp div[id*=b] {
            font-size: 40px;
        }
View Code

2)结构伪类选择器
:root{ } 匹配文档根元素

ele:first-child{ } 选择一组相同元素中的第一个元素

ele:last-child{ } 选择一组相同元素中的最后一个元素

ele:nth-child(n){ } 选择一组相同元素中的第n个元素,n可以是数值、关键词、表达式

数值

关键词:odd(奇数)|even(偶数)

表达式:2n(偶数)|2n+1(奇数)

ele:nth-last-child(n){ } 选择一组相同元素中的倒数第n个元素,n表示数值、关键词、表达式

备注: 以上元素类型必须一样

ele:first-of-type 选择一组元素中特定类型的第一个子元素

ele:last-of-type 选择一组元素中特定类型的最后一个子元素

ele:nth-of-type(n){ } 选择一组元素中特定类型的第n个ele元素

ele:nth-last-of-type(n){ } 选择一组元素中特定类型的倒数第n个ele元素

备注 : 以上元素类型可以不一样

child一组与of-type一组的区别

nth-child强调结构 关系,查找子元素中的第几个

nth-of-type强调类型,查找类型中的第几个

**备注: 以上元素必须类型一样** 
​
/* 根元素 */
        :root {
            background-color: azure;
        }
​
        .wrap div {
            width: 100px;
            height: 100px;
        }/* **备注: 以上元素必须类型一样** *//* 第一个元素 */
        .wrap div:first-child {
            background-color: tomato;
        }/* 最后一个元素 */
        .wrap div:last-child {
            background-color: purple;
        }/* div第2个元素 */
        .wrap div:nth-child(2) {
            background-color: pink;
        }/* ele:nth-last-child(n) {}
​
        选择一组相同元素中的倒数第n个元素,n表示数值、关键词、表达式 */
        /* 倒数第2个div元素 */
        .wrap div:nth-last-child(2) {
            background-color: antiquewhite;
        }
​
    <div class="wrap">
        <div>第一 1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5倒数第2</div>
        <div>最后一个6</div>
    </div>
​
View Code
- ele:nth-of-type(n){ } 选择一组元素中特定类型的第n个ele元素
- ele:nth-last-of-type(n){ } 选择一组元素中特定类型的倒数第n个ele元素
​
​
        /* ele:first-of-type 选择一组元素中特定类型的第一个子元素的每个元素 */
        .wrap span:first-of-type {
            font-size: 40px;
        }
​
        .wrap p:first-of-type {
            background-color: yellowgreen;
        }
​
        .wrap h3:first-of-type {
            background-color: tomato;
        }/* - ele:last-of-type 选择一组元素中特定类型的最后一个子元素的每个元素 */
        .wrap span:last-of-type {
            font-size: 30px;
            color: tomato;
        }
​
        .wrap p:last-of-type {
            background-color: purple;
        }/* - ele:nth-of-type(n){ } 选择一组元素中特定类型的第n个ele元素  */
        .wrap p:nth-of-type(2) {
            color: blue;
            font-size: 30px;
        }
​
        .wrap span:nth-of-type(2) {
            color: blue;
            font-size: 30px;
        }/* - ele:nth-last-of-type(n){ } 选择一组元素中特定类型的倒数第n个ele元素 */
        .wrap p:nth-last-of-type(3) {
            color: tomato;
            font-size: 40px;
        }
​
    <div class="wrap">
        <span>0span</span>
        <p>p1</p>
        <p>p2</p>
        <h3>h3</h3>
        <p>p3</p>
        <p>p4</p>
        <p>p5</p>
        <span>6span</span>
        <span>7span</span>
    </div>
View Code

3)状态伪类选择器

  • ele:disabled{ } 选择界面上处于禁用状态的元素

  • ele:enabled{ } 选择界面上处于可用状态的元素

  • ele:checked{ } 选择界面上处于被选中状态的元素

  /* ele:enabled{ } 选择界面上处于可用状态的元素 */
        input:enabled {
            background-color: tomato;
        }
​
        input[type=password]:enabled {
            background-color: yellowgreen;
        }/* ele:disabled{ } 选择界面上处于禁用状态的元素 */
        input:disabled {
            background-color: purple;
        }/* ele:checked{ } 选择界面上处于被选中状态的元素 */
        input:checked {
            width: 50px;
            height: 50px;
            opacity: .5;
        }
​
        input[type=radio]:checked {
            width: 30px;
            height: 30px;
            opacity: .5;
        }
​
​
    <ol>
        <li>
            账号:<input type="text">
        </li>
        <li>
            密码:<input type="password">
        </li>
        <li>
            账号1:<input type="text" disabled>
        </li>
        <li>
            账号2:<input type="text" disabled>
        </li>
        <li>
            性别:<input type="radio" checked>男
            <input type="radio">女
        </li>
        <li>
            性别:<input type="checkbox">吃饭
            <input type="checkbox" checked>睡觉
            <input type="checkbox" checked>打豆豆
        </li>
    </ol>
View Code

4)修改表单元素的placeholder的样式

 1 /*修改placeholder默认样式*/
 2 input::placeholder {
 3 color: tomato;
 4 }
 5  6 
 7 /*修改获取焦点后placeholder的样式*/
 8 input:focus::placeholder {
 9 color: yellowgreen;
10 }
11 
View Code