MediaWiki:Common.css:修订间差异
来自SOKA CAFE
第42行: | 第42行: | ||
/* 表格 */ | /* 表格 */ | ||
/* | /* | ||
* MediaWiki Table Beautifier CSS | * MediaWiki Table Beautifier CSS (Combined & Revised) | ||
* | |||
* This set of styles enhances MediaWiki tables, providing a modern look | |||
* and improved behavior, especially alongside floated elements like infoboxes. | |||
* | |||
* Key change for float interaction: | |||
* - `table.wikitable` and `table.stylish-table` now use `width: auto;` | |||
* and `max-width: 100%;`. This allows the table to shrink to its | |||
* content width if space is constrained (e.g., by a float), reducing | |||
* unnecessary text wrapping. It will still expand up to the maximum | |||
* available width if its content is wide. | |||
* | * | ||
* Add this to your wiki's MediaWiki:Common.css page. | * Add this to your wiki's MediaWiki:Common.css page. | ||
*/ | */ | ||
/* == Basic Wikitable Enhancements == */ | /* == Basic Wikitable Enhancements == */ | ||
table.wikitable { | table.wikitable { | ||
margin: 1em 0; | margin: 1em 0; | ||
border-collapse: collapse; | border-collapse: collapse; | ||
width: 100%; /* | /* MODIFIED FOR BETTER FLOAT INTERACTION & FLEXIBLE WIDTH */ | ||
font-size: 0.9em; | width: auto; /* Allow table to size based on content, up to available width */ | ||
border: 1px solid #cccccc; | max-width: 100%; /* Ensure table doesn't exceed container width */ | ||
/* END MODIFICATION */ | |||
font-size: 0.9em; | |||
border: 1px solid #cccccc; | |||
/* box-shadow: 0 1px 3px rgba(0,0,0,0.05); */ /* Subtle shadow - uncomment if desired */ | /* box-shadow: 0 1px 3px rgba(0,0,0,0.05); */ /* Subtle shadow - uncomment if desired */ | ||
} | } | ||
table.wikitable > tr > th, | table.wikitable > tr > th, | ||
table.wikitable > * > tr > th { | table.wikitable > * > tr > th { | ||
background-color: #f0f0f0; | background-color: #f0f0f0; | ||
color: #333333; | color: #333333; | ||
font-weight: bold; | font-weight: bold; | ||
text-align: left; | text-align: left; | ||
padding: 10px 12px; | padding: 10px 12px; | ||
border: 1px solid #cccccc; | border: 1px solid #cccccc; | ||
border-bottom: 2px solid #bbbbbb; | border-bottom: 2px solid #bbbbbb; | ||
} | } | ||
table.wikitable > tr > td, | table.wikitable > tr > td, | ||
table.wikitable > * > tr > td { | table.wikitable > * > tr > td { | ||
padding: 8px 12px; | padding: 8px 12px; | ||
border: 1px solid #dddddd; | border: 1px solid #dddddd; | ||
vertical-align: top; | vertical-align: top; | ||
line-height: 1.5; | line-height: 1.5; | ||
} | } | ||
table.wikitable > caption { | table.wikitable > caption { | ||
font-size: 1.2em; | font-size: 1.2em; | ||
font-weight: bold; | font-weight: bold; | ||
margin-bottom: 0.75em; | margin-bottom: 0.75em; | ||
text-align: left; | text-align: left; | ||
caption-side: top; | caption-side: top; | ||
color: #333333; | color: #333333; | ||
} | } | ||
table.wikitable > tbody > tr:nth-child(odd) > td { | table.wikitable > tbody > tr:nth-child(odd) > td { | ||
background-color: #f9f9f9; | background-color: #f9f9f9; | ||
} | } | ||
table.wikitable > tbody > tr:hover > td { | table.wikitable > tbody > tr:hover > td { | ||
background-color: #eef4f8; | background-color: #eef4f8; | ||
} | } | ||
/* == Additional Beautifier Classes (Optional) == */ | /* == Additional Beautifier Classes (Optional) == */ | ||
第129行: | 第110行: | ||
/* | /* | ||
* Class for a more "modern" or "stylish" table. | * Class for a more "modern" or "stylish" table. | ||
* | * Can be used as class="stylish-table" or class="wikitable stylish-table" | ||
*/ | */ | ||
table.stylish-table { | table.stylish-table { | ||
border: | margin: 1em 0; /* Ensure consistent margin if used alone */ | ||
border-collapse: collapse; /* Ensure consistent border behavior */ | |||
/* ADDED FOR CONSISTENT FLOAT INTERACTION & FLEXIBLE WIDTH */ | |||
width: auto; /* Allow table to size based on content */ | |||
max-width: 100%; /* Ensure table doesn't exceed container width */ | |||
/* END ADDITION */ | |||
font-size: 0.9em; /* Consistent font sizing */ | |||
border: none; | |||
box-shadow: 0 2px 8px rgba(0,0,0,0.1); | box-shadow: 0 2px 8px rgba(0,0,0,0.1); | ||
border-radius: 5px; | border-radius: 5px; | ||
overflow: hidden; | overflow: hidden; | ||
} | } | ||
table.stylish-table > tr > th, | table.stylish-table > tr > th, | ||
table.stylish-table > * > tr > th { | table.stylish-table > * > tr > th { | ||
background-color: #4a5568; | background-color: #4a5568; | ||
color: #ffffff; | color: #ffffff; | ||
border: none; | border: none; | ||
border-bottom: 1px solid #2d3748; | border-bottom: 1px solid #2d3748; | ||
padding: 12px 15px; | padding: 12px 15px; | ||
text-align: left; /* Explicitly set text-align */ | |||
font-weight: bold; /* Explicitly set font-weight */ | |||
} | } | ||
table.stylish-table > tr > td, | table.stylish-table > tr > td, | ||
table.stylish-table > * > tr > td { | table.stylish-table > * > tr > td { | ||
padding: 10px 15px; /* Consistent padding */ | |||
border: none; | border: none; | ||
border-bottom: 1px solid #edf2f7; /* | border-bottom: 1px solid #edf2f7; | ||
vertical-align: top; /* Consistent alignment */ | |||
line-height: 1.5; /* Consistent line height */ | |||
} | } | ||
table.stylish-table > tbody > tr:last-child > td { | table.stylish-table > tbody > tr:last-child > td { | ||
border-bottom: none; | border-bottom: none; | ||
} | } | ||
第167行: | 第159行: | ||
table.stylish-table > caption { | table.stylish-table > caption { | ||
font-size: 1.2em; /* Consistent caption style */ | |||
font-weight: bold; | |||
margin-bottom: 0.75em; | |||
text-align: left; | |||
caption-side: top; | |||
color: #2d3748; | color: #2d3748; | ||
padding-top: 0.5em; | padding-top: 0.5em; | ||
} | } | ||
/* == Column Alignment Helpers == */ | /* == Column Alignment Helpers == */ | ||
/* Add these classes to th or td elements for specific alignment */ | /* Add these classes to th or td elements for specific alignment */ | ||
.wikitable .col-align-left, table.wikitable th.col-align-left, table.wikitable td.col-align-left { text-align: left; } | .wikitable .col-align-left, table.wikitable th.col-align-left, table.wikitable td.col-align-left, | ||
.wikitable .col-align-center, table.wikitable th.col-align-center, table.wikitable td.col-align-center { text-align: center; } | .stylish-table .col-align-left, table.stylish-table th.col-align-left, table.stylish-table td.col-align-left { text-align: left; } | ||
.wikitable .col-align-right, table.wikitable th.col-align-right, table.wikitable td.col-align-right { text-align: right; } | |||
.wikitable .col-valign-top, table.wikitable th.col-valign-top, table.wikitable td.col-valign-top { vertical-align: top; } | .wikitable .col-align-center, table.wikitable th.col-align-center, table.wikitable td.col-align-center, | ||
.wikitable .col-valign-middle, table.wikitable th.col-valign-middle, table.wikitable td.col-valign-middle { vertical-align: middle; } | .stylish-table .col-align-center, table.stylish-table th.col-align-center, table.stylish-table td.col-align-center { text-align: center; } | ||
.wikitable .col-valign-bottom, table.wikitable th.col-valign-bottom, table.wikitable td.col-valign-bottom { vertical-align: bottom; } | |||
.wikitable .col-align-right, table.wikitable th.col-align-right, table.wikitable td.col-align-right, | |||
.stylish-table .col-align-right, table.stylish-table th.col-align-right, table.stylish-table td.col-align-right { text-align: right; } | |||
.wikitable .col-valign-top, table.wikitable th.col-valign-top, table.wikitable td.col-valign-top, | |||
.stylish-table .col-valign-top, table.stylish-table th.col-valign-top, table.stylish-table td.col-valign-top { vertical-align: top; } | |||
.wikitable .col-valign-middle, table.wikitable th.col-valign-middle, table.wikitable td.col-valign-middle, | |||
.stylish-table .col-valign-middle, table.stylish-table th.col-valign-middle, table.stylish-table td.col-valign-middle { vertical-align: middle; } | |||
.wikitable .col-valign-bottom, table.wikitable th.col-valign-bottom, table.wikitable td.col-valign-bottom, | |||
.stylish-table .col-valign-bottom, table.stylish-table th.col-valign-bottom, table.stylish-table td.col-valign-bottom { vertical-align: bottom; } | |||
/* == Responsive Table Wrapper == */ | /* == Responsive Table Wrapper == */ | ||
/* | /* | ||
* For tables that are too wide, wrap them in a div with this class | * For tables that are too wide even with `width: auto;` (e.g., due to many columns or long unbreakable content) | ||
* wrap them in a div with this class to enable horizontal scrolling on small screens. | |||
* Example: <div class="responsive-table-wrapper"> {| class="wikitable" ... |} </div> | * Example: <div class="responsive-table-wrapper"> {| class="wikitable" ... |} </div> | ||
*/ | */ | ||
.responsive-table-wrapper { | .responsive-table-wrapper { | ||
overflow-x: auto; | overflow-x: auto; | ||
-webkit-overflow-scrolling: touch; | -webkit-overflow-scrolling: touch; | ||
margin-bottom: 1em; | margin-bottom: 1em; | ||
} | } | ||
/* | /* | ||
* Alternative responsive approach: Stacked table on small screens. | * Alternative responsive approach: Stacked table on small screens. | ||
* This requires adding data-label attributes to your <td> elements in the HTML. | * This requires adding data-label attributes to your <td> elements in the HTML/wikitext. | ||
* E.g., <td data-label="Header Name">Cell Content</td> | * E.g., <td data-label="Header Name">Cell Content</td> or | data-label="Header Name" | Cell Content | ||
* | * Activate by adding class 'responsive-stack' to the table. | ||
*/ | */ | ||
@media screen and (max-width: 767px) { /* Adjust breakpoint as needed */ | @media screen and (max-width: 767px) { /* Adjust breakpoint as needed */ | ||
第226行: | 第228行: | ||
margin-bottom: 0.5em; | margin-bottom: 0.5em; | ||
} | } | ||
table.responsive-stack > tbody > tr:nth-child(odd) > td { | table.responsive-stack > tbody > tr:nth-child(odd) > td { | ||
background-color: transparent; | background-color: transparent; | ||
} | } | ||
table.responsive-stack > tbody > tr:hover > td { | table.responsive-stack > tbody > tr:hover > td { | ||
background-color: #f0f0f0; | background-color: #f0f0f0; | ||
} | } | ||
第237行: | 第239行: | ||
border-bottom: 1px solid #eeeeee; | border-bottom: 1px solid #eeeeee; | ||
position: relative; | position: relative; | ||
padding-left: 50% !important; | padding-left: 50% !important; | ||
text-align: right; | text-align: right; | ||
white-space: normal; | white-space: normal; | ||
} | } | ||
table.responsive-stack td:before { | table.responsive-stack td:before { | ||
content: attr(data-label); | content: attr(data-label); | ||
position: absolute; | position: absolute; | ||
left: 6px; | left: 6px; | ||
width: calc(50% - 12px); | width: calc(50% - 12px); | ||
padding-right: 10px; | padding-right: 10px; | ||
white-space: nowrap; | white-space: nowrap; | ||
font-weight: bold; | font-weight: bold; | ||
text-align: left; | text-align: left; | ||
} | } | ||
第259行: | 第261行: | ||
/* If using .stylish-table with .responsive-stack */ | /* If using .stylish-table with .responsive-stack */ | ||
table.stylish-table.responsive-stack tr { | table.stylish-table.responsive-stack tr { | ||
border: none; | border: none; | ||
box-shadow: 0 1px 3px rgba(0,0,0,0.1); | box-shadow: 0 1px 3px rgba(0,0,0,0.1); | ||
margin-bottom: 0.75em; | margin-bottom: 0.75em; | ||
第265行: | 第267行: | ||
} | } | ||
table.stylish-table.responsive-stack td { | table.stylish-table.responsive-stack td { | ||
border-bottom: 1px dashed #e2e8f0; | border-bottom: 1px dashed #e2e8f0; | ||
} | } | ||
table.stylish-table.responsive-stack td:last-child { | table.stylish-table.responsive-stack td:last-child { | ||
第273行: | 第275行: | ||
/* | /* | ||
* Class to | * Class to set a specific minimum width if `width: auto` makes it too narrow, | ||
* | * while still allowing it to be narrower than full page width. | ||
* The `width: auto` from `wikitable` or `stylish-table` already allows shrinking. | |||
* This class is mainly for guaranteeing a minimum. | |||
*/ | */ | ||
table.wikitable.not-full-width { | table.wikitable.not-full-width, | ||
width: auto; | table.stylish-table.not-full-width { | ||
min-width: 50%; /* Or whatever min-width is appropriate */ | /* width: auto; is inherited or already set */ | ||
max-width: 100%; | min-width: 50%; /* Or whatever min-width is appropriate, e.g., 300px */ | ||
/* max-width: 100%; is inherited or already set */ | |||
} | } | ||
/* | /* | ||
* Emphasize first column (often row headers) | * Emphasize first column (often row headers) | ||
*/ | */ | ||
table.wikitable.emphasize-first-column > tbody > tr > td:first-child { | table.wikitable.emphasize-first-column > tbody > tr > td:first-child, | ||
table.stylish-table.emphasize-first-column > tbody > tr > td:first-child { | |||
font-weight: bold; | font-weight: bold; | ||
background-color: | /* background-color is handled by :nth-child(odd) already, | ||
but you can override if a distinct color is always wanted for the first column */ | |||
} | } | ||
/* | /* Ensure emphasized first column interacts well with zebra striping */ | ||
table.wikitable.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child { | table.wikitable.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child { | ||
background-color: #f0f0f0; /* Slightly darker for odd rows */ | background-color: #f0f0f0; /* Slightly darker for odd rows on wikitable */ | ||
} | |||
table.stylish-table.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child { | |||
background-color: #eff3f7; /* Adjusted for stylish-table's palette */ | |||
} | |||
/* If you want the emphasized first column to have a distinct background | |||
regardless of zebra striping, you might do something like this: | |||
table.wikitable.emphasize-first-column > tbody > tr > td:first-child { | |||
font-weight: bold; | |||
background-color: #e9e9e9 !important; // Use with caution | |||
} | } | ||
*/ | |||
/* ========================================================================== | /* ========================================================================== |
2025年5月12日 (一) 18:58的版本
/* 这里放置的CSS将应用于所有皮肤 */ /* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0 /* 部分代码从https://otomad.wiki/MediaWiki:Common.css中复制粘贴 */ /* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0 */ /* 导入 */ /* 字体 */ @font-face { font-family: 'Yuesong'; src: url('https://cdn.jsdelivr.net/gh/channelwey/ZeroFont@main/Yuesong.woff2') format('woff2'); } @font-face { font-family: 'Huiwen'; src: url('https://cdn.jsdelivr.net/gh/channelwey/ZeroFont@main/汇文明朝体.woff2') format('woff2'); } @font-face { font-family: 'GuZhangHei'; src: url('https://cdn.jsdelivr.net/gh/channelwey/ZeroFont@main/瀞之故障黑体H2.woff2') format('woff2'); } @font-face { font-family: 'Dianzhensong'; src: url('https://static.wikia.nocookie.net/backrooms/images/0/0d/%E7%82%B9%E9%98%B5%E5%AE%8B%E5%AD%97.woff2/revision/latest?cb=20230402095639&format=original&path-prefix=zh') format('woff2'); } /** 需要Debug **/ @font-face { font-family: '7397'; src: url('https://soka.cafe/images/c/cf/7397.ttf') format('truetype'); } /* 换行 */ p { word-break: normal; } /* 表格 */ /* * MediaWiki Table Beautifier CSS (Combined & Revised) * * This set of styles enhances MediaWiki tables, providing a modern look * and improved behavior, especially alongside floated elements like infoboxes. * * Key change for float interaction: * - `table.wikitable` and `table.stylish-table` now use `width: auto;` * and `max-width: 100%;`. This allows the table to shrink to its * content width if space is constrained (e.g., by a float), reducing * unnecessary text wrapping. It will still expand up to the maximum * available width if its content is wide. * * Add this to your wiki's MediaWiki:Common.css page. */ /* == Basic Wikitable Enhancements == */ table.wikitable { margin: 1em 0; border-collapse: collapse; /* MODIFIED FOR BETTER FLOAT INTERACTION & FLEXIBLE WIDTH */ width: auto; /* Allow table to size based on content, up to available width */ max-width: 100%; /* Ensure table doesn't exceed container width */ /* END MODIFICATION */ font-size: 0.9em; border: 1px solid #cccccc; /* box-shadow: 0 1px 3px rgba(0,0,0,0.05); */ /* Subtle shadow - uncomment if desired */ } table.wikitable > tr > th, table.wikitable > * > tr > th { background-color: #f0f0f0; color: #333333; font-weight: bold; text-align: left; padding: 10px 12px; border: 1px solid #cccccc; border-bottom: 2px solid #bbbbbb; } table.wikitable > tr > td, table.wikitable > * > tr > td { padding: 8px 12px; border: 1px solid #dddddd; vertical-align: top; line-height: 1.5; } table.wikitable > caption { font-size: 1.2em; font-weight: bold; margin-bottom: 0.75em; text-align: left; caption-side: top; color: #333333; } table.wikitable > tbody > tr:nth-child(odd) > td { background-color: #f9f9f9; } table.wikitable > tbody > tr:hover > td { background-color: #eef4f8; } /* == Additional Beautifier Classes (Optional) == */ /* * Class for a more "modern" or "stylish" table. * Can be used as class="stylish-table" or class="wikitable stylish-table" */ table.stylish-table { margin: 1em 0; /* Ensure consistent margin if used alone */ border-collapse: collapse; /* Ensure consistent border behavior */ /* ADDED FOR CONSISTENT FLOAT INTERACTION & FLEXIBLE WIDTH */ width: auto; /* Allow table to size based on content */ max-width: 100%; /* Ensure table doesn't exceed container width */ /* END ADDITION */ font-size: 0.9em; /* Consistent font sizing */ border: none; box-shadow: 0 2px 8px rgba(0,0,0,0.1); border-radius: 5px; overflow: hidden; } table.stylish-table > tr > th, table.stylish-table > * > tr > th { background-color: #4a5568; color: #ffffff; border: none; border-bottom: 1px solid #2d3748; padding: 12px 15px; text-align: left; /* Explicitly set text-align */ font-weight: bold; /* Explicitly set font-weight */ } table.stylish-table > tr > td, table.stylish-table > * > tr > td { padding: 10px 15px; /* Consistent padding */ border: none; border-bottom: 1px solid #edf2f7; vertical-align: top; /* Consistent alignment */ line-height: 1.5; /* Consistent line height */ } table.stylish-table > tbody > tr:last-child > td { border-bottom: none; } table.stylish-table > tbody > tr:nth-child(odd) > td { background-color: #f7fafc; } table.stylish-table > tbody > tr:hover > td { background-color: #e2e8f0; } table.stylish-table > caption { font-size: 1.2em; /* Consistent caption style */ font-weight: bold; margin-bottom: 0.75em; text-align: left; caption-side: top; color: #2d3748; padding-top: 0.5em; } /* == Column Alignment Helpers == */ /* Add these classes to th or td elements for specific alignment */ .wikitable .col-align-left, table.wikitable th.col-align-left, table.wikitable td.col-align-left, .stylish-table .col-align-left, table.stylish-table th.col-align-left, table.stylish-table td.col-align-left { text-align: left; } .wikitable .col-align-center, table.wikitable th.col-align-center, table.wikitable td.col-align-center, .stylish-table .col-align-center, table.stylish-table th.col-align-center, table.stylish-table td.col-align-center { text-align: center; } .wikitable .col-align-right, table.wikitable th.col-align-right, table.wikitable td.col-align-right, .stylish-table .col-align-right, table.stylish-table th.col-align-right, table.stylish-table td.col-align-right { text-align: right; } .wikitable .col-valign-top, table.wikitable th.col-valign-top, table.wikitable td.col-valign-top, .stylish-table .col-valign-top, table.stylish-table th.col-valign-top, table.stylish-table td.col-valign-top { vertical-align: top; } .wikitable .col-valign-middle, table.wikitable th.col-valign-middle, table.wikitable td.col-valign-middle, .stylish-table .col-valign-middle, table.stylish-table th.col-valign-middle, table.stylish-table td.col-valign-middle { vertical-align: middle; } .wikitable .col-valign-bottom, table.wikitable th.col-valign-bottom, table.wikitable td.col-valign-bottom, .stylish-table .col-valign-bottom, table.stylish-table th.col-valign-bottom, table.stylish-table td.col-valign-bottom { vertical-align: bottom; } /* == Responsive Table Wrapper == */ /* * For tables that are too wide even with `width: auto;` (e.g., due to many columns or long unbreakable content) * wrap them in a div with this class to enable horizontal scrolling on small screens. * Example: <div class="responsive-table-wrapper"> {| class="wikitable" ... |} </div> */ .responsive-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 1em; } /* * Alternative responsive approach: Stacked table on small screens. * This requires adding data-label attributes to your <td> elements in the HTML/wikitext. * E.g., <td data-label="Header Name">Cell Content</td> or | data-label="Header Name" | Cell Content * Activate by adding class 'responsive-stack' to the table. */ @media screen and (max-width: 767px) { /* Adjust breakpoint as needed */ table.responsive-stack, table.responsive-stack thead, table.responsive-stack tbody, table.responsive-stack th, table.responsive-stack td, table.responsive-stack tr { display: block; } table.responsive-stack thead tr { position: absolute; top: -9999px; left: -9999px; border: none; } table.responsive-stack tr { border: 1px solid #cccccc; margin-bottom: 0.5em; } table.responsive-stack > tbody > tr:nth-child(odd) > td { background-color: transparent; } table.responsive-stack > tbody > tr:hover > td { background-color: #f0f0f0; } table.responsive-stack td { border: none; border-bottom: 1px solid #eeeeee; position: relative; padding-left: 50% !important; text-align: right; white-space: normal; } table.responsive-stack td:before { content: attr(data-label); position: absolute; left: 6px; width: calc(50% - 12px); padding-right: 10px; white-space: nowrap; font-weight: bold; text-align: left; } table.responsive-stack td:last-child { border-bottom: 0; } /* If using .stylish-table with .responsive-stack */ table.stylish-table.responsive-stack tr { border: none; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 0.75em; border-radius: 3px; } table.stylish-table.responsive-stack td { border-bottom: 1px dashed #e2e8f0; } table.stylish-table.responsive-stack td:last-child { border-bottom: none; } } /* * Class to set a specific minimum width if `width: auto` makes it too narrow, * while still allowing it to be narrower than full page width. * The `width: auto` from `wikitable` or `stylish-table` already allows shrinking. * This class is mainly for guaranteeing a minimum. */ table.wikitable.not-full-width, table.stylish-table.not-full-width { /* width: auto; is inherited or already set */ min-width: 50%; /* Or whatever min-width is appropriate, e.g., 300px */ /* max-width: 100%; is inherited or already set */ } /* * Emphasize first column (often row headers) */ table.wikitable.emphasize-first-column > tbody > tr > td:first-child, table.stylish-table.emphasize-first-column > tbody > tr > td:first-child { font-weight: bold; /* background-color is handled by :nth-child(odd) already, but you can override if a distinct color is always wanted for the first column */ } /* Ensure emphasized first column interacts well with zebra striping */ table.wikitable.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child { background-color: #f0f0f0; /* Slightly darker for odd rows on wikitable */ } table.stylish-table.emphasize-first-column > tbody > tr:nth-child(odd) > td:first-child { background-color: #eff3f7; /* Adjusted for stylish-table's palette */ } /* If you want the emphasized first column to have a distinct background regardless of zebra striping, you might do something like this: table.wikitable.emphasize-first-column > tbody > tr > td:first-child { font-weight: bold; background-color: #e9e9e9 !important; // Use with caution } */ /* ========================================================================== End of MediaWiki Table Beautifier CSS ========================================================================== */ /* 展开和折叠时的过渡效果 */ /*.mw-collapsible { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }*/ /* 修改展开状态下的最大高度 */ /*.mw-collapsible.mw-collapsed { max-height: none; }*/ /* 鼠标触碰 */ .custom-link { text-decoration: none; color: none; } .custom-link:hover { text-decoration: underline; color: blue; } /* 左右分栏 */ #left-column { float: left; width: 49%; } #right-column { float: right; width: 49%; } /* 左右分栏扩展 */ #left-column-full { float: left; width: 50%; } #right-column-full { float: right; width: 50%; } #middle-column-full { float: middle; width: 50%; } #left-column-0.3 { float: left; width: 29%; } #left-column-0.7 { float: left; width: 69%; } #right-column-0.3 { float: left; width: 29%; } #right-column-0.7 { float: left; width: 69%; } /* 以下代码均从https://otomad.wiki/MediaWiki:Common.css复制 */ /* 加载Material icons */ @font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; font-display: block; src: url(https://gstatic.loli.net/s/materialicons/v140/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2'); } .material-icons, .md, .md-lg, .md-md, .md-sm { font-family: 'Material Icons'; font-weight: normal; font-style: normal; font-size: 24px; /* Preferred icon size */ display: inline-block; line-height: 1; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; user-select: none; /* Support for all WebKit browsers. */ -webkit-font-smoothing: antialiased; /* Support for Safari and Chrome. */ text-rendering: optimizeLegibility; /* Support for Firefox. */ -moz-osx-font-smoothing: grayscale; /* Support for IE. */ font-feature-settings: 'liga'; } .md-lg { font-size: 60px; } .md-md { font-size: 30px; } .md-sm { font-size: 10px; } /* 隐藏首页按钮和标题 */ body.page-首页 #firstHeading, body.page-首页 li#ca-talk, body.page-首页 li#ca-watch, body.page-首页 li#ca-unwatch, body.page-首页 li#ca-history, body.page-首页 li#ca-nstab-main, body.page-首页 li#ca-viewsource, body.page-首页 #catlinks-sidebar, body.page-首页 #mw-normal-catlinks, body.page-首页 #ca-view { display: none !important; } body.page-首页 #siteSub { display: none; } body.page-讨论版块 #ca-talk, body.page-讨论版块 #ca-watch, body.page-讨论版块 #ca-unwatch, body.page-讨论版块 #ca-history, body.page-讨论版块 #ca-nstab-main, body.page-讨论版块 #ca-viewsource, body.page-讨论版块 #catlinks-sidebar, body.page-讨论版块 #mw-normal-catlinks, body.page-讨论版块 #ca-view { display: none !important; } .page-留言板 #mw-wrapper #flowthread { margin-top: 0; display: flex; flex-wrap: wrap; flex-direction: column-reverse; margin: 24px 0 4px; } .page-留言板 #mw-wrapper #flowthread .comment-paginator { border: 0; display: flex; justify-content: flex-end; } .page-留言板 #mw-wrapper #flowthread .comment-paginator span { display: flex; border: 0; width: 36px; height: 36px; padding: 0; margin: 0; text-align: center; align-items: center; justify-content: center; font-size: 14px; border-radius: 0; background-color: #fafafa; box-shadow: inset 0px 10px 4px -4px rgba(0, 0, 0, 0.04); } .page-留言板 #mw-wrapper #flowthread .comment-paginator span[current] { color: white; background-color: #fb7299; box-shadow: 0 2px 4px rgba(240, 110, 142, 0.6); font-weight: bold; border-radius: 4px !important; } .page-留言板 #mw-wrapper #flowthread .comment-paginator span:first-child{ border-radius: 4px 0 0 4px; } .page-留言板 #mw-wrapper #flowthread .comment-paginator span:last-child{ border-radius: 0 4px 4px 0; } .res-img img { max-width:100%; height:auto; } /* 链接列表的转载标记 */ .repost-circle{ display: inline-block; margin-left: 5px; border: solid 1px; border-radius: 100px; padding: 3px; font-size: 12px; line-height: 1; color: #e06386; border: 1px #e06386 solid; } .repost-circle a.external{ background: none!important; padding-right: 0px!important; color: #e06386!important; box-sizing: border-box!important; } /* 本段内容来自萌娘百科 https://zh.moegirl.org.cn/MediaWiki:Gadget-site-styles.css 感谢贡献!*/ /* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0 */ /* 黑幕模板配合CSS */ /* 把这几行单独拎出来写,否则会被Firefox合并到“.heimu a”这条规则,然后又被上面的“点过外链不变色”规则override */ .heimu, .heimu rt { background-color: #252525; } span.heimu a.external, span.heimu a.external:visited, span.heimu a.extiw, span.heimu a.extiw:visited { color: #252525; } .heimu, .heimu a, a .heimu, .heimu a.new { color: #252525; text-shadow: none; } body:not(.heimu_toggle_on) .heimu:hover, body:not(.heimu_toggle_on) .heimu:active, body:not(.heimu_toggle_on) .heimu.off { transition: color .13s linear; color: white; } body:not(.heimu_toggle_on) .heimu:hover a, body:not(.heimu_toggle_on) a:hover .heimu, body:not(.heimu_toggle_on) .heimu.off a, body:not(.heimu_toggle_on) a:hover .heimu.off { transition: color .13s linear; color: lightblue; } body:not(.heimu_toggle_on) .heimu.off .new, body:not(.heimu_toggle_on) .heimu.off .new:hover, body:not(.heimu_toggle_on) .new:hover .heimu.off, body:not(.heimu_toggle_on) .heimu:hover .new { transition: color .13s linear; color: #FCC; } /* info类模板 */ .infoBox { margin: 10px auto; width: 80%; box-shadow: 0 1px 3px 0px rgb(0 0 0 / 20%); border-radius: 4px; } @media screen and (max-width: 850px) { .infoBox { float: unset !important; width: 100% !important; clear: both; }} .infoBox a, p{ word-break: break-all; } .infoBoxTitle { margin: 3px auto; padding: 6px 0 0 0; text-align: center; font-weight: 700; } .infoBoxIcon { display: table-cell; padding: 2px 0 2px .5em; vertical-align: middle; } .infoBoxText { display: table-cell; padding: .25em .5em .25em 1.3em; width: 100%; vertical-align: middle; } .infoBoxContent { border: 1px solid #ddd; border-left-width: 0; background: #fbfbfb; } .infoBoxBelow { margin: 0 auto; padding: 0; text-align: center; } /* wikitable green */ table.wikitable-green { background: #c9f6e1 } .wikitable-green th { background: #13ec93 } .wikitable-green td { background: #f3f3f3 } /* 教程链接列表 */ /* 目前全部移动到 https://otomad.wiki/Template:链接列表/style.css 下 .tutorial-links { width: 100%; margin-bottom: 6px; } .tutorial-links>tbody>tr>td:first-child { text-align: center; width: 35px; } .tutorial-links>tbody>tr>td:first-child>span { border: 1px #e06386 solid; border-radius: 4px; color: #e06386; font-size: 12px; height: 14px; padding: 2px 4px; } .tutorial-links>tbody>tr>td:nth-child(2) { padding-left: 6px; } .tutorial-links>tbody>tr>td:nth-child(3) { font-size: 12px; color: grey; text-align: right; } */ /*scrollUpButton样式*/ img#scrollUpButton, img#scrollDownButton { transition: transform 200ms; } img#scrollUpButton:hover { transform: scale(1.1); } img#scrollUpButton:active { transform: scale(.95); } img#scrollDownButton:hover { transform: rotate(180deg)scale(1.1) !important; } img#scrollDownButton:active { transform: rotate(180deg)scale(.95) !important; } /* 从https://zh.wikipedia.org/wiki/MediaWiki:Common.css引入的样式 */ /* Style for horizontal lists (separator following item) */ .hlist dl, .hlist ol, .hlist ul { margin: 0; } .hlist dd, .hlist dt, .hlist li { display: inline; margin: 0; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Generate interpuncts */ .hlist dt:after { content: " :"; } .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* for IE 8 */ .hlist dd.nopunct:after, .hlist dt.nopunct:after, .hlist li.nopunct:after { content: none; } /* Add parens around nested lists */ .hlist dl dl:before, .hlist ol ol:before, .hlist ul ul:before { content: "("; } .hlist dl dl:after, .hlist ol ol:after, .hlist ul ul:after { content: ")"; } /* Put numbers in ordered lists */ .hlist.hnum ol li { counter-increment: level1; } .hlist.hnum ol li:before { content: counter(level1) " "; } .hlist.hnum ol ol li { counter-increment: level2; } .hlist.hnum ol ol li:before { content: counter(level2) " "; } /* Default style for navigation boxes */ .navbox { /* Navbox container style */ border: 1px solid #a2a9b1; width: 100%; margin: auto; clear: both; font-size: 88%; text-align: center; padding: 1px; } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox th, .navbox-title, .navbox-abovebelow { text-align: center; /* Title and above/below styles */ padding-left: 1em; padding-right: 1em; } th.navbox-group { /* Group style */ white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background: #fdfdfd; /* Background color */ } .navbox-list { border-color: #fdfdfd; /* Must match background color */ } .navbox th, .navbox-title { background: #ccccff; /* Level 1 color */ } .navbox-abovebelow, th.navbox-group, .navbox-subgroup .navbox-title { background: #ddddff; /* Level 2 color */ } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { background: #e6e6ff; /* Level 3 color */ } .navbox-even { background: #f7f7f7; /* Even row striping */ } .navbox-odd { background: transparent; /* Odd row striping */ } table.navbox + table.navbox { /* Single pixel border between adjacent navboxes */ margin-top: -1px; /* (doesn't work for IE6, but that's okay) */ } .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; /* Adjust hlist padding in navboxes */ } .navbox .hlist dd, .navbox .hlist dt, .navbox .hlist li { white-space: nowrap; /* Nowrap list items in navboxes */ } .navbox .hlist dd dl, .navbox .hlist dt dl, .navbox .hlist li ol, .navbox .hlist li ul { white-space: normal; /* But allow parent list items to be wrapped */ } ol + table.navbox, ul + table.navbox { margin-top: 0.5em; /* Prevent lists from clinging to navboxes */ } /* Default styling for Navbar template */ .navbar { display: inline; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } /* Navbar styling when nested in navbox */ .navbox .navbar { display: block; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; width: 8em; } /* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript in [[MediaWiki:Common.js]] are styled here so they can be customised. */ .collapseButton { /* @noflip */ float: right; font-weight: normal; /* @noflip */ margin-left: 0.5em; /* @noflip */ text-align: right; width: auto; } /* In navboxes, the show/hide button balances the v·d·e links from [[Template:Navbar]], so they need to be the same width. */ .navbox .collapseButton { width: 8em; } /*个人资料设置页*/ .profile-tab{ background-color: unset; padding: 9px 10px 10px; font-size: 16px; } .profile-tab-on a:visited{ color: #000 !important; } .profile-tab a:visited{ color: #000 !important; } .profile-tab-on a, .profile-tab a{ color: #000; } .profile-tab-on{ background-color: unset; padding: 9px 10px 10px; font-size: 16px; border-bottom: solid 2px #FB7299; } .eye-container .title{ color: #000; font-size: 14px; } .eye-container{ box-shadow: none; opacity: 1.0; } /*提示框*/ .mw-notification{ border: none; border-radius: 4px; box-shadow: 0 0 12px rgb(0 0 0 / 15%); } /*修复和修改infobox*/ @media screen and (max-width: 850px){ .infobox{ width: 100%; margin: 0em 0em 2em; }} @media screen and (min-width: 851px){ .infobox{ width: 300px; margin: 1em 0 30px 30px; }} .infoBoxContent{ border: 0; border-radius: 4px; } .fieldset{ border: 1px solid #c7c7c7; border-radius: 4px; padding: 0.35em 1.625em 0.75em; } textarea { border-radius: 4px; box-shadow: none; background-color: transparent; border: 1px solid var(--border-color-base--darker); outline: none; } textarea:hover { border: 1px solid #fb7299; background: transparent; } textarea:focus-visible { box-shadow: inset 0 0 0 1px #fb7299; border: 1px solid #fb7299; background: transparent; } /*导航盒*/ .navbox th, .navbox-title { background: #FCA6BF; } .navbox-abovebelow, th.navbox-group, .navbox-subgroup .navbox-title { background: #FDBFD0; } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { background: #FED7E2; } .navbox-even { background: #FFF0F4; } .navbox{ border: 0; } /* 资料卡 */ #profile-toggle-button{ background-color: #fb7299; border-radius: 2px; padding: 5px 10px; transition: box-shadow 200ms,transform 200ms; box-shadow: 0 4px 4px rgb(251 114 153 / 30%); } #profile-toggle-button a { font-weight: bold; } #profile-toggle-button:hover { box-shadow: 0 9px 9px rgb(251 114 153 / 30%); } #profile-toggle-button:active { box-shadow: 0 0 0 rgb(251 114 153 / 30%); transform: scale(.95); background-color: #bd5774; } #profile-toggle-button:focus, #profile-toggle-button:focus-visible, #profile-toggle-button:focus-within { box-shadow: inset 0 0 0 1px #fb7299, inset 0 0 0 2px #fff; outline: 1px solid transparent; } .profile-on{ background-color: #fff6c3; padding: 5px 10px 5px 10px; border-radius: 4px; border: none; } /*按钮动画*/ .oo-ui-buttonElement.oo-ui-widget-enabled > .oo-ui-buttonElement-button{ transition: background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms,transform 200ms } /*圆形头像*/ #profile-image img{ border-radius: 50%; padding: 4px; border: none; width: 75px; } .c-avatar img{ border-radius: 50%; } .profile-info img { border-radius: 50%; } /*解决cite定位内文字显示为斜体的问题*/ cite { font-style: normal; } /* 首页dpl列表相关样式 */ .mini-block { width: 100%; min-width: 20%; padding: 16px; margin-top: 8px; box-shadow: 0 3px 6px rgba(0,0,0,0.04); border: 1px solid; border-color: rgba(0,0,0,0.05); border-radius: 8px; word-break: break-all; box-sizing: border-box; } .mini-block p { margin: 0 0 1em 0; } .mini-block p:last-child { margin: 0; } .mini-block-container { width: 100%; display: flex; justify-content: space-between; gap: 8px; box-sizing: border-box; } .mini-block-list a{ color: #212121; } .mini-block-list a.new{ color: #212121; } .mini-block-list a:hover{ color: #00aeec; } .mini-block-list li a:hover { color: #212121; } .mini-block-container li{ border-radius: 4px; margin: 0; list-style: none; cursor: pointer; transition: background cubic-bezier(0.22,0.58,0.12,0.98) 0.4s; } .mini-block-title { font-size: 24px; font-weight: 500; } @media screen and (min-width: 851px) { .mini-block-container li:hover { background: #0000000d; } .mini-block-container li:hover a { transform: translateX(5px); } } .mini-block-container ul { margin: 0; padding: 0; } .mini-block-container li a { padding: .5em .4em; display: inline-block; width: 100%; transition: transform cubic-bezier(0.22,0.58,0.12,0.98) 0.4s; } @media screen and (max-width: 850px) { .mini-block { align-self: stretch; width: auto; } .mini-block-container { flex-direction: column; } } /*针对移动端用户页的竖向排列*/ @media screen and (max-width: 850px){ #user-page-left { width: 100%; float: none;} #user-page-right { width: 100%; float: none; } } /*移动端导航栏子级标题竖向排列*/ @media screen and (max-width: 850px){ th.navbox-group { white-space: normal; } th.navbox-group div { line-height: 1.3em; width: 10px; margin: 10px 0; } } /* 留言板FlowThread隐藏热门 */ .page-留言板 .comment-container-top { display: none; } /* 上传文件InfoBox排版增强修复 */ .mw-special-Upload i.md { display: flex; } .mw-special-Upload .infoBoxText li { margin-top: 6px; margin-bottom: 0; } /* 设置原生html组件的颜色 */ body { accent-color: #ea6b8f; } /* 现代化FlowThread主题 */ #flowthread .comment-submit { font-family: inherit; color: white; border: 0; background-color: #fb7299; background-color: var(--color-primary); text-shadow: none; top: 0; right: 0; border-radius: 0 0 var(--border-radius--small) 0; } #flowthread .comment-toolbar { height: 36px; border: 0; border-top: 1px solid var(--border-color-base--darker); background-color: #f8f9fa; background-color: var(--color-surface-2); border-radius: 0 0 var(--border-radius--small) var(--border-radius--small); margin-bottom: 0; } #flowthread .comment-thread { border: 0; padding: 0; } #flowthread .comment-avatar { border-radius: 100%; overflow: hidden; } #flowthread .comment-text { font-size: inherit; } #flowthread .comment-user, .comment-user a { font-size: inherit; color: var(--color-base--subtle); } #flowthread .comment-footer { font-size: 14px; } #flowthread .flowthread-btn-wikitext, #flowthread .flowthread-btn-preview { width: 36px; height: 36px; margin: 0; box-shadow: none; background-color: transparent; border-radius: 100%; border: 0 !important; } #flowthread .flowthread-btn-preview { transform: translateX(-100%); } #flowthread .flowthread-btn-wikitext.on+.flowthread-btn-preview { transform: none; } #flowthread .flowthread-btn-wikitext:hover, #flowthread .flowthread-btn-preview:hover { background-color: var(--background-color-quiet--hover); } #flowthread .comment-submit { height: inherit; } #flowthread .comment-replybox > .comment-body { border: 1px solid var(--border-color-base--darker); border-radius: var(--border-radius--small); padding-left: 0; margin-left: 60px; } #flowthread .comment-replybox > .comment-body:has(textarea:focus-visible) { border-color: var(--color-primary); } #flowthread .comment-replybox > .comment-body textarea, #flowthread .comment-preview { background-color: transparent; border: 0; box-shadow: none; } #flowthread .comment-post, #flowthread .comment-container > .comment-thread { padding: 12px 0; } #flowthread .comment-reply::before, #flowthread .comment-like::before, #flowthread .comment-report::before, #flowthread .comment-delete::before { display: inline-block; background-image: none; direction: ltr; font-family: 'Material Icons'; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-style: normal; font-weight: normal; letter-spacing: normal; line-height: 1; text-align: center; text-indent: 0; text-rendering: optimizeLegibility; text-transform: none; user-select: none; vertical-align: middle; white-space: nowrap; word-wrap: normal; width: 18px; height: 18px; color: black; font-size: 18px; opacity: var(--opacity-icon-base); border-radius: 100%; } #flowthread .comment-reply::before { content: 'reply'; } #flowthread .comment-like::before { content: 'favorite'; } #flowthread .comment-report::before { content: 'flag'; } #flowthread .comment-delete::before { content: 'delete'; } #flowthread .comment-like[liked], #flowthread .comment-report[reported] { color: var(--color-primary); } #flowthread .comment-like[liked]::before, #flowthread .comment-report[reported]::before { opacity: 1; color: var(--color-primary); }