首页 > 解决方案 > MediaWiki:如果菜单是西里尔文,如何在每个菜单的侧边栏中添加图像(图标)?

问题描述

我有 Skin:Metrolook 一个带有子菜单的下拉菜单,如下所示:

图片

因此,我在站点栏中有几个带有子菜单的各种菜单。我想在每个菜单之前添加一个单独的图标。我无法为我的 MediaWiki:Metrolook.css 中的每个菜单(如此处的示例)分配 classes orID ,因为菜单是用俄语编写的,并且 CSS 只能识别英文字母,但不能识别西里尔字母。我所有试图确定 ID 的尝试都归结为这种类型的一组字符:p-.D0.A6.D0.B2.D0.B5.D1.82.D1.8B:-list 所以 CSS 它不认为这样符号,也不会感知西里尔字母。我试图分配给我的 MediaWiki:Sidebar

 <div id="cv">*Пример</div>

并在 css 中写下这个组合:#p-cv :before { content: url(/img/white_tulip.png); } 和 .n-cv:before { content: url(/img/white_tulip.png); } 和 .cv:before { 内容:url(/img/white_tulip.png); } 和 #cv:before { 内容:url(/img/white_tulip.png); 但它不起作用。但是,据我了解,MediaWiki:Sidebar 页面无法感知页面菜单中的编码。但是,我注意到如果用 css 编写

#p-navigation li a:before, 
#n-Info-sur-WikiRouge a:before  { content: url(/img/white_tulip.png); }

然后图标从下方出现在服务菜单的导航中同时,此菜单也在西里尔字母上-但此菜单作为标准嵌入在 Mediawiki 中。但这只是一个观察。请说我如何在我的情况下添加图标?

标签: cssmediawikisidebarcyrillic

解决方案


如果您在谈论侧边栏菜单,则此代码应该可以使用MediaWiki:Metrolook.css(ID 和 URL 来自我自己的 wiki):

#n-Техподдержка a:before {
    content: url(/files/thumb/3/33/Nuvola_apps_bookcase.png/51px-Nuvola_apps_bookcase.png);
}

MediaWiki:Sidebar的对应行是:

** Project:Техническая поддержка|Техподдержка

如果必要的 id 用句号编码,则应在 CSS 选择器中使用反斜杠对句号进行转义:

ul#p-\.D0\.A1\.D0\.BE\.D0\.B7\.D0\.B8\.D0\.B4\.D0\.B0\.D0\.BD\.D0\.B8\.D0\.B5-list:before {
    content: url(/files/thumb/3/33/Nuvola_apps_bookcase.png/51px-Nuvola_apps_bookcase.png);
}

均在MediaWikiMetroLook 1.35 中测试;在新版本的MetroLook中,侧边栏菜单的结构,因此,选择器,可以改变。但是,无论如何,CSS 可以使用 Cyrillic 标识符。


推荐阅读