2023年政策修订增补工作正在进行中,欢迎参与!
Template talk:Navbox/编辑请求 - Grandom(2020.12.08)
跳转到导航
跳转到搜索
由Grandom提出的对Template:Navbox、Template:Navbox subgroup、MediaWiki:Gadget-desktop-styles.css和MediaWiki:Gadget-mobile-styles.css的编辑请求:
- 状态: 完成
平时编辑过程中陆续注意到navbox里的一些小问题,但考虑到其在全站大面积使用也就没急着提交。前阵子注意到模块化navbox取得了一些进展,所以这次集中请求编辑,希望在完全模块化之前解决这些问题。
由于涉及页面较多,内容较长,所以单开了一个讨论页来申请。这里召唤两位熟悉的前辈@AnnAngela和@サンムル帮助审核,也欢迎其他大佬给出建议。
所有修改一共分成四部分,可以使用右侧的切换按钮分别显示每部分修改与下方的说明。
grouppadding | 不显示不显示显示显示 |
title居中 | 不显示不显示显示显示 |
移动端绿条 | 不显示不显示显示显示 |
其他问题 | 不显示不显示显示显示 |
Template:Navbox ---Title and Navbar--- -->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!-- --><td class="navbox-group" style="{{{basestyle|}}}; {{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!-- --><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}{{{basestyle|}}};{{{titlestyle|}}}" <!-- -->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!-- -->class="navbox-title"><!-- -->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!-- -->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!-- -->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width: em;"> </div>}}|<!-- -->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width: em;text-align:left;"> </div>}}}}|<!-- --><div style="float:left; width: em;text-align:left;"> <!-- -->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!-- --></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width: em;"> </div>}}}}<!-- --><span style="font-size:{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=100|#default=110}}%;"><!-- -->{{{title}}}</span></th></tr>}}<!-- 需要对每个group进行修改: -->{{#if:{{{list2|}}}|<!-- -->{{#if:{{{title|}}}{{{above|}}}{{{list1|}}}|<tr style="height:2px"><td></td></tr>}}<tr><!-- -->{{#if:{{{group2|}}}|<td class="navbox-group" style="{{{basestyle|}}}; {{{groupstyle|}}};{{{group2style|}}}"><!-- -->{{{group2}}}</td><td style="text-align:left;border-left:2px solid #fdfdfd;|<td colspan=2 style="}}<!-- -->width:100%;padding:0px;{{{liststyle|}}};{{{evenstyle|}}};{{{list2style|}}}" <!-- -->class="navbox-list navbox-{{#ifeq:{{{evenodd|}}}|swap|odd|{{{evenodd|even}}}}}"><!-- --><div style="padding:{{{listpadding|0em 0.25em}}}">{{{list2}}}</div></td></tr>}}<!-- |
MediaWiki:Gadget-desktop-styles.css .navbox-group { font-weight: 700; white-space: nowrap; } |
MediaWiki:Gadget-mobile-styles.css html > body.skin-minerva .navbox { border: 1px solid #aaa; clear: both; padding: 1px; text-align: center; width: 100%; } html > body.skin-minerva .navbox-subgroup .navbox-group { background: #e6f6e6; } @media screen and (max-width: 640px) { html > body.skin-minerva .navbox-group { display: block; } html > body.skin-minerva .navbox-group+* { } } |
|
Template:Navbox subgroup |border = {{#if:{{{border|}}}|{{{border}}}| }} |style = {{{style|}}} {{{bodystyle|}}} |groupstyle = {{{groupstyle|}}} |{{#if:{{{evenodd|}}}|evenodd|void1}} = {{{evenodd|}}} |{{#if:{{{listpadding|}}}|listpadding|void2}} = {{{listpadding|}}} 需要对每个group进行修改: |group1 = {{{group1 }}} |
以上所有更改已应用在…/naubox、…/naubox subgroup、…/desktop.css和…/mobile.css中,并利用…/宝可梦系列角色、…/fripSide和在数十个大家族模板中以预览的方式进行测试。
待进一步审核确认后,我也会提供四个页面修改后的完整代码用于编辑。—— Grandom 2020年12月8日 (二) 03:03 (CST)
- 关于标题居中,不建议手工计算文本宽度,可以考虑position:absolute。
- 话说这个申请放在单开的用户讨论页,真的有其他人会看到吗……——移动版用户 Bhsd(讨论) 2020年12月9日 (三) 02:13 (CST)
- 这个地方是以尽量减小改动幅度为原则做了一些妥协。“既然不能限制折叠按钮的宽度,原来的6em也没什么特殊意义了,不如换成一个更接近居中的宽度。”是这么个思路。
换成绝对定位的话修改幅度有点大,有点担心可能在某些页面出现什么奇怪的问题:
Template:Navbox
---Title and Navbar---
-->{{#if:{{{title|}}}|<tr>{{#if:{{{titlegroup|}}}|<!--
--><td class="navbox-group" style="{{{basestyle|}}};{{{groupstyle|}}};{{{titlegroupstyle|}}}">{{{titlegroup|}}}</td><!--
--><th style="border-left:2px solid #fdfdfd;width:100%;|<th style="}}position:relative;{{{basestyle|}}};{{{titlestyle|}}}" <!--
-->colspan={{#expr:2{{#if:{{{imageleft|}}}|+1}}{{#if:{{{image|}}}|+1}}{{#if:{{{titlegroup|}}}|-1}}}} <!--
-->class="navbox-title"><!--
-->{{#if:{{#switch:{{{navbar|}}}|plain|off=1}}<!--
-->{{#if:{{{name|}}}||{{#switch:{{{border|{{{1|}}}}}}|subgroup|child|none=1}}}}|<!--
-->{{#ifeq:{{{navbar|}}}|off|{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;"> </div>}}|<!--
-->{{#ifeq:{{{state|}}}|plain||<div style="float:left; width:6em;text-align:left;"> </div>}}}}|<!--
--><div style="float:left; width:6em;position:absolute;text-align:left;"><!--
-->{{Navbar|{{{name}}}|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!--
--></div>{{#ifeq:{{{state|}}}|plain|<div style="float:right;width:6em;"> </div>}}}}<!--
MediaWiki:Gadget-desktop-styles.css 和 MediaWiki:Gadget-mobile-styles.css
.navbox-title > .mw-collapsible-toggle {
position: absolute;
right: 1em;
}
另外这四个页面基本都要管理员以上权限才能修改,监视了的人大概也不多。分类:受到保护无法编辑的页面在分类:积压工作里还是挺明显的,挂上一阵相关人员应该就都看到了…吧。—— Grandom 2020年12月9日 (三) 07:44 (CST)- 成功地把我钓进来了XD--サンムル(讨论) 2020年12月10日 (四) 11:22 (CST)
- 看起来没什么大问题,请提供可供直接复制的代码。——From AnnAngela the Temporary Bureaucrat (Talk) 2020年12月10日 (四) 12:59 (CST)
- @AnnAngela 感谢,一直以来的各种申请都麻烦AnnA姐了。navbox、navbox subgroup、Gadget-desktop-styles、Gadget-mobile-styles —— Grandom 2020年12月10日 (四) 15:43 (CST)
- Done.——From AnnAngela the Temporary Bureaucrat (Talk) 2020年12月10日 (四) 21:08 (CST)
- @AnnAngela {{Navbox}}Navbar一节有四个
被转换成正常空格了。没注意<pre>不能防止其转换。My bad… —— Grandom 2020年12月10日 (四) 21:33 (CST)- Fixed.——From AnnAngela the Temporary Bureaucrat (Talk) 2020年12月10日 (四) 21:46 (CST)
- @AnnAngela {{Navbox}}Navbar一节有四个
- Done.——From AnnAngela the Temporary Bureaucrat (Talk) 2020年12月10日 (四) 21:08 (CST)
- @AnnAngela 感谢,一直以来的各种申请都麻烦AnnA姐了。navbox、navbox subgroup、Gadget-desktop-styles、Gadget-mobile-styles —— Grandom 2020年12月10日 (四) 15:43 (CST)
- 这个地方是以尽量减小改动幅度为原则做了一些妥协。“既然不能限制折叠按钮的宽度,原来的6em也没什么特殊意义了,不如换成一个更接近居中的宽度。”是这么个思路。
这此的更改和上次的就麻烦@サンムル同步到模块:nav了。
另外提报个模块:nav collapsible groups的bug:这里的liststyle
应该只提交给子navbox的list,父navbox的list无需自定义样式参数,模块里多提交给了父navbox的list:
{{navbox with collapsible groups|style=display:inline-table;width:50%;vertical-align:top|name=test|title=模板:navbox with collapsible groups|group1=group1|list1=list1|state1=mw-uncollapsed|group2=group2|list2=list2 list2style="font-size:150%"|list2style=font-size:150%|state2=mw-uncollapsed}} {{#invoke:nav|box|collapsible groups|style=display:inline-table;width:50%;vertical-align:top|name=test|title=模块:nav{{!}}box{{!}}collapsible groups|group1=group1|list1=list1|state1=mw-uncollapsed|group2=group2|list2=list2 list2style="font-size:150%"|list2style=font-size:150%|state2=mw-uncollapsed}}
P.S.修复后会将示例删除消除隐藏分类 —— Grandom 2020年12月10日 (四) 22:28 (CST)
- @Grandom width: 6em -> width 2.78em 的更改造成了布局Bug,父元素的宽度比子元素还小了,见图:截图 --聪明又可爱的妹空酱(讨论) 2020年12月12日 (六) 23:40 (CST)
- @妹空酱 这里为6em时,在使用Wikiplus时父元素宽度也会小于子元素。但因为规定了子元素宽度所以应该不会影响布局,之前规定为
140px
,现在为fit-content !important
,详见Special:差异/955613/4585025。—— Grandom 2020年12月13日 (日) 00:21 (CST) - 测试了一下,
fit-content
属性同样可以解决新版Wikiplus的换行问题,建议添加至小工具,或者干脆将该条转移至全站桌面版CSS。@AnnAngela —— Grandom 2020年12月13日 (日) 00:33 (CST)- @Grandom 这与Wikiplus无关,此外Wikiplus不希望覆盖mw本身自带样式。父元素宽度小于子元素这本来就不合理,当前只是恰好能工作,此外我看不出这个地方要限制宽度的理由。cc @AnnAngela --聪明又可爱的妹空酱(讨论) 2020年12月13日 (日) 10:03 (CST)
- 我记得限制宽度是为了保证title能正居中而不是歪的,不过我早就改了=。=Special:差异/955613/4585025——From AnnAngela the Temporary Bureaucrat (Talk) 2020年12月13日 (日) 10:07 (CST)
- @妹空酱 所以我才建议把这一条写进mw自带样式里啊,此处@AnnAngela,MediaWiki:Gadget-Wikiplus.css在使用新版Wikiplus时不生效。
或者干脆让Navbar成为绝对元素从根本上解决需要考虑子元素宽度的问题:
--><div style="position:relative;float:left; width:2.78em;text-align:left;"><span class="mobileonly"> </span><!--
-->{{Navbar|{{{name}}}|style=position:absolute|fontstyle={{{basestyle|}}};{{{titlestyle|}}};border:none;|mini=1}}<!--
这样连MediaWiki:Gadget-Wikiplus.css的内容都可以省了。—— Grandom 2020年12月13日 (日) 11:37 (CST)- 首先,css处无法检测是否安装了w+,所以只能在gadget样式里加(等新版正式发布后你仍然可以通过小工具来加载新版)。其次,如果写成绝度定位,那么窄屏+桌面版下可能会出现元素重叠问题。——From AnnAngela the Temporary Bureaucrat (Talk) 2020年12月13日 (日) 13:22 (CST)
- @Grandom 这与Wikiplus无关,此外Wikiplus不希望覆盖mw本身自带样式。父元素宽度小于子元素这本来就不合理,当前只是恰好能工作,此外我看不出这个地方要限制宽度的理由。cc @AnnAngela --聪明又可爱的妹空酱(讨论) 2020年12月13日 (日) 10:03 (CST)
- @妹空酱 这里为6em时,在使用Wikiplus时父元素宽度也会小于子元素。但因为规定了子元素宽度所以应该不会影响布局,之前规定为