用过 plasmo 的大佬,帮看看问题~
我在页面中,想向一串 list 的尾部(一排水平的按钮),再注入一个我自己的元素(按钮),想保持和他们一样的按钮高度,但是我发现我自己的元素使用 h-full 不生效,无法充满父节点。有了解这个问题的吗?
如下图
import cssText from "data-text:~style.css"
import type { PlasmoCSConfig, PlasmoGetInlineAnchorList } from "plasmo"
export const getStyle = () => {
const style = document.createElement("style")
style.textContent = cssText.replaceAll(":root", ":host")
return style
}
export const config: PlasmoCSConfig = {
matches: ["*://*.x.com/*", "*://*.twitter.com/*"]
}
export const getInlineAnchorList: PlasmoGetInlineAnchorList = async () => {
const elements = document.querySelectorAll('[role="tablist"]:last-child')
return Array.from(elements).map((el) => ({
element: el,
insertPosition: "beforeend"
}))
}
const PlasmoCSUI = () => {
return (
<div className="my-auto flex items-center justify-center" style={{ height: 'var(--twitter-tab-height)' }}>
<div className="my-auto w-9 h-full flex items-center justify-center ml-1 bg-red-500">
tag
</div>
</div>
)
}
export default PlasmoCSUI
1
isa 63 天前
你得确认下 tailwind 的 css 有没有被注入到页面中
|
2
renmu 63 天前 via Android
你注入不好说会不会修改到原来的功能,手动写写得了
|
3
nagisaushio 63 天前
去看具体的 CSS 呀,看是不是有什么优先级更高的
|
4
molvqingtai 63 天前
有没有可能被原网页的 CSS 样式给覆盖了
|
5
molvqingtai 63 天前
我使用的 wxt ,不过两个框架使用方式都差不多
需要防止注入的页面继承宿主页面的一些样式,比如文字大小和颜色等,特别是使用 tailwindcss,如果宿主页面的 rem 设置比较小的话,会导致你的页面整体缩小,你需要取消继承,然后呢将 rem 全部转换为 px https://github.com/molvqingtai/WebChat/blob/e764f334d14caaafbe17fa326d3187d3105a7304/src/assets/styles/tailwind.css#L81 https://github.com/molvqingtai/WebChat/blob/master/.postcssrc 刚新鲜踩的坑,希望对你有帮助 |
6
axina 63 天前
@molvqingtai #5 感谢兄弟,解决了我存在很久不知道怎么解决的一个问题👍👍👍
|
7
codehz 63 天前
扩展注入的话建议还是别用这样的框架了(
不过现在不是流行注入一个 shadow dom 进去吗,样式相互隔离 |
8
shaun0 OP 感谢各位。解决了,框架是用的影子 dom ,会自动生成两层 div 容器节点,我在网页检查器里找到这两个的节点 id ,然后在 style.css 中手动添加了 height: 100% 就行了。如下:
``` #plasmo-shadow-container { height: 100%; } #plasmo-inline { height: 100%; } ``` ![]( https://cdn.discordapp.com/attachments/946290204904390690/1289776999052607588/image.png?ex=66fa0def&is=66f8bc6f&hm=bd02c26b95b963cd881de7a7033678d716d7fbde10f453e5dd2c11639609a157&) |