我正在尝试清理旧的(ish)firefox扩展程序。它创建了一个网站列表及其图标。它会将列表显示为弹出菜单或列表,具体取决于您的要求。
我无法正确显示图标(这是该扩展程序长期存在的问题)。在菜单上,在进行选择之前不会显示任何图标。然后它显示图标,但是有一个页面,其中favicon是256x256,看起来非常糟糕。同样在列表视图中。
据我所知,菜单都是用menuitem-iconic和listcell-iconic / listitem-iconic构建的,但即使我在扩展名css中添加了menuitem-iconic覆盖(这会影响所有其他菜单图标很好),我无法让它得到认可。
如果你把它放到xul explorer中,你就会明白我的意思
sqrt
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
我不知道会发生什么事情。列表项的最大高度工作正常,导致相关行上的图标很宽但非常短,但我希望它只是16x16。
菜单没有这样的限制,并以完整的256x256像素亮度显示所选图像。
答案 0 :(得分:2)
您可以通过添加CSS来设置显示图像的width
元素的height
和<image>
的样式。 <image>
是<listcell class="listitem-iconic">
的XBL的一部分,<listitem class="listitem-iconic">
隐式创建了image.menulist-icon
。您可以通过查看XBL the element或使用DOM Inspector并显示匿名内容来查看每个明确包含元素的元素。
您可以为显示的menulist图标设置<?xml-stylesheet type="text/css" href="data:text/css,
image.listcell-icon, image.menulist-icon {
width: 16px;
height: 16px;
}"
?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<listbox> <!-- listbox showing large icon -->
<listitem label="Widdershins"
class="listitem-iconic"
image="http://www.widdershinscomic.com/favicon.ico"
style="max-height: 18px;"
/>
<listitem label="Darken"
class="listitem-iconic"
image="http://darkencomic.com/wp-content/themes/inkblot/includes/images/icon.png"
style="max-height: 18px;"
/>
</listbox>
<!-- menu shows no icons at all but when you select 'darken' then you get a huge icon -->
<menulist label="label" accesskey="{accesskey}">
<menupopup>
<menuitem label="Widdershins"
class="menuitem-iconic"
image="http://www.widdershinscomic.com/favicon.ico"
style="max-height: 18px;"
/>
<menuitem label="Darken"
class="menuitem-iconic"
image="http://darkencomic.com/wp-content/themes/inkblot/includes/images/icon.png"
style="max-height: 18px;"
/>
</menupopup>
</menulist>
</window>
样式。
由于没有单独的CSS文件,您的问题有点复杂。但是,您可以使用数据URI直接在XUL中包含CSS。
您可以使用:
Application.Run(new Form1(args));