伪类选择器:is( ) 选择器,它可以将多个选择器组合在一起,简化代码。简化代码:减少重复,选择器更简洁。提高可读性:让样式更容易理解和维护。//原代码:每种列表类型 (ul 和 ol) 单独编写选择器 ul li a,ol li a { color:red; } //精简代码:is(ul, ol) 匹配 ul 或 ol 元素,这样你只需要写一次 a 选择器,就可以应用相同的样式。 :is(ul,ol) a { color:red; } :where( )选择器,是没有特定权重的选择器。不会影响选择器的优先级(Specificity)。简化代码:使用 :where() 或 :is() 可以减少重复,写起来更加简洁。提升可读性:CSS 规则变得更加直观和易于理解。//原代码:这种写法需要为每个元素类型分别指定样式。 main h1, main h2, main h3 { color:blue; } //精简代码:它类似于 :is() 伪类,但不同之处在于 :where() 是没有特定权重的选择器。 main :where(h1,h2,h3){ color:blue; }:not( ) 选择器,用于选择不匹配指定选择器的元素。“排除”法则::not() 选择器就是一种“排除”的逻辑。它选择某种元素,但不包括那些符合特定条件的元素。多种条件:你可以在 :not() 内使用任何 CSS 选择器,包括类名、属性选择器、伪类等,以非常灵活地定义排除条件。示例1:排除某个类 //原代码: <button>Button 1</button> <button class="test">Button 2</button> <button>Button 3</button> //CSS:除了special类名的button的样式 button:not(.test) { background-color: blue; color: white; }示例2:排除某个属性 //原代码: <button>Submit</button> <button disabled>Disabled Button</button> <button>Reset</button> //CSS:给所有按钮应用样式,但不希望给禁用的按钮应用该样式。 button:not([disabled]) { background-color: green; color: white; } :has( ) 选择器,用于选择包含特定子元素的父元素。“包含”法则::has() 选择器是一种“包含”逻辑。它选择那些包含特定子元素的父元素。动态样式::has() 让你可以根据元素内部的情况,动态地对其父元素应用样式。示例1:为包含图片的div添加样式 //原代码: <div class="container"> <div class="box">No image here</div> <div class="box"><img src="image.jpg" alt="An image"></div> <div class="box">Just text here</div> </div> //CSS:所有包含img标签的div背景颜色变为黄色。 .box:has(img) { background-color: yellow; }示例1:为包含特定表单元素的form添加样式 //原代码: <form class="signup-form"> <input type="text" name="username" placeholder="Username"> </form> <form class="contact-form"> <input type="text" name="name" placeholder="Name"> <input type="email" name="email" placeholder="Email"> </form> //CSS:所有包含input[type="email"]的表单有一个特殊的边框。 form:has(input[type="email"]) { border: 2px solid green; } 前端JS框架Alpine.js 旨在为静态HTML提供简单的交互功能。medium-zoom 用于实现图像的放大效果。Jarallax 允许你在网页上轻松实现背景和内容元素的视差效果。Pace.js 自动检测网页的资源加载情况,在页面显示一个加载进度条或其他形式的加载动画