Eu quero remover todo o recuo de ul
. Tentei configurar margin
, padding
, text-indent
a 0
, mas sem sucesso. Parece que definir text-indent
um número negativo funciona - mas essa é realmente a única maneira de remover o recuo?
Eu quero remover todo o recuo de ul
. Tentei configurar margin
, padding
, text-indent
a 0
, mas sem sucesso. Parece que definir text-indent
um número negativo funciona - mas essa é realmente a única maneira de remover o recuo?
Respostas:
Defina o estilo da lista e o preenchimento esquerdo para nada.
ul {
list-style: none;
padding-left: 0;
}
Para manter os marcadores, você pode substituir o list-style: none
com list-style-position: inside
ou a abreviação list-style: inside
:
ul {
list-style-position: inside;
padding-left: 0;
}
list-style-position: outside; padding-left: 1em;
o<ul>
1em
coisa seja um pouco mágica ... E ainda resta um pouco de indentação.
Minha solução preferida para remover o recorte <ul> é uma linha simples de CSS:
ul { padding-left: 1.2em; }
<p>A leading line of paragraph text</p>
<ul>
<li>Bullet points align with paragraph text above.</li>
<li>Long list items wrap around correctly. Long list items wrap around correctly. Long list items wrap around correctly. Long list items wrap around correctly. Long list items wrap around correctly. </li>
<li>List item 3</li>
</ul>
<p>A trailing line of paragraph text</p>
Esta solução não é apenas leve, mas tem várias vantagens:
Informações herdadas: nas
versões 8 e abaixo do IE, você deve usar a margem esquerda:
ul { margin-left: 1.2em; }
ul { padding-left:1.2em; margin-left: 0; }
Adicione isso ao seu CSS:
ul { list-style-position: inside; }
Isso colocará os elementos li no mesmo recuo que outros parágrafos e texto.
Ref: http://www.w3schools.com/cssref/pr_list-style-position.asp
list-style-position: inside
alinha o texto da segunda e de todas as linhas seguintes com o marcador. Isso certamente não é desejável.
display:table-row;
também se livrará do recuo, mas removerá as balas.
Retire o estofamento:
padding-left: 0;
Você pode fornecer um link ? obrigado Eu posso dar uma olhada Muito provavelmente o seu seletor de css não é forte o suficiente ou você pode tentar
padding:0!important;
!important
is EVIL
Eu tenho o mesmo problema com um rodapé que estou tentando dividir. Descobri que isso funcionou para mim, tentando algumas das sugestões acima combinadas:
footer div ul {
list-style-position: inside;
padding-left: 0;
}
Isso parece mantê-lo à esquerda sob meu h1 e os pontos de bala dentro da div e não fora à esquerda.
Demonstração ao vivo: https://jsfiddle.net/h8uxmoj4/
ol, ul {
padding-left: 0;
}
li {
list-style: none;
padding-left: 1.25rem;
position: relative;
}
li::before {
left: 0;
position: absolute;
}
ol {
counter-reset: counter;
}
ol li::before {
content: counter(counter) ".";
counter-increment: counter;
}
ul li::before {
content: "●";
}
Como a pergunta original não é clara sobre seus requisitos, tentei resolver esse problema dentro das diretrizes definidas por outras respostas. Em particular:
Eu também queria uma solução que não dependesse de navegadores concordando com a quantidade de preenchimento a ser usada. Eu adicionei uma lista ordenada para completar.
Fazendo isso em linha, defino a margem como 0 (ul style = "margin: -0px"). As marcas estão alinhadas com o parágrafo sem saliência.