MediaWiki嵌套带样式表格问题:如何实现可导航图片标题网格
问题描述
我想把以下带样式的MediaWiki表格:
{| |+ style="border:solid 1px grey; margin-left: 2px; margin-right: 2px;"|'''Header of Image''' ! style="border:solid 2px grey;"|[[Datei:Image.png|link=LinkToGo]] |}
嵌套到另一个表格中,构建供浏览者导航的图片标题组合网格。但用下面2列1行的嵌套写法时,显示效果混乱:
{| |+ |- | {| |+ style="border:solid 1px grey; margin-left: 2px; margin-right: 2px;"|'''Die Welt''' ! style="border:solid 2px grey;"|[[Datei:NoImage_192.png|link=Main Page]] |}|| {| |+ style="border:solid 1px grey; margin-left: 2px; margin-right: 2px;"|'''Die Welt''' ! style="border:solid 2px grey;"|[[Datei:NoImage_192.png|link=Main Page]] |} |}
正确实现方式
问题根源是嵌套表格使用了|+(表格标题标签),导致外层表格单元格与嵌套表格的标题布局冲突。以下是两种可行的解决方法:
方案1:简化结构,直接用外层表格布局
不需要嵌套独立表格,将每个导航项的标题和图片放在外层表格的单元格内,统一控制样式:
{| style="border-collapse: separate; border-spacing: 8px;" |- | style="border:solid 1px grey; padding: 4px; text-align: center;"| '''Die Welt'''<br> [[Datei:NoImage_192.png|link=Main Page|border:solid 2px grey]] | style="border:solid 1px grey; padding: 4px; text-align: center;"| '''Die Welt'''<br> [[Datei:NoImage_192.png|link=Main Page|border:solid 2px grey]] |}
方案2:规范嵌套表格(规避冲突)
如果必须嵌套表格,不要在嵌套表格中使用|+标签,改用普通单元格放置标题,同时给外层表格设置间距避免挤压:
{| style="border-collapse: separate; border-spacing: 8px;" |- | {| style="border:solid 1px grey; margin: 2px; text-align: center;" |- | '''Die Welt''' |- | style="border:solid 2px grey;"|[[Datei:NoImage_192.png|link=Main Page]] |} | {| style="border:solid 1px grey; margin: 2px; text-align: center;" |- | '''Die Welt''' |- | style="border:solid 2px grey;"|[[Datei:NoImage_192.png|link=Main Page]] |} |}
关键注意点
- 外层表格添加
border-collapse: separate; border-spacing: 8px;可避免嵌套表格间过度拥挤 - 嵌套表格禁用
|+标签,改用普通单元格承载标题,避免与外层表格布局规则冲突 - 图片边框样式可直接写在图片链接参数中,或通过单元格样式控制,实现更简洁的代码结构
内容的提问来源于stack exchange,提问作者BDC_Patrick
相关产品推荐
相关产品推荐

