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>
相关推荐
Ramble_Naylor8 分钟前
只借不占:Rust 的引用与借用
开发语言·rust
FreeTinker23 分钟前
Java文件服务器的技术选型与实现路径:从嵌入式工具到企业级系统
java·服务器·开发语言
2501_9065651224 分钟前
小创 · 智能助手
开发语言·c#
benchmark_cc38 分钟前
1000只ETF的5分钟K线如何批量获取?QuantDash分页策略与高性能Python实践
开发语言·人工智能·爬虫·python·算法·quantdash·量化数据源
粥里有勺糖41 分钟前
视野修炼-技术周刊第131期 | Bun 与 pnpm Rust 化
前端·github·agent
Coodor42 分钟前
如何在web浏览器使用js操作CPU卡
开发语言·前端·javascript·cpu卡
我星期八休息1 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
lilian2331 小时前
HarmonyOS 7 新特性(四)|沉浸光感:空间材质、性能分级与降级策略
前端·pytorch·华为·harmonyos·材质
大模型码小白1 小时前
AI 提示词专栏:使用系统指令(System Prompt)实现全局约束
java·大数据·运维·开发语言·人工智能·python·prompt