Template:Hlist/styles.css

From HIBIKIFORUM
Jump to navigation Jump to search
/* {{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]]
 */
.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: "\a0· ";
	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";
}

/* Variation for runtime test. */
.runtime dl,
.runtime ol,
.runtime ul {
	margin: 0;
	padding: 0;
}

/* Display list items inline */
.runtime dd,
.runtime dt,
.runtime 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 */
.runtime.inline,
.runtime.inline dl,
.runtime.inline ol,
.runtime.inline ul,
/* Display nested lists inline */
.runtime dl dl,
.runtime dl ol,
.runtime dl ul,
.runtime ol dl,
.runtime ol ol,
.runtime ol ul,
.runtime ul dl,
.runtime ul ol,
.runtime ul ul {
	display: inline;
}

/* Hide empty list items */
.runtime .mw-empty-li {
	display: none;
}

/* Generate interpuncts */
.runtime dt::after {
	content: ": ";
}

.runtime dd::after,
.runtime li::after {
	content: "\a0\002b\0020";
	font-weight: normal;
}

.runtime dd:last-child::after,
.runtime dt:last-child::after,
.runtime li:last-child::after {
	content: none;
}

/* Add parentheses around nested lists */
.runtime dd dd:first-child::before,
.runtime dd dt:first-child::before,
.runtime dd li:first-child::before,
.runtime dt dd:first-child::before,
.runtime dt dt:first-child::before,
.runtime dt li:first-child::before,
.runtime li dd:first-child::before,
.runtime li dt:first-child::before,
.runtime li li:first-child::before {
	content: " (";
	font-weight: normal;
}

.runtime dd dd:last-child::after,
.runtime dd dt:last-child::after,
.runtime dd li:last-child::after,
.runtime dt dd:last-child::after,
.runtime dt dt:last-child::after,
.runtime dt li:last-child::after,
.runtime li dd:last-child::after,
.runtime li dt:last-child::after,
.runtime li li:last-child::after {
	content: ")";
	font-weight: normal;
}

/* Put ordinals in front of ordered list items */
.runtime ol {
	counter-reset: listitem;
}

.runtime ol > li {
	counter-increment: listitem;
}

.runtime ol > li::before {
	content: " " counter(listitem) "\a0";
}

.runtime dd ol > li:first-child::before,
.runtime dt ol > li:first-child::before,
.runtime li ol > li:first-child::before {
	content: " (" counter(listitem) "\a0";
}