首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

css选择器选择父元素下子元素仅有一个指定 class 的时候

对于仅指定一个 class 的场景,我们通常会想到使用 :last-child  或者 :only-child  但是亲测发现,这些伪类选择器不是仅在子元素只有一个我们想要筛选的 class 类的时候...,才会被选择,而是仅有一个子元素的时候才会被选中,所以,如果我们子元素还有其他非该类的子元素,则不会被认为是一个,不会被以上伪类选择器选中。...*/ .btn-group .btn:last-child { margin-right: 0; } class...="btn-group"> class="btn">btn1 其他子元素 所以解决方案,就是要保证子元素类型相同...,否则非想要选择的 class 类的子元素也会算一个 child,或者我们可以给要设置仅一个class 场景的样式的时候,再给相同 class 的子元素包一层 div 即可。

1.8K30

【CSS】伪元素和伪类选择器区别

1.伪类选择器和伪元素选择器 伪类选择器是用来向某些选择器来添加效果。...:伪类不修改DOM容,通过一些特定的选择器根据特定的状态,特定条件来修改元素的样;而伪元素可能改变DOM结构,创造了虚拟的DOM 伪类选择器只是相当于给标签加上了个名字,让我们能够找到精准的位置,而伪元素选择器修改了他原本的结构...2.注意 可通过使用css伪类实现点击元素变色的效果,两个伪类是:active, :focus :active :active选择器用于选择活动链接。...当在一个链接上点击时,它就会成为活动的(激活的),:active选择器适用于所有元素,不仅限于链接a元素 :focus :focus 选择器用于选取获得焦点的元素。...仅接收键盘事件或其他用户输入的元素允许 :focus 选择器 3.测试代码 class="buttonArea"> 登录</button

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过css类选择器选取元素 文档结构和遍历 元素树的文档

    通过css类选取元素 html所有的元素拥有class属性,该属性会对元素进行分组,标识为某一组。...doctype来进行选择怪异模式,和标准模式的,怪异模式是为了向后兼容而存在的,标准模式不是(兼容以及不太重要了,但是还要知道一点,这是ie8的问题,但愿再过几年直接win7也没有了) 通过css选择器选择元素...css样式表可以进行选择,这里仅仅是一些常见的css选择器 #nav // id = nav 的元素 div // 选择div元素 .warning // 选择class属性为waring的元素 /...// 选择class中包含fatal和error的span元素 span[lang="fr"].warning // 所有使用法语,并且class中包含warning的span元素 // 选择器指定文档结构.../ 的子元素中的第一个元素 // 选择器组合选择多个或者组合元素 div, #log // 所有的div元素,以及id为log的元素属于和关系 // 正则选择器 a[src^=

    2K20

    CSS进阶-CSS选择器高级:伪类与伪元素

    在CSS的探索之旅中,伪类和伪元素无疑为我们的样式设计增添了无限可能。它们不仅能够帮助我们精确地定位文档中的元素,还能实现丰富的交互反馈和视觉效果。...本文旨在深入浅出地探讨CSS伪类与伪元素的核心概念、常见问题、易错点及其规避策略,并通过实例代码加深理解。...双冒号与单冒号的使用 问题描述:CSS3规范中,伪元素推荐使用双冒号(::),而伪类仍使用单冒号(:),但在旧版浏览器中,双冒号可能不被支持。...注意事项:保持逻辑清晰,通常先写伪类再写伪元素,并注意CSS特性的优先级规则。 4. 使用content属性 问题描述:在伪元素中忘记使用content属性,导致样式不生效。...掌握它们的关键在于理解其背后的逻辑与应用场景,以及不断实践以避免常见的陷阱。希望本文能成为你探索CSS高级选择器路上的一盏明灯。

    15210

    CSS元素选择器是怎样运作的?

    在前端工程师的日常工作中,使用 CSS 元素选择器是稀松平常的事;无论你是编写一般的 CSS 还是需要经过编译的 SASS,SCSS,LESS等,最终都被编译成一行一行的 CSS 样式属性,最终交给浏览器解析并套用...也可以换个方式思考:在 HTML 的结构中,一个元素可以有无数个子元素,但只能有一个父元素,由子找父(由下往上)搜寻绝对是比较快的。...CSS 效率 实际上浏览器在这里已经完成了优化机制;浏览器会自动将状态一致的元素做样式快照。...,以及前面讨论到的 CSS 运算过程,编写 CSS 时也有几个地方可以稍微留心一下: 由于样式规则的目标属性会分组存放,id 选择器效率非常高,所以是不能与其他条件混用的。...延伸 认识了 CSS 选择器之后,你一定会很好奇,JavaScript 的元素选择器又是怎么回事呢?

    1.7K10

    css中的伪类与伪元素

    伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。...伪类的种类 伪元素的种类 区别 这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。....first-child {color: red} class="first-child">first second 即我们给第一个子元素添加一个类... p标签下的第一个字母会变红 我们一般做法,也可以实现,同样单独加一个类 .first-letter {color: red}class='first-letter'>I 总结 伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

    2.5K80

    CSS中的伪类和伪元素

    定义 伪类 CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。 例如,:hover 可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色。.../* 所有用户指针悬停的按钮 */ button:hover { color: blue; } 伪类存在的意义是为了通过选择器,格式化DOM树以外的信息以及不能被常规CSS选择器获取到的信息。...伪元素 伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。 下例中的 ::first-line 伪元素可改变段落首行文字的样式。 /* 每一个 元素的第一行。... 如果想要给该段落的第一个字母添加样式,可以在第一个字母中包裹一个元素,并设置该span元素的样式: class="first">Hello World, and...总结 1.伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 2.伪元素本质上是创建了一个有内容的虚拟容器; 3.CSS3中伪类和伪元素的语法不同; 4.可以同时使用多个伪类,而只能同时使用一个伪元素

    2.8K10

    【说站】css后代选择器和子元素选择器的区别

    css后代选择器和子元素选择器的区别 说明 1、后代选择器使用空格作为连接符号,子元素选择器使用>作为连接符号。 2、后代选择器选中所有的特定后代标签,子元素选择器选中所有的特定的直接标签。...后代选择器会选中指定标签中, 所有的特定后代标签, 也就是会选中儿子/孙子..., 只要是被放到指定标 签中的特 定标签都会被选中 子元素选择器只会选中指定标签中, 所有的特定的直接标签, 也就是只会选中特定的儿子标签...实例 比如说只要选择class为box的li标签而不选到最内层的li标签该如何做? 单纯用后代选择器很难做到吧!...                                                              以上就是css...后代选择器和子元素选择器的区别,希望对大家有所帮助。

    2K30

    第91天:CSS3 属性选择器、伪类选择器和伪元素选择器

    字符并且在“开始”位置; div[class^=mydemo] 5、E[attr$=val] 表示的属性值里包含val字符并且在“结束”位置;   div[class$=demos] 二、伪类选择器...除了以前学过的:link、:active、:visited、:hover,CSS3又新增了其它的伪类选择器。...四、伪元素选择器 重点:E::before、E::after 是一个行内元素,需要转换成块元素 E:after、E:before 在旧版本里是伪类,在新版本里是伪元素,新版本下E:after、E:before...E::selection 可改变选中文本的样式; ":" 与 "::" 区别在于区分伪类和伪元素 关于before和after       CSS2中 E:before或者E:after,是属于伪类的...,并且没有伪元素的概念       CSS3中 提出伪元素的概念 E::before和E::after,并且归属到了伪元素当中,伪类里就不再存在E:before或者   E:after伪类;

    1.6K30

    一个新的 HTML 元素:!

    Chrome 126 于近期发布了稳定版本,其中一个比较有意思的更新是给 HTML 带来一个新的元素: ,它将从这个版本开始试用,并且正在努力走向标准化。...今天我们一起来看下这个 元素的用法。 Web 权限提示的问题 当 Web 应用程序需要访问浏览器的高级功能时,需要向用户主动请求许可。...申请权限的触发方式一般分为两类,被动隐式触发,或者主动显示触发: 例如,Geolocation API 是一个强大的 API,它的使用依赖于首次使用时隐式询问的方法。...另一个问题是权限提示框通常显示的方式:在网站的 “死亡线” 之上(特别是在大屏幕上),也就是说,在应用程序能够绘制到的浏览器窗口区域之外。...用户在刚刚点击了窗口底部的一个按钮后,可能会错过浏览器窗口顶部的提示,这种情况还是挺常见的。当浏览器有应对权限滥用的缓解措施时,这个问题往往会更加严重。

    18210

    怎样使用 CSS 选择器精确地选择特定的元素或元素组来应用样式?

    要精确地选择特定的元素或元素组来应用样式,可以使用 CSS 选择器。以下是一些常用的 CSS 选择器: 元素选择器:通过元素名称选择元素。例如,使用 p 选择所有 元素。...p { color: blue; } 类选择器:通过类名选择元素。可以在 HTML 元素中使用 class 属性来指定类名,然后在 CSS 中使用 .类名 来选择元素。...例如,使用 .blue-text 选择所有具有类名为 “blue-text” 的元素。 .blue-text { color: blue; } ID 选择器:通过元素的 ID 属性选择元素。...伪类选择器以冒号 : 开头,例如 :hover 表示鼠标悬停状态。例如,使用 a:hover 选择所有鼠标悬停在链接上的 元素。...a:hover { text-decoration: underline; } 这些是一些常用的 CSS 选择器,通过结合使用它们,可以精确地选择特定的元素或元素组来应用样式。

    10510

    JS-获取class类名为某个的元素-【getClass】函数封装

    原理:  根据class获取元素.  原理是,取出oparent下的所有元素,组成数组,然后遍历类名,全等判断。...class为clsName的元素     oElements  = oParent.getElementsByTagName('*');     //oElements 获得的是父元素下的所有元素,...class的父元素 var oLi = getByClass(oUL,"li_box"); //让子元素们等于函数返回来的那个数组。...其实直接用getElementsByTagName获取到的也是一个元素集合。现在直接等于一个数组,能用的方法和属性则更多了呢!顺便调用函数并传参。参数是父元素的变量和需要找的类名。...for(var i=0;i<oLi.length;i++){ //循环弹出来的数组,也就是所有类名为“li_box”的li //接下来直接做你想让那些带你需要类名的元素该做的事。

    5.2K80

    CSS一个div内两个子元素的高度自适应

    ---- 设想这样一个情况:一个父元素有两个子元素,父元素的高度不确定,用子元素撑起来。 但是这会导致一个问题:各个子元素的高度不一致,为子元素添加height:100%是无效的。...这种方式需要父元素高度确定,然而父元素的高度由子元素确定。 猜想渲染时由于父元素高度不确定,会计算出各个子元素的高度再确定父元素高度,但计算子元素高度时并没有父元素高度可以参考,因此上述方法行不通。...你可以 为父元素设置固定高度 配合height:100%,两个子元素都能撑满父元素 利用span元素与布局 如果span的定位是absolute类型,那么它的高度可以等于父元素的高度。...父元素只根据相对定位的子元素决定高度,也就是说,absolute定位的span设置height:100%是有效的,父元素的高度对它来说是已知的。...这种方法下,父元素的高度仍然由最高的相对定位的子元素确定,其它元素放到span中,所以需要知道最高的子元素。 使用同色背景 虽然很简单,却很实用的方法。子元素的高度虽然不都是100%,但效果一样。

    5.1K30

    3.5链表----链表中元素的删除(只删除一个元素情况)

    位置的元素之前的前置节点(此时为索引为1的位置的元素),因此我们需要设计一个变量prev来记录前置节点。...,返回删除的元素 基于remove(int index)方法实现该方法: //从链表中删除第一个元素,返回删除的元素 public E removeFirst() { return...remove(0); } 2.3 从链表中删除最后一个元素,返回删除的元素 基于remove(int index)方法实现该方法: //从链表中删除最后一个元素,返回删除的元素 public...LinkedList; public class TestMain { public static void main(String[] args) { LinkedList...(add(int index,E e)),平均情况下为O(n/2)=O(n); 4.2 删除操作的时间复杂度 (1)删除链表最后一个元素(removeLast()),需要遍历找到最后元素的前一个元素,

    91420

    在JS中使用强大的CSS选择器来定位页面元素

    近期由于受到谷歌退出中国市场的影响,就连之前可以正常使用的翻译 API 也无法使用了。 无奈之下为不影响本站的加载速率,决定暂时关闭谷歌的在线翻译功能。...熟悉 JS 代码的小伙伴应该都清楚这里发生了啥,最简单的修复方式就是在注册点击事件前,加个 if 条件判断,当元素不存在时不进行事件注册。...于是便想到了使用 CSS 的选择器语法来支持,首先定位到这些按钮的父元素上,然后再逐一对子元素(即按钮本身)进行事件注册,这样当某个按钮被删除后也就无须 if 条件判断,同样也不用调整 JS 代码。...顺着这个思路往下走的时候,发现并不是所有按钮的事件都是相同的,得排除掉其它非同类项的按钮。 结合之前编写 SCSS 代码时的经验,是否可以使用 :first-child 这样的选择器进行排除呢?...相比于 JS 中使用 ID 或名称来定位页面元素的方式,这种使用 CSS 选择器的模式,操作起来会更的加简便和灵活。

    6210
    领券