css-selectors 相关问题

选择器是与文档树中的元素匹配的模式。在CSS规则中,它们用于为与模式匹配的元素定义样式。

尝试使用带有 HTMLUnit 的 css 选择器来选择正确的按钮

我有以下 HTML 代码片段: 我有以下 HTML 代码片段: <div class="LocationsIndex__paginationBar__YE2Xo"> <div> <nav> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw Pagination__symbol__KHv6r" type="button"> <div style="transform: rotate(180deg);">➞</div> </button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw" type="button">1</button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw" type="button">2</button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw Pagination__active__EK2e1" type="button">3</button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw" type="button">4</button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw Pagination__disabled__FbUC6 Pagination__symbol__KHv6r" type="button">...</button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw" type="button">79</button> <button class="Control__control__ijHLR Pagination__pageItem__NsQSw Pagination__symbol__KHv6r" type="button"> <div class="">➞</div> </button> </nav> </div> <div class="LocationsIndex__paginationInfo__YbpCl">Showing 81 to 120 of 3121</div> </div> 我尝试使用以下代码中所示的 HtmlPage.querySelector() 方法捕获该组中的最后一个按钮控件(它是一个分页器)。此方法调用始终返回 null。我尝试了几种不同的方法来获取这些信息,但没有成功。 'class="Control__Control__xxxxx" 类的最后几个字符可能不同,所以我只想根据类值的开头查找。 // do the pagination HtmlButton button = page.querySelector("button[class^='Control__control']:nth-child(8) div"); page = button.click(); 我做错了什么? 要定位最后一个按钮控件,您可以使用 last-child 伪类来选择导航中的最后一个按钮元素 page.querySelector("nav button[class^='Control__control']:last-child div");

回答 1 投票 0

CSS 在悬停时定位同级元素的子元素

我有以下情况: 我的 CSS 网格中有 4 张卡片。第一张应该是“特色”(不同的背景等),并将鼠标悬停在其余卡片上,我想要 f...

回答 1 投票 0

仅使用CSS隐藏悬停时的兄弟div

我对一种让CSS(无javascript)显示div或您悬停的元素之外的元素感兴趣,如下所示: #除法{ 显示:无; } a:悬停#divid { 显示:块; }...

回答 3 投票 0

使用 CSS 选择器遍历 HTML 标签树

<div> <div class="header"> <div id="navbar" > <ul id="nav"> <li><a id="trigger"><span><p></p></span></a></li> <li><a id="target"><span><p></p></span></a></li> </ul> </div> </div> </div> 嘿伙计们,我有一个问题,如果不会给你们造成任何不便,与遍历 HTML 树有关。 我已经知道如何使用以下语法选择 <a id="trigger"></a>: div>div.header>div#navbar>ul#nav>li>a#trigger:hover {CSS} 将触发更改。 但问题是,我想定位它下面的 <a id="target""></a> 标签,但我还没有找到访问那里的 <a id="affected"></a> 的正确语法。 我希望当我将鼠标悬停在 id="trigger" 上时,id="target" 将会受到影响。 我已经尝试过使用 + 选择器来定位该 id,唉,试验以徒劳结束。 有可能影响该id吗? 您可能需要相邻的同级选择器: #trigger:hover + #target {} 或者可能是兄弟组合器,它不需要第二个元素直接相邻: #trigger:hover ~ #target {} http://css-tricks.com/child-and-sibling-selectors 更新:正如下面的评论中所述,选择器实际上必须是兄弟姐妹。在原来的结构中,它们不是。 <div> <div class="header"> <div id="navbar" > <ul id="nav"> <li class="one"><a id="trigger">Trigger</a></li> <li class="two"><a id="target">Target</a></li> </ul> </div> </div> </div> .one:hover + .two {color: red} http://jsfiddle.net/5Gmz9/1/ 这是另一种方法,不需要 li 元素上的类或 ID: #nav li:first-child:hover + li {color: red} http://jsfiddle.net/5Gmz9/2/ 每种方法都有其陷阱。 顺便说一句, div>div.header>div#navbar>ul#nav>li>a#trigger:hover {} 可能写得和一样好 #navbar #trigger:hover {} 为您和浏览器节省一些工作。 我意识到这是一个老问题,但我发现它试图遍历 DOM。我发现“:has()”也可以工作,没有父项类,并且比第一个子项有更多的控制权: li:has(> #trigger):hover + li > #target {color:red} 或者就我而言,禁用复选框: .aspNetDisabled:has(> input:disabled:checked) + .slider {...

回答 2 投票 0

CSS在处理选择器时使用token算法还是子字符串算法?

我有以下代码 我有以下代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <style> .square__element { font-size: 20px; padding: 50px; background-color: orange; } </style> <title>Document</title> </head> <body> <div class="square__element">Square 1</div> <div class="square__element--modifier">Square 2</div> </body> </html> 当我运行它时,.square__element{}selector中声明的任何样式都不会应用于“Square 2”element。 最初我认为“Square 2”元素应该应用 .square__element{} 选择器中声明的所有样式。这就是为什么我在谷歌上搜索了一些搜索查询,试图弄清楚是否是我有错误的期望,或者我的浏览器是否出现了故障。但我发现没有任何帮助。 然后我打开了w3c,研究了大约一个小时的规范。我浏览了整个“语法”章节,但也没有找到答案。 最后,我询问了我可以使用的所有人工智能聊天内容。 他们(Bard、Chat GPT 和 Copilot)告诉我,.square__element{} 中声明的样式应该应用于“Square 2”元素,因为 “CSS 处理器使用子字符串匹配算法” 但是 Bing 聊天告诉我,除非我用空格分隔<div class="square__element square__element--modifier">Square 2</div>,否则不应该应用样式,因为 “CSS 处理器不使用子字符串匹配算法,而是使用 令牌匹配算法,其中令牌是字符序列 不是空格、制表符、换行符或其他分隔符。 ” 所以,我仍然不知道正确答案。 有人可以帮我弄清楚 .square__element{} 选择器中声明的规则是否应该应用于“Square 2”元素吗? 也许可以指出规范中我错过的解释的地方。 不,不应该。 square__element和square__element--modifier都是两个不同的有效类名。 添加这样的修饰符只是一个命名约定,表示修饰符正在向基类应用或修改某些样式(square_element)。通常在使用时包含这两个类。您可以在 Boostrap 类中看到许多类似的示例,例如 btn btn-lg,其中 btn-lg 应用或覆盖一些附加样式到 btn。

回答 1 投票 0

学习 HTML 和 CSS 挑战斗争

第一次来这里。 我正在参加 Angela Yu 的 Web 开发训练营,并做一个项目来测试我对级联(特异性和继承)、CSS 选择器及其组合的了解,...

回答 1 投票 0

为什么在类应该覆盖链接样式时需要 !important ?

我正在尝试为页内导航创建可重用的样式。有一个默认样式,通过 ID 分配给封闭的 元素。我还需要为某些规格提供替代样式... 我正在尝试为页内导航创建可重用的样式。有一个默认样式,通过 ID 分配给封闭的 元素。我还需要为该 元素中的某些特殊 元素提供替代样式。 我将一个类分配给一个 元素,然后尝试对其进行样式设置,结果好坏参半。一些属性发生了变化,但其他属性只有当我用“!important”强制覆盖时才发生变化。 虽然我可以做到这一点,但感觉就像是黑客攻击。为了正确定位这些特定链接,我缺少什么? #page-nav a { border: 2px solid black; border-radius: .3rem; padding: .25rem .5rem; line-height: 2.25; text-decoration: none; font-weight: 700; color: black; } #page-nav a:hover { background-color: black; color: white; } a.pageNavAlt:link { background-color: black; /* WORKS */ /* color: red; DOESN'T WORK */ color: red !important; /* WORKS */ } a.pageNavAlt:hover { /* background-color: darkred; color: yellow; DOESN'T WORK */ background-color: darkred !important; /* WORKS */ color: yellow !important; /* WORKS */ } <nav id="page-nav"> <a class="pageNavAlt" href="#">Alternate link</a> <a href="#">Standard link 1</a> <a href="#">Standard link 2</a> </nav> 因为#page-nav a(和#page-nav a:hover)由于使用了id而在CSS规则中具有更高的优先级。因此,a.pageNavAlt:hover are 中的样式已被应用,但被 #page-nav a:hover 中的样式所推翻。 您可以将 id 选择器添加到其他样式中: #page-nav a { border: 2px solid black; border-radius: .3rem; padding: .25rem .5rem; line-height: 2.25; text-decoration: none; font-weight: 700; color: black; } #page-nav a:hover { background-color: black; color: white; } #page-nav a.pageNavAlt:link { /* <-- here */ background-color: black; color: red; } #page-nav a.pageNavAlt:hover { /* <-- and here */ background-color: darkred; color: yellow; } <nav id="page-nav"> <a class="pageNavAlt" href="#">Alternate link</a> <a href="#">Standard link 1</a> <a href="#">Standard link 2</a> </nav>

回答 1 投票 0

多个子元素的 CSS 选择器

假设我有这张桌子: 有东西! 如果我...

回答 10 投票 0

pandas set_table_styles 不适用于表标签

我使用以下代码来设置表格边框和标题列的一些格式。标题列的样式工作正常,但代码不会呈现表格的边框。

回答 1 投票 0

选择属性为空或未指定的元素

采用以下示意性 html 代码: 现在我正在寻找一个选择...

回答 4 投票 0

:root 和 * 有什么区别?

当我们在CSS中声明变量时,为什么要这样写: :根 { --bg颜色:橙色; } /* 代替 */ * { --bg颜色:橙色; } 这两件事有什么区别?

回答 3 投票 0

目标位置:当前处于“卡住”状态的粘性元素

位置:粘性现在适用于某些移动浏览器,因此您可以使菜单栏随页面滚动,但每当用户滚动经过它时,它就会粘在视口的顶部。 但如果你想...

回答 6 投票 0

带有 :first-child 和 :first-letter 的令人困惑的伪元素语法

当我遇到一个奇怪的情况时,我正在摆弄 CSS 选择器。 如果我使用 :first-child 伪元素,我需要在它前面添加一个空格才能使其工作,如果我不这样做,它将不起作用。怎么...

回答 2 投票 0

css 选择器:div 内第一段的第一个字母

曾几何时.. 一个美丽的公主.. 我如何选择(在我的CSS中)这里面第一段的第一个字母...

回答 8 投票 0

CSS 伪类组合 :first-child 和 :first-letter

我一直在研究 CSS 伪类,并尝试了一些可用的类来看看什么可以做,什么不能做。 我的问题是: 我想使用 :first-child se...

回答 4 投票 0

Selenium Web 驱动程序(如果样式高度为 0)

我试图让 selenium webdriver 脚本在样式的高度为 0 时执行某些操作。我可以使用 element.value_of_css_property 命令打印它,但我想将其用作 if 状态...

回答 1 投票 0

如何在 CSS 中构建负属性选择器?

我正在尝试(可能是鲁莽的)在 CSS 中重现 Douglas Crockford 所说的底值。 什么是底值? 在 Javascript 中,底部值未定义且为 null。 我可以

回答 3 投票 0

CSS 定位 p-dropdown primeng 中的第一个选项

我在我的应用程序中使用 primeng,我只想自定义 p 下拉列表中的一个选项,但不知道如何去做。 我在我的应用程序中使用 primeng,我只想自定义 p 下拉列表中的一个选项,但不知道如何去做。 <p-dropdown id="dropdown" [options]="options" optionLabel="name" optionValue="name"></p-dropdown> 我有这个作为我的CSS: p-dropdown ::ng-deep .p-dropdown-item { /* my custom css for one option only */ } 我尝试使用 :first, :first-child, :first-of-type, :nth-child, :nth-of-type 来看看我是否可以只定位一个选项,但它仍然将 css 应用于所有下拉菜单中的选项。我该怎么办? PS:这个问题与 select 元素无关,与 primeng p-dropdown 元素有关。请完整阅读问题。 请注意,有 p-dropdownitem 元素和 p-dropdown-item CSS 类: <p-dropdownitem ...> <li class="p-dropdown-item" ...> <span ...>LABEL</span> </li> </p-dropdownitem> 所以,:first-item应该应用于该元素,而不是其具有该类的子元素: p-dropdown ::ng-deep p-dropdownitem:first-child .p-dropdown-item { /* my custom css for one option only */ } 希望这有帮助:)

回答 1 投票 0

CSS中多个类中的逗号和空格是什么意思?

这是一个我不明白的例子: .container_12 .grid_6, .container_16 .grid_8 { 宽度:460 像素; } 在我看来, width: 460px 适用于上述所有类。但为什么...

回答 9 投票 0

在列表中定位 CSS 中的 2 个元素

在 20 个元素的 ul/li 中,如何从列表中的第 2 个元素开始定位 4 个元素中的 2 个并发元素 (1 / 2+3 / 4 / 5 / 6+7 / 8 / 9 / 10+ 11 等)。 我尝试使用 :nth-child 规则,但我...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.