CSS基础笔记四,伪类选择器和对象选择器(鼠标点击的四种状态,列表自定义选择,容器只有一个,除了被选中的其他都有,元素为空的时候,元素获得焦点的时候,单选和复选增强)

伪类选择器  常用有这些:

1,鼠标点击元素的4种状态 爱恨离别(link visited hover active) 前面的2个只适用于

a标签,后面的2个适用于其他标签。顺序不能改变

2,列表中先选择谁就选择谁 

            first-child  选择开头

             last-child 选择结尾

            nth-child(odd或者enen或者自定义数值) 选择偶数或者奇数或者自定义行

3,当一个容器只有一个值就生效的选择器 only-child 只爱一个人 多了就不生效了

4,当容器除让她以外 其他都匹配到  not(她)  一个好的前任就应该更死了一样

5,当容器里面的元素为空的时候 就生效 empty

6,当元素获得焦点的时候,就生效 focus  这个很常用 也很实用 通常用于用户输入的对话框

7,作为单选和复选修改样式的时候 checked

伪元素(对象)选择器

有befor 和alter  

他们常用于给列表前后添加各种样式的美化效果

也是用于给标题前后添加美化效果

目录

一,伪类选择器

一,鼠标点击的四种状态 link visited hover active

第一种 link  鼠标访问之前的颜色  

第二种,visited 鼠标访问之后的颜色

第三种,鼠标滑过去的颜色

第四种,鼠标按住不动的状态

​编辑

二,列表中想选择谁就选择谁  first-child last-child nth-child(n)

第一种frist-child

  第二种 last-child

第三种,选择列表偶数或者奇数或者任意一个

三,只有一个子元素的时候才会生效 only-child

四,里面没有任何元素,他就生效,有了子元素他就不生效 emply

五,除了被not选中的,其他都生效

六,焦点选择器,谁被鼠标点中,获得焦点,谁就生效 focus

 ​编辑

 七,单选和复选框增强效果选择器 checked

二,伪对象选择器  before alter

三,总结


一,伪类选择器

一,鼠标点击的四种状态 link visited hover active

注意link 和visited 仅仅限于超级连接 a标签

第一种 link  鼠标访问之前的颜色  

修改超链接 鼠标点击之前的颜色

        a:link{
            color: #fa4d15;
        }
第二种,visited 鼠标访问之后的颜色
        /*修改点击之后的颜色*/
        a:visited{
            color: yellow;
        }
第三种,鼠标滑过去的颜色
    /*    鼠标悬停上面的颜色*/
        a:hover{
            color: dimgray;
        }
第四种,鼠标按住不动的状态
   /*    鼠标点击但是不松手的状态*/
        a:active{
            color: yellowgreen;
        }

全部代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类选择器</title>
<!--  伪类选择器
示例 比如a标签有4个状态  访问之前 的颜色  访问过后的  鼠标放在标签上的  鼠标点击但是不松手的
link 访问之前的
visited 点击之后的颜色
hover 鼠标悬停上面的颜色
active 鼠标点击但是不松手的状态
必须按照顺序来的 l v h a
-->
    <style>
/*<!--      修改访问之前的颜色  -->*/
        a:link{
            color: #fa4d15;
        }
        /*修改点击之后的颜色*/
        a:visited{
            color: yellow;
        }
    /*    鼠标悬停上面的颜色*/
        a:hover{
            color: dimgray;
        }
    /*    鼠标点击但是不松手的状态*/
        a:active{
            color: yellowgreen;
        }
    /*    点击和点击后的颜色 只要a这种可以点击生效  其他的对所有标签都生效*/
    /*    鼠标悬停上面的颜色*/
        p:hover{
            color: dimgray;
        }
    /*    鼠标点击但是不松手的状态*/
        p:active{
            color: yellowgreen;
        }

    /*    看看input的效果  同样,前面的2个不生效 只是后面的2个生效*/
    /*    鼠标悬停上面的颜色*/
        input:hover{
            color: dimgray;
        }
    /*    鼠标点击但是不松手的状态*/
        input:active{
            color: yellowgreen;
        }


    </style>
</head>
<body>
<a href="https://www.baidu.com/">百度</a>
<p>我也来看看有没有这个效果</p>
<form action="https://www.baidu.com/">
    <input type="submit">
</form>

</body>
</html>

二,列表中想选择谁就选择谁  first-child last-child nth-child(n)

第一种frist-child

选择列表的第一个

/*<!--   first-child是让其第一个生效 -->*/
    ul li:first-child{
      color: #fa4d15;
    }
  第二种 last-child

选择列表的最后一个

  /*last-child 是让最后一个生效*/
  ul li:last-child{
    color: yellow;
  }
第三种,选择列表偶数或者奇数或者任意一个
  /*自定义 想选择谁就选择谁  也可以是统一选择偶数或者奇数*/
  /*odd奇数  envn是偶数*/
  ul li:nth-child(odd){
    color: yellowgreen;
  }
    ul li:nth-child(even){
    color: pink;
  }
    /*定义指定 想让谁变色就让谁变色*/
    ul li:nth-child(4){
    color: red;
  }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>first-child选择器</title>
  <style>
/*<!--   first-child是让其第一个生效 -->*/
    ul li:first-child{
      color: #fa4d15;
    }
  /*last-child 是让最后一个生效*/
  ul li:last-child{
    color: yellow;
  }
  /*自定义 想选择谁就选择谁  也可以是统一选择偶数或者奇数*/
  /*odd奇数  envn是偶数*/
  ul li:nth-child(odd){
    color: yellowgreen;
  }
    ul li:nth-child(even){
    color: pink;
  }
    /*定义指定 想让谁变色就让谁变色*/
    ul li:nth-child(4){
    color: red;
  }

  </style>
</head>
<body>
<ul>
  <li>列表1</li>
  <li>列表2</li>
  <li>列表3</li>
  <li>列表4</li>
  <li>列表5</li>
  <li>列表6</li>
  <li>列表7</li>
  <li>列表8</li>
  <li>列表9</li>
  <li>列表10</li>
</ul>
</body>
</html>

三,只有一个子元素的时候才会生效 only-child

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>only-child</title>
<!--  only-child 仅仅有一个子元素

-->
  <style>
/*<!--   当一个容器仅仅只有一个元素的时候 才会生效 -->*/
    div p:only-child{
      color: #ffcccc;
    }
  </style>
</head>
<body>
<div>
  <p>我是唯一一个p标签</p>
</div>
<!--以上第二个就没生效-->
<div>
  <p>我是大哥</p>
  <p>我是二哥</p>
</div>

</body>
</html>

四,里面没有任何元素,他就生效,有了子元素他就不生效 emply

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>empty选择器</title>
<!--  empty
里面没有任何子元素到时候 她就生效 有了子元素他就不生效-->
  <style>
    p{
      /*没有文本的时候 p是不生效的,line-height 是设置文本高度的 */
      height: 30px;
      line-height: 30px;
      /*background-color: #ffcccc;*/
    }
  /*  当文本内容为空的时候 ,这个选择器就生效了 包括文本节点 空格等都算  必须是None*/
    p:empty{
      background-color: red;
    }

  </style>
</head>
<body>
<!--我们创造了3个文本-->
<p></p>
<p><span>我是p里里面的span</span></p>
<p>有文字</p>
</body>
</html>

五,除了被not选中的,其他都生效

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>not选择器</title>
<!--  not选择器
除了这个 其他都选择-->
  <style>
/*<!--    not 里面加了p 表示除了p以外 其他都生效  注意div后面需要空格一下-->*/
    div :not(p){
      color: #ffcccc;
    }
  </style>
</head>
<body>
<div>
  <p>我是p</p>
  <a href="#">我是a</a>
  <span>我是span</span>
</div>

</body>
</html>
 

六,焦点选择器,谁被鼠标点中,获得焦点,谁就生效 focus

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>focus焦点</title>
<!--  焦点选择器 谁获得鼠标焦点 谁就改变颜色-->
  <style>
    input:focus{
      background-color: #ffcccc;
    }
  </style>
</head>
<body>
<!--通过设置4个对话框方便观察-->
<input type="text">
<input type="text">
<input type="text">
<input type="text">
</body>
</html>

 

 七,单选和复选框增强效果选择器 checked

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>checked选择器</title>
  <style>
/*<!--   有了这个选择器,当选择谁的时候 谁就会边宽和边高 -->*/
    input:checked{
      width: 30px;
      height: 25px;
    }
  </style>
</head>
<body>
<input type="checkbox" name="a1" value="xue">学习
<input type="checkbox" name="a1" value="xue1">学习1
<input type="checkbox" name="a1" value="xue2">学习2
<input type="radio" name="a2" value="nan">男
<input type="radio" name="a2" value="女">女

</body>
</html>

二,伪对象选择器  before alter

可以给标题修改美化效果 同时也能给列表添加效果

代码中的2个案例 一个是给列表前后增加内容,一个是给标题前后增加美化效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪对象选择器</title>
<!--  也被成为伪元素选择器-->
<!--  可以在列表前面或者后面添加内容
必须要配额和content来使用
-->
  <style>
/*<!--  在前面添加内容  -->*/
    ul::before{
      content: '我是前面的';
      /*对这条修改内容*/
      color: #ffcccc;
      font-size: 50px;
    }
  ul:after{
    content: '我是后面的内容';
    /*对这条修改内容*/
    color: #fa4d25;
    font-size: 12px;
  }
  /*对标题前面添加特效*/
 h3::before{
   content: '';
   padding-left: 5px;
   background-color: #fa4d25;
 }
  /*给标题后面添加特效*/
 h3::after{
   content: '';
   padding-left: 5px;
   background-color: #ffcccc;
 }
  </style>
</head>
<body>
<ul>
  <li>列表1</li>
  <li>列表2</li>
  <li>列表3</li>
</ul>
<h3>&nbsp;我是标题3&nbsp;</h3>
</body>
</html>

三,总结

选择器分类
    1,基础选择器: 全局选择器 元素选择器 类选择器 id选择器 合并选择器
    2,关系选择器  后代选择器  子代选择器 相邻兄弟选择器  通用兄弟选择器
    3,伪类选择器
          鼠标点击状态选择器(4个状态)(爱恨离别  link visited hover active)
          让列表中任何一个值 想选谁就选谁(first-child)
          当容器只有以一个值的时候就生效的选择器 only-child
          当容器除了他其他都生效的选择器  not(她)
          当标签为空的时候,就生效的选择器 empty
          当标签被获得焦点,就触发各种自定义特效的选择器 focus
          作为单选和复选 修改样式的选择器  checked
      4,伪对象(元素)选择器  befor 和alter  可以给列表或者系列元素前后添加内容 特效等等

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值