在 MediaWiki (CSS) 中嵌入多个信息框

问题描述 投票:0回答:1

我正在尝试在我的 MediaWiki 安装上设置一些简单的信息框。

我使用了这个答案。这是我当前的代码(与该问题完全相同,而且我确实有 ParserFunctions):

Template Page
<div class="infobox">
<div class="infobox-title">{{{title|{{PAGENAME}}}}}</div>{{#if:{{{image|}}}|
<div class="infobox-image">[[File:{{PAGENAME:{{{image}}}}}|300px]]</div>}}
<table class="infobox-table">{{#if:{{{param1|}}}|<tr>
    <th>Parameter 1</th>
    <td>{{{param1}}}</td>
</tr>}}{{#if:{{{param2|}}}|<tr>
    <th>Parameter 2</th>
    <td>{{{param2}}}</td>
</tr>}}{{#if:{{{param3|}}}|<tr>
    <th>Parameter 3</th>
    <td>{{{param3}}}</td>
</tr>}}{{#if:{{{param4|}}}|<tr>
    <th>Parameter 4</th>
    <td>{{{param4}}}</td>
</tr>}}{{#if:{{{param5|}}}|<tr>
    <th>Parameter 5</th>
    <td>{{{param5}}}</td>
</tr>}}</table>
</div>
Relevant CSS (Part of Common.css)
.infobox {
    background: #eee;
    border: 1px solid #aaa;
    float: right;
    margin: 0 0 1em 1em;
    padding: 1em;
    width: 400px;
}
.infobox-title {
    font-size: 2em;
    text-align: center;
}
.infobox-image {
    text-align: center;
}
.infobox-table th {
    text-align: right;
    vertical-align: top;
    width: 120px;
}
.infobox-table td {
    vertical-align: top;
}

这工作正常,直到我想将具有信息框的多个页面转换为单个页面。

当我这样做时,信息框水平堆叠而不是垂直堆叠。由于 MediaWiki 在嵌入后编写 HTMl 的方式,信息框之间有几个 HTML 元素(主要是

<p>
)。

我确信这是一个简单的修复,但无论我做什么,我似乎都无法让它工作。

我唯一能想到的就是以某种方式在页面右侧制作一个部分,用于保存每个信息框,但我不知道如何为维基上的每个页面制作类似的东西,并且只让它保存专门的信息框。老实说,我可能完全看错了方向。

html css mediawiki infobox
1个回答
1
投票

您可以在嵌入页面之前插入

<br clear="all" />

© www.soinside.com 2019 - 2024. All rights reserved.