【CSS】nth:children以及浏览器内核webkit使用(滚动条样式修改)

news2025/3/1 9:48:47

在这里插入图片描述
😉博主:初映CY的前说(前端领域) ,📒本文核心:nth:children以及浏览器中的webkit使用

前言:在页面的编写中使用了多个标签通常有需求去处理下特殊的样式,我们常见做法是给我们的标签加上一个类或者通过标签选择器去写我们的css样式,但是不想写类了还可以用啥选择到我们页面中的dom元素?嘿,这下就可以用上我们的nth-child()选择器喽~

⭐一、nth-child()选择器

nth-child 是 CSS 选择器中的一个伪类,它可以选择某个父元素的第 N 个子元素,或者符合特定公式的子元素。

使用 :nth-child 选择器的语法为: :nth-child(an + b)。

其中,a 和 b 都是整数,n 表示元素在其父元素中的位置,默认n是0。

nth-child()使用

先绘制下我们的一个静态demo
长下面这个样子:
在这里插入图片描述
初始代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="box">
    <span>元素1</span>
    <span>元素2<span>元素3</span></span>
    <span>元素4</span>
    <span>元素5</span>
  </div>
</body>
<style>
  .box{
    margin: 0 auto;
    margin-top: 100px;
    width: 500px;
    height: 500px;
    background-color: teal;
    text-align: center;
    line-height: 500px;
  }
  .box span{
    padding: 20px;
    font-size: 20px;
  }

</style>
</html>

我们写选中span试试

  .box span:nth-child(1){
    color: white;
  }

写完了选择器页面展示效果如下所示:
在这里插入图片描述
这里有意思的来了,为什么元素3也被选中了?请仔细的阅读它可以选择某个父元素的第 N 个子元素,或者符合特定公式的子元素。因此浏览器会解析,找到box下面的span中的第一个,因此元素1就被理所当然的改变了颜色。那么元素3的颜色是怎么改变的?仔细分析博主代码结构是是span套装span,以第一个span标签为出发点来看,元素3也确确实实是span标签中的第一个元素。所以元素3也就被博主加上了样式,这是一个潜在的小细节,大家注意喽。

nth-chlid也支持选中偶数单数

下面更正div中span结构让大家看得更清楚

  <div class="box">
    <span>元素1</span>
    <span>元素2</span>
    <span>元素4</span>
    <span>元素5</span>
  </div>

选择奇数、偶数:

//n的取值为0、1、2、3依次往后面取
  .box span:nth-child(2n){
    color: white;
  }
  .box span:nth-child(2n+1){
    color: orange;
  }

在这里插入图片描述
也可以用另外一种选择方法,vscode代码提示里面都有,大家可以去尝试下其他的,再次再介绍一个

nth-last-child(n) 从最后看选择第几个元素

  /* 从尾部往前面算 */
  .box span:nth-last-child(2){
    color: skyblue;
  }

在这里插入图片描述
倒数第二个颜色就被我改成了skyblue颜色了!当然css也存在样式覆盖的问题(从上往下执行),我们原本的橙色也就挤掉了

⭐二、webkit

WebKit 是一种浏览器引擎,广泛应用于多个浏览器中,其中包括 Safari、Google Chrome(在 Chrome 27 版本前)、Opera(在 Opera 15 版本前)等。

Webkit 的特点包括:

  1. 高速渲染:WebKit 引擎在渲染网页时使用了一些优化技术,以提高渲染速度和性能。
  2. 跨平台:WebKit 引擎可以在不同的操作系统上运行,包括 macOS、Windows、Linux 等。
  3. 支持最新的标准:WebKit 遵循并支持最新的 Web 标准,如 HTML、CSS 和 JavaScript 规范等。

说白了我们可以用这个来控制浏览器的滚动条!
原始的滚动条如下所示:
在这里插入图片描述

webkit使用

常见的灰白条,但是我们不喜欢怎么办?自己修改浏览器内核webkit即可
直接参考下面代码:

  /* 控制滚动条宽度 */
  ::-webkit-scrollbar {
  /* width: 10px; */
  width: 5px;

}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 100, 0.8);

}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
  border-radius: 12px;
  -webkit-box-shadow: inset 0 0 6px rgba(55, 169, 192, 0.2);
  background-color: yellow;
}

页面效果:
在这里插入图片描述
源代码见下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="box">
    <span>元素1</span>
    <span>元素2</span>
    <span>元素4</span>
    <span>元素5</span>
    <div class="children">11111111111111111111111111111111111111111</div>
  </div>
</body>
<style>
  /* 控制滚动条宽度 */
  ::-webkit-scrollbar {
  /* width: 10px; */
  width: 5px;

}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 100, 0.8);

}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
  border-radius: 12px;
  -webkit-box-shadow: inset 0 0 6px rgba(55, 169, 192, 0.2);
  background-color: yellow;
}
  .box{
    width: 500px;
    height: 500px;
    background-color: teal;
    margin: 0 auto;
    margin-top: 100px;
    text-align: center;
    line-height: 500px;
    overflow: hidden;
    overflow-y: scroll;
  }
  .box span{
    padding: 20px;
    font-size: 20px;
  }
  .box span:nth-child(2n){
    color: white;
  }

  .box span:nth-child(2n+1){
    color: orange;
  }
  /* 从尾部往前面算 */
  .box span:nth-last-child(2){
    color: skyblue;
  }
  .children{
    height: 600px;

  }
</style>
</html>

至此本文结束,愿你有所收获!
期待大家的关注与支持! 你的肯定是我更新的最大动力!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/703919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微服务】什么是微服务?-- 全面了解微服务架构

What is Microservices — Edureka 您有没有想过&#xff0c;什么是微服务以及扩展行业如何与它们集成&#xff0c;同时构建应用程序以满足客户的期望&#xff1f; 要了解什么是微服务&#xff0c;您必须了解如何将单体应用程序分解为独立打包和部署的小型微型应用程序。本文将…

力扣 -- 91.解码方法

题目链接&#xff1a;91. 解码方法 - 力扣&#xff08;LeetCode&#xff09; 以下是用动态规划的思想解决这道题目&#xff0c;如果对动态规划五部曲的含义还不是很清楚的老铁可以看看本专栏的第一题动规(10条消息) 力扣 -- 746. 使用最小花费爬楼梯_KOBE 0824 BRYANT的博客-…

软件测试编写文档模板【附文档模板】

一、测试岗位必备的文档 在一个常规的软件测试流程中&#xff0c;会涉及到测试计划、测试方案、测试用例、测试报告的编写&#xff0c;这些文档也是软件测试岗位必须掌握的文档类型。 1、测试计划 测试计划是组织管理层面的文件&#xff0c;从组织管理的角度对一次测试活动进…

华为OD机试真题 Python实现【最小的调整次数】【2023Q1 100分】

目录 一、题目描述二、输入描述三、输出描述四、补充说明五、解题思路六、Python算法源码七、效果展示1、输入2、输出3、说明 一、题目描述 有一个特异性的双端队列&#xff0c;该队列可以从头部或尾部添加数据&#xff0c;但是只能从头部移出数据。 小A依次执行2n个指令往队…

uboot详解(嵌入式学习)

uboot详解 概念详解扩展Windows的“uboot” 概念 U-Boot&#xff08;Unified Bootloader&#xff09;是一个开源的嵌入式系统引导加载程序&#xff0c;也是一种通用的引导加载程序。它主要用于嵌入式系统的启动过程&#xff0c;负责初始化硬件设备、加载操作系统内核和启动应用…

Android Studio 使用 Build Variants 配置测试/正式环境域名等字段

拿测试环境域名和正式环境域名举例&#xff1a;在项目调试和发版过程中可以通过频繁地注释和解开注释来切换正式环境域名和测试环境域名&#xff0c;但此方法过于繁琐&#xff1b;所以可以使用Android Studio的Build Variants根据切换环境来替我们执行切换环境的操作。 在项目…

《HelloGitHub》第 87 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 …

可视化对讲广播电话可以用在哪里

可视化对讲广播电话可以用在哪里 可视化对讲广播电话&#xff1a;无处不在的沟通利器 【工地现场】 在矗立的高楼上&#xff0c;工地上忙碌的工人们使用着可视化对讲广播电话。借助高清画面和清晰音频&#xff0c;工作人员可以实时观察工地情况&#xff0c;更好地协调工作&a…

【【51单片机实现LED点阵屏幕和动画显示】】

LED点阵屏幕和驱动代码 我们先搞清楚&#xff17;&#xff14;HC&#xff15;&#xff19;&#xff15;的原理 &#xff53;&#xff46;&#xff52; 特殊功能寄存器声明 &#xff53;&#xff42;&#xff49;&#xff54; 特殊位声明 就举个例子&#xff0c;我们在之前的…

Linux后台运行Python脚本

Linux后台运行Python脚本命令&#xff1a; nohup python webui.py > myout.file 2>&1 &nohup&#xff1a;nohup命令用于不挂断地运行命令python&#xff1a;执行python代码的命令webui.py: python程序脚本源代码>: 打印程序输出信息到指定日志文件中myout.fi…

[vue]使用Element--Tree 树形控件使用props解决自定义slot-scope=“{ node, data }“的对象问题

在未用props定义的情况下&#xff0c;slot-scope"{ node, data }"解析data对象只有data含有lable和children才能识别出内容和子节点 当我获取的数据如下&#xff0c;没有lable和children&#xff0c;使用的是name和childList&#xff0c;如下图所示&#xff1a; 注意…

设计必备的矢量插画素材,这几个网站超齐全。

分享几个设计必备的矢量插画、插图素材网站&#xff0c;建议收藏~ 菜鸟图库 https://www.sucai999.com/searchlist/bianpingchahua----all-0-1.html?vNTYxMjky 菜鸟图库是一个素材非常丰富的网站&#xff0c;这里面涵盖了平面、电商、UI、图片、高清背景、插画、视频、音频等…

【新星计划】技术博客写作技巧经验分享

序言 写技术博客需要一定的专业知识和写作技巧&#xff0c;它是一个很好的方式来分享你的经验和知识&#xff0c;同时也是一个展示你的专业能力和建立自己品牌的机会。 以下是一些准备和建议&#xff0c;希望可以帮助你写出有用和有吸引力的技术博客&#xff1a; 写在前面 我报…

使用Elasticsearch进行word,excel,PDF的全文检索 windows实现 超完整(ingest-attachment实现)

首先要明确的一点就是Elasticsearch的版本要和ingest-attachment的版本一致&#xff0c;要不然没办法安装。然后还有一点JAVA版本要在11以上 先说说原理吧&#xff0c;其实就是将文件base64编码&#xff0c;然后再用插件读取文件内容并保存到es中。 1.如果你的版本是JAVA1.8的…

win11系统升级后QT的程序识别套件失败解决

解决方法&#xff1a; QTCreator的配置文件存放位置:C:\Users\%USERNAME%\AppData\Roaming\QtProject。删除这个文件夹下的文件&#xff0c;重启QT就会自动识别kits套件初始化信息等 就是QT我配置的颜色也消失了按照如下步骤重新配置后再次重启QT即可 这个方法导致我QT 上配…

苹果开发者账号续费流程及苹果开发者账号续费流程及下架处理

当开发者的苹果开发者账号即将到期时&#xff0c;可能会面临以下问题&#xff1a;“如何查看开发者账号剩余时间&#xff1f;”和“如何进行续费&#xff1f;”本文将详细解答这些问题。 如何查询账号过期时间&#xff1f; 如果距离开发者账号过期时间不到一个月&#xff0c;您…

KNIME工作流和节点比较功能

KNIME工作流和节点比较功能是一个在 << KNIME 视觉化数据分析 >> 中没有讲到的知识点。 KNIME工作流和节点比较功能在以下几种情况下非常有用&#xff1a; 版本控制&#xff1a;此功能可以跟踪工作流和节点中的更改。如果需要返回到之前的工作流或节点版本&#xf…

Spring + ECharts数据可视化

Apache ECharts是一个基于 JavaScript 的开源可视化图表库&#xff0c;在网页上实现数据的可视化&#xff0c;非常好用&#xff0c;来简单写一个demo&#xff0c;实践一下。 目录 一、成果 二、数据准备 三、具体实现 某年每个学生各科分数的柱状图 后端 前端 后端代码 …

Echarts设置X轴只显示刻度线,不显示X轴轴线

Echarts设置X轴只显示刻度线&#xff0c;不显示X轴轴线&#xff1a; option {xAxis: {......axisLine: {show: false,lineStyle: {color: red,}},......},...... } 效果&#xff1a; 上图中X轴轴线位置的横线&#xff0c;其实是yAxis的splitLine&#xff0c;将splitLine的sh…

(十九)数据编辑——属性编辑②

数据编辑——属性编辑② 使用键盘输入值并不是编辑表中值的唯一方式。在某些情况下&#xff0c;为了设置字段值&#xff0c;可能要对单条记录甚至是所有记录执行数学计算。ArcMap 中的字段计算器可以对所有或所选记录进行简单和高级计算。 此外&#xff0c;还可以基于字段计算…