背景:我正在尝试修复Chrome中音频元素外观上的两个烦恼,在尝试这样做时,我遇到了两个问题,我想更好地理解。这是关于MacOS上的Chrome 89。我很好地管理了音频元素内部的样式,使用伪选择器。当使用dom检查器查看影子dom内部时,找出伪选择器的名称会很好地工作。例如,以下两个规则完全按照预期工作:
::-webkit-media-controls-timeline{background-color:pink;}
audio::-webkit-media-controls-time-raying-display{background-color:lightgrey;}
问题:然而,有两件事并不像预期的那样起作用,我想知道为什么。
问题1:样式化剩余显示div中的第一个字母不起作用。以下规则无效。
audio::-webkit-media-controls-time-relaying-display:first-letter{color:white;}
这是令人吃惊的,因为浏览器会显示
...
E Xample
正如所料。为什么我不能给第一个字母打字?(这样做的想法是为了去掉剩余时间显示中最烦人的前导/符号)。
问题2:
为什么我不能在阴影DOM的不同部分为具有不同伪属性的元素设置样式。更确切地说,以下规则是无效的:
::-internal-track-segment-highlight-before{background-color:blue;}
我看不出与上面的另一个情况有什么不同,在这里颜色样式起作用。(这样做的想法是为了增加轨道段两部分之间太小的对比度。)
补充一下:我设法改进了一点对比度,使用
音频::-webkit-media-controls-timeline{-webkit-filter:brightence(2.5);}
但问题仍然是为什么一种方法有效而另一种方法不起作用。
您正在使用Chrome,并打开了“显示用户代理阴影DOM”
有两种类型的暗影场
>
让我们将其称为“用户区”shadowDOM,
由(第三方开发人员)自定义元素/Web组件创建的(打开或关闭的)shadowDOM
自从W3C Web组件标准实现以来,这种类型就可用了
由每个浏览器(供应商)创建的“用户代理”shadowDOM,
实现输入
、音频
、视频
、选择
等标记,但每个浏览器可以有不同的实现。
只有浏览器供应商启用了访问,才能访问此shadowDOM内容。(使用暗影部件或相关技术),而且一般情况下它是无法访问的。
WebKit确实有一些伪选择器来更改一些设置
请参见:是否有可能对html5音频标记进行样式化?
但它们不是通过创建复杂的选择器使您完全访问shadowDOM的CSS选择器。
某些字体和样式设置会级联到shadowDOM中,以便在整个页面中具有一致的样式。
请参阅:https://lamplightdev.com/blog/2019/03/26/why-is-my-web-component-inheriting-styles/
这就是为什么color:red
可以工作,而:first-letter
不行的原因
这就是filter
起作用的原因;而background-color
不
备选方案
https://github.com/dascritch/cpu-audio是一个不错的普通Web组件,它取代了标准的
请注意符号:(打开)
而不是(用户代理)
我试图计算select元素中的选项数,以及DOM中某个类的元素数。 我需要比较这两个总数来得出赛普拉斯的断言。 我可以选择所需的选项,并使用each()对它们进行迭代,然后以这种方式递增一个计数器。然而,它是异步的,也是一个笨拙的解决方案。我确信我的cy.get()生成的对象有一个length属性,我就是看不懂它。 这是我期望的事情之一。它将未定义的日志记录到控制台。 我知道我的别名很好,并且我的
我在使用媒体流式录制API,用于录制用户的麦克风。该代码在chrome windows上运行良好,但在android上,它只会在录制哔哔声后立即停止录制。 如何使API在android设备上工作 我是否遗漏了什么,或者这是Web音频API的错误? 代码如下: 然后我就用这些台词开始录音: 还有这个要停下来玩:
问题内容: 量角器1.7.0引入了一项新功能:新的定位器,可帮助您在 影子DOM中 查找元素。 它涵盖哪些用例?您什么时候想要到达影子DOM中的元素? 我问这个问题的原因是,我在事情的动机部分上不见了- 我想到量角器主要是作为一个有助于模仿实际用户交互的高级框架。访问影子树听起来像是一项非常深入的技术工作,为什么您要这样做却使我感到困惑。 问题答案: 为了回答您的问题,这里有一个相关的问题:“ s
量角器1.7.0引入了一个新特性:一个新的定位器,它有助于查找阴影DOM中的元素。 它涵盖哪些用例?您希望何时访问阴影DOM中的元素? 我问这个问题的原因是我错过了这个问题的动机部分——我认为量角器主要是一个有助于模仿真实用户交互的高级框架。访问阴影树听起来像是一件非常深入的技术事情,你为什么要这么做让我困惑。
我有一个来自服务器的响应,我想把它放到列表中。但是当列表为空时,我需要隐藏这个div容器。例如,如果不在数组中-我想隐藏div。但是我想在ng之后使用bird重复,所以我不能使在上。我可以检查li是否为空,然后隐藏div吗? 普朗克例子 AngularJS ng-重复处理空列表大小写-这是不一样的。如果li是空的,我不想隐藏li,我想在li是空的时候隐藏父元素h1。
问题内容: 这个问题更针对于用户创建的影子DOM元素,但是为了可访问性,我将使用此问题的输入类型: 举例来说,我在页面上输入了内容。修改了几位后,此阴影DOM标记(使用Chrome)看起来像: 与输入关联的方法和属性似乎根本没有引用影子DOM(JSFiddle),所以我想知道如何(如果有的话)访问这些影子DOM元素? 问题答案: 根据定义,@ int32_t在该ShadowDOM中是正确的,它是一