Difference between revisions of "Template:Hlist/styles.css"
(Created page with ".mw-parser-output .hlist ul, .mw-parser-output .hlist ol { padding-left: 0; } →reset hlist margins of Minerva: .mw-parser-output .hlist li, .mw-parser-output .hlist dd, ....") |
m (1 revision imported) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | . | + | /* {{pp-protected|reason=match parent|small=yes}} */ |
− | . | + | /* |
− | padding | + | * hlist styles are defined in core and Minerva and differ in Minerva. The |
+ | * current definitions here (2023-01-01) are sufficient to override Minerva | ||
+ | * without use of the hlist-separated class. The most problematic styles were | ||
+ | * related to margin, padding, and the bullet. Check files listed at | ||
+ | * [[MediaWiki talk:Common.css/to do#hlist-separated]] | ||
+ | */ | ||
+ | /* | ||
+ | * TODO: When the majority of readership supports it (or some beautiful world | ||
+ | * in which grade C support is above the minimum threshold), use :is() | ||
+ | */ | ||
+ | .hlist dl, | ||
+ | .hlist ol, | ||
+ | .hlist ul { | ||
+ | margin: 0; | ||
+ | padding: 0; | ||
} | } | ||
− | /* | + | |
− | + | /* Display list items inline */ | |
− | + | .hlist dd, | |
− | + | .hlist dt, | |
− | margin-right: 0; | + | .hlist li { |
+ | /* | ||
+ | * don't trust the note that says margin doesn't work with inline | ||
+ | * removing margin: 0 makes dds have margins again | ||
+ | * We also want to reset margin-right in Minerva | ||
+ | */ | ||
+ | margin: 0; | ||
+ | display: inline; | ||
} | } | ||
− | .mw- | + | |
− | . | + | /* Display requested top-level lists inline */ |
+ | .hlist.inline, | ||
+ | .hlist.inline dl, | ||
+ | .hlist.inline ol, | ||
+ | .hlist.inline ul, | ||
+ | /* Display nested lists inline */ | ||
+ | .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; | ||
+ | } | ||
+ | |||
+ | /* Hide empty list items */ | ||
+ | .hlist .mw-empty-li { | ||
+ | display: none; | ||
+ | } | ||
+ | |||
+ | /* TODO: :not() can maybe be used here to remove the later rule. naive test | ||
+ | * seems to work. more testing needed. like so: | ||
+ | *.hlist dt:not(:last-child)::after { | ||
+ | * content: ": "; | ||
+ | *} | ||
+ | *.hlist dd:not(:last-child)::after, | ||
+ | *.hlist li:not(:last-child)::after { | ||
+ | * content: " · "; | ||
+ | * font-weight: bold; | ||
+ | *} | ||
+ | */ | ||
+ | /* Generate interpuncts */ | ||
+ | .hlist dt::after { | ||
+ | content: ": "; | ||
+ | } | ||
+ | |||
+ | .hlist dd::after, | ||
+ | .hlist li::after { | ||
content: " · "; | content: " · "; | ||
font-weight: bold; | font-weight: bold; | ||
} | } | ||
− | + | ||
− | + | .hlist dd:last-child::after, | |
− | + | .hlist dt:last-child::after, | |
− | + | .hlist li:last-child::after { | |
− | |||
− | |||
− | |||
content: none; | content: none; | ||
} | } | ||
+ | |||
/* Add parentheses around nested lists */ | /* Add parentheses around nested lists */ | ||
− | + | .hlist dd dd:first-child::before, | |
− | + | .hlist dd dt:first-child::before, | |
− | + | .hlist dd li:first-child::before, | |
− | + | .hlist dt dd:first-child::before, | |
+ | .hlist dt dt:first-child::before, | ||
+ | .hlist dt li:first-child::before, | ||
+ | .hlist li dd:first-child::before, | ||
+ | .hlist li dt:first-child::before, | ||
+ | .hlist li li:first-child::before { | ||
content: " ("; | content: " ("; | ||
font-weight: normal; | font-weight: normal; | ||
} | } | ||
− | + | ||
− | + | .hlist dd dd:last-child::after, | |
− | + | .hlist dd dt:last-child::after, | |
− | + | .hlist dd li:last-child::after, | |
− | content: ") "; | + | .hlist dt dd:last-child::after, |
+ | .hlist dt dt:last-child::after, | ||
+ | .hlist dt li:last-child::after, | ||
+ | .hlist li dd:last-child::after, | ||
+ | .hlist li dt:last-child::after, | ||
+ | .hlist li li:last-child::after { | ||
+ | content: ")"; | ||
font-weight: normal; | font-weight: normal; | ||
} | } | ||
+ | |||
/* Put ordinals in front of ordered list items */ | /* Put ordinals in front of ordered list items */ | ||
− | + | .hlist ol { | |
− | |||
counter-reset: listitem; | counter-reset: listitem; | ||
} | } | ||
− | + | ||
− | + | .hlist ol > li { | |
counter-increment: listitem; | counter-increment: listitem; | ||
} | } | ||
− | + | ||
− | + | .hlist ol > li::before { | |
− | content: " " counter(listitem) " " | + | content: " " counter(listitem) "\a0"; |
− | |||
} | } | ||
− | + | ||
− | + | .hlist dd ol > li:first-child::before, | |
− | + | .hlist dt ol > li:first-child::before, | |
− | + | .hlist li ol > li:first-child::before { | |
− | content: " (" counter(listitem) " "; | + | content: " (" counter(listitem) "\a0"; |
} | } |
Latest revision as of 00:37, 19 January 2024
/* {{pp-protected|reason=match parent|small=yes}} */
/*
* hlist styles are defined in core and Minerva and differ in Minerva. The
* current definitions here (2023-01-01) are sufficient to override Minerva
* without use of the hlist-separated class. The most problematic styles were
* related to margin, padding, and the bullet. Check files listed at
* [[MediaWiki talk:Common.css/to do#hlist-separated]]
*/
/*
* TODO: When the majority of readership supports it (or some beautiful world
* in which grade C support is above the minimum threshold), use :is()
*/
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
}
/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
/*
* don't trust the note that says margin doesn't work with inline
* removing margin: 0 makes dds have margins again
* We also want to reset margin-right in Minerva
*/
margin: 0;
display: inline;
}
/* Display requested top-level lists inline */
.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
/* Display nested lists inline */
.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;
}
/* Hide empty list items */
.hlist .mw-empty-li {
display: none;
}
/* TODO: :not() can maybe be used here to remove the later rule. naive test
* seems to work. more testing needed. like so:
*.hlist dt:not(:last-child)::after {
* content: ": ";
*}
*.hlist dd:not(:last-child)::after,
*.hlist li:not(:last-child)::after {
* content: " · ";
* font-weight: bold;
*}
*/
/* 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;
}
/* Add parentheses around nested lists */
.hlist dd dd:first-child::before,
.hlist dd dt:first-child::before,
.hlist dd li:first-child::before,
.hlist dt dd:first-child::before,
.hlist dt dt:first-child::before,
.hlist dt li:first-child::before,
.hlist li dd:first-child::before,
.hlist li dt:first-child::before,
.hlist li li:first-child::before {
content: " (";
font-weight: normal;
}
.hlist dd dd:last-child::after,
.hlist dd dt:last-child::after,
.hlist dd li:last-child::after,
.hlist dt dd:last-child::after,
.hlist dt dt:last-child::after,
.hlist dt li:last-child::after,
.hlist li dd:last-child::after,
.hlist li dt:last-child::after,
.hlist li li:last-child::after {
content: ")";
font-weight: normal;
}
/* Put ordinals in front of ordered list items */
.hlist ol {
counter-reset: listitem;
}
.hlist ol > li {
counter-increment: listitem;
}
.hlist ol > li::before {
content: " " counter(listitem) "\a0";
}
.hlist dd ol > li:first-child::before,
.hlist dt ol > li:first-child::before,
.hlist li ol > li:first-child::before {
content: " (" counter(listitem) "\a0";
}