HTML5+css3(伪类,动态伪类,结构伪类,否定伪类,UI伪类,语言伪类,link,hover,active,visited,focus)

伪类

动态伪类

:link 超链接未被访问过的状态
:visited 超链接访问过的状态
:hover 鼠标悬停在元素上的状态
:active 被激活的时候,鼠标点击并且没有放开发状态
:focus  获取焦点的时候
  • 注意
  • 设置动态伪类的时候,需用 link,visited,hover,active的顺序来操作
  • 只有表单元素才能用focus伪类,(焦点)

结构伪类

:first-child 所有兄弟元素中的第一个
:last-child 所有兄弟元素中的最后一个
:nth-child(n) 所有兄弟元素中的第n个
:first-of-type 所有同类型兄弟中的第一个
:last-of-type 所有同类型兄弟元素中的最后一个
:nth-of-type(n) 所有同类型兄弟中的第n个
  • n的值
  • n:第几个
  • 2n:偶数
  • 2n+1/ 2n-1:奇数
  • -n+3:前三个

否定伪类(排除的元素)

:not(选择器)

UI伪类

:checked 被选中的复选框或单选按钮
:enable 可用的表单元素(没有disabled属性)
:disabled 不可用的表单元素(有disabled属性)

语言伪类

:lang() 根据指定的语言选择元素

选择器练习作业

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    /* 一 */
    section h1,
    article h2{
      font-size: 50px;
    }
    aside h3{
        font-style: italic;
    }

    /* 二 */
    input:required:focus{
        border: 2px solid blue;
    }
    input::placeholder{
        color: gray;
    }

    /* 三 */
    .active:hover{
        
        background-color: gray;
    }
    a:hover{
        color:white ;
    }

    /* 四 */
    .special-title::first-letter{
        float: left;
        line-height: 2.5;
        color: gold;
    }
    /* 五 */
    .list li ul li:first-child{
        background-color: gray;
    }
    .list li ul li:hover{
        color: blue;
    }

    /* 六 */
    .container form input:focus{
        border:3px solid green;
        outline: none;
    }

    .container form label:hover{
        background-color: skyblue;
    }
</style>
<body>
    <!-- 一 -->
    <div class="main">
        <section id="intro">
          <h1>Welcome</h1>
          <p>This is the introduction section.</p>
        </section>
        <article class="post">
          <h2>Post Title</h2>
          <p>Post content...</p>
          <ul>
            <li>Item 1</li>
            <li>Item 2</li>
          </ul>
        </article>
        <aside class="sidebar">
          <h3>Sidebar Title</h3>
          <p>Sidebar content...</p>
        </aside>
      </div>
       
      <!-- 二 -->
      <form>
        <input type="text" name="username" required placeholder="Username">
        <input type="email" name="email" required placeholder="Email">
        <input type="submit" value="Submit">
      </form>
      

      <!-- 三 -->
      <nav>
        <ul>
          <li><a href="#home" class="active">Home</a></li>
          <li><a href="#about">About</a></li>
          <li><a href="#services">Services</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </nav>
      
      <!-- 四 -->
      <h2 class="special-title">Special Title</h2>
 
      <!-- 五 -->
      <ul class="list">
        <li>Item 1
          <ul>
            <li>Subitem 1</li>
            <li>Subitem 2</li>
          </ul>
        </li>
        <li>Item 2
          <ul>
            <li>Subitem 3</li>
            <li>Subitem 4</li>
          </ul>
        </li>
      </ul>
      
       <!-- 六 -->
      <div class="container">
        <form>
          <label for="name">Name:</label>
          <input type="text" id="name" name="name">
          <label for="password">Password:</label>
          <input type="password" id="password" name="password">
          <button type="submit">Submit</button>
        </form>
      </div>
      
</body>
</html>
相关推荐
前端青山6 分钟前
webpack进阶(一)
前端·javascript·webpack·前端框架·node.js
前端与小赵12 分钟前
什么是Sass,有什么特点
前端·rust·sass
sky_smile_Allen19 分钟前
[C#] 关于数组的详细解释以及使用注意点
开发语言·算法·c#
栈老师不回家20 分钟前
axios 请求跨域问题
前端·vue.js
敲代码不忘补水28 分钟前
Python Matplotlib 数据可视化全面解析:选择它的七大理由与入门简介
开发语言·python·信息可视化·numpy·pandas·matplotlib
前端拾光者31 分钟前
前端数据可视化思路及实现案例
前端·数据库·信息可视化
易辰君36 分钟前
【Python爬虫实战】深入解析 Scrapy 爬虫框架:高效抓取与实战搭建全指南
开发语言·爬虫·python
huaqianzkh38 分钟前
学习C#中的BackgroundWorker 组件
开发语言·学习·c#
最后一个bug40 分钟前
如何理解Lua 使用虚拟堆栈
linux·c语言·开发语言·嵌入式硬件·lua
一个小坑货42 分钟前
Rust基础
开发语言·后端·rust