Saltar para o conteúdo

Predefinição:Hlist/Testes/styles.css

Origem: Wikipédia, a enciclopédia livre.
/* {{Pp-protected|reason=corresponder aos parentais|small=yes}} */
/* 
 * Os estilos de hlist são definidos em principal e Minerva e diferem em Minerva. As   
 * definições atuais aqui (2023-01-01) são suficientes para sobrescrever Minerva
 * sem o uso da classe separada por hlist. Os estilos mais problemáticos estavam
 * relacionados à margem, preenchimento e marcador. Verifique os arquivos listados em
 * [[MediaWiki talk:Common.css/to do#hlist-separated]]
 */
/*
 * TODO: Quando a maioria dos leitores apoiar (ou em algum mundo bonito 
 * em que o suporte de grau C esteja acima do limite mínimo), use :is()
 */
.hlist dl,
.hlist ol,
.hlist ul {
	margin: 0;
	padding: 0;
}

/* Exibe itens da lista em linha */
.hlist dd,
.hlist dt,
.hlist li {
	/*
	 * não confie na nota que diz que a margem não funciona com inline
	 *removendo margin: 0 faz com que dds tenha margens novamente
	 * Também queremos redefinir a margem direita em Minerva
	 */
	margin: 0; 
	display: inline;
}

/* Exibe listas de nível superior solicitadas em linha */
.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
/* Exibe listas aninhadas em linha */
.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;
}

/* Oculta itens de lista vazias */
.hlist .mw-empty-li {
	display: none;
}

/* TODO: :not() talvez possa ser usado aqui para remover a regra posterior. teste ingênuo
  * parece funcionar. mais testes necessários. igual a:
 *.hlist dt:not(:last-child)::after {
 *	content: ": ";
 *}
 *.hlist dd:not(:last-child)::after,
 *.hlist li:not(:last-child)::after {
 *	content: " · ";
 *	font-weight: bold;
 *}
 */
/* Gera interpontos */
.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;
}

/* Adiciona parênteses em torno de listas aninhadas */
.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;
}

/* Coloca ordinais na frente dos itens da lista ordenada */
.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";
}