gpt4 book ai didi

javascript - 使用 Chrome DevTools 将鼠标悬停在自定义元素上时,自定义元素不会被标记

转载 作者:行者123 更新时间:2023-11-30 13:53:12 26 4
gpt4 key购买 nike

我有一个主要的 html 文件,我在其中嵌入了 Web 组件。调试时我注意到,当我将鼠标悬停在自定义元素上时,我的自定义元素未被标记。 enter image description here

我也无法从外部 css 设置自定义 html 元素的大小。

这是我的代码:

view.html

    <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link href="view.css" rel="stylesheet" />
<script defer src="widget-uhr.js"></script>
</head>

<body>
<widget-uhr></widget-uhr>
<widget-uhr></widget-uhr>
<widget-uhr></widget-uhr>
<button>View Button</button>
</body>
</html>

widget-uhr.html

   <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link href="widget-uhr.css" rel="stylesheet" />
</head>

<body>
<div id="time"></div>
<button>Widget Button1</button>
<button>Widget Button2</button>
<button>Widget Button3</button>
</body>
</html>

View .css

body{
display:block;
}
button{
min-width: 250px;
min-height: 100px;
background-color: aqua;
font-size: 32px;
}

widget-uhr.css

body{
color:green;
background-color: gray;
}

div{
color:blue;
background-color: gray;
}

button{
background-color: red;
}

widget-uhr.js

fetch( "widget-uhr.html" )
.then( stream => stream.text() )
.then( text =>
customElements.define( "widget-uhr", class extends HTMLElement {
constructor() {
super()
this.attachShadow( { mode: 'open'} )
.innerHTML = text


}
} )
)

原因可能是因为我通过提取从小部件注入(inject)了我的 html?

最佳答案

默认情况下,自定义元素是内联,因此不会在开发工具中标记。

要标记它,您应该将其 CSS display 属性定义为 blockinline-block

在其 Shadow DOM 中,使用 :host CSS 伪类。

widget-uhr.css中:

:host { display: block }

或者,在主文档中,使用自定义元素名称。

view.css中:

widget-uhr { display: block }

关于javascript - 使用 Chrome DevTools 将鼠标悬停在自定义元素上时,自定义元素不会被标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57819148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com