順序付けられていないリストアイテムからインデントを削除する方法は?


260

からすべてのインデントを削除したいul。私は、設定しようとしたmarginpaddingtext-indent0、しかし無駄。text-indent負の数に設定するとうまくいくようですが、それがインデントを削除する唯一の方法ですか?


HTMLとCSSなしで言うのは難しいですが、ルールで構成されるCSSリセット/正規化を使用しますul {padding:0; margin:0;}は、ほとんどの場合トリックを行います。テキストインデントはそれとは関係がないと私は確信しています。
Jawad

あなたが実際に何をしているのかを見ないと、問題が何であるかを言うのは難しいです。ulのマージンとパディングの両方を0に設定すると、クロスブラウザで動作するはずです。
なくた

6
「動作しませんでした。CSSリセットを使用できません。私の変更は、60人以上の人が取り組んでいる巨大なWebフレームワークの一部です」-はははははは。あなたがあなたの質問を明確にしていないより!
ジャワド

回答:


416

リストのスタイルと左パディングをなしに設定します。

ul {
    list-style: none;
    padding-left: 0;
}​

あなたは置き換えることができます弾丸維持するためlist-style: nonelist-style-position: insideか、速記をlist-style: inside

ul {
  list-style-position: inside;
  padding-left: 0;
}


18
インデントを削除して番号付け/箇条書きを保持するには、次のようにします。ul {list-style-position:inside; padding-left:0;}
Myforwik

4
さて、あなたはあなたの答えを編集したので、箇条書きは維持されますが、複数のテキスト行を持つ<li>がすべての行を正しくインデントしないという問題があります。あなたが編集し続けると、最終的に私の解決策になるかもしれません。:D
Jpsy

弾丸を保持する2番目のソリューションは、もはや機能していないようです(Windows上のChrome 55)。代替案はありますか?
TomPažourek2017年

2
TomPažourek@試しlist-style-position: outside; padding-left: 1em;<ul>
j08691

1
@ j08691:ええ、それは機能しますが、それ1emは少し不思議な値です...そして、実際にはまだ小さなインデントが残っています。
TomPažourek2017年

93

<ul>インデントを削除するための私の好ましい解決策は、単純なCSSの1行です:

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>

このソリューションは軽量であるだけでなく、いくつかの利点があります。

  • <ul>の箇条書きを周囲の通常の段落テキストに適切に左揃えします(= <ul>のインデントを削除)。
  • <li>要素内のテキストブロックは、複数行に折り返されても正しくインデントされたままになります。

レガシー情報:
IEバージョン8以下では、代わりにmargin-leftを使用する必要があります:

    ul { margin-left: 1.2em; }

@aioobeの投稿ですべての問題を説明しました。しかし、ここで再び:受け入れられた回答(元の投稿の後、それを改善するために何度も編集されたため、現時点でのステータス)は箇条書きを維持します(2番目の例を使用する場合)が、箇条書きの複数行は正しくインデントされませんテキスト。ここで効果を示すように変更受け入れ答え、の第二の例のバイオリンは、次のとおりです。jsfiddle.net/v6nyuq6f/88ここと同じフィドルは私のアプローチで補正する:jsfiddle.net/v6nyuq6f/89
Jpsy

したがって、それは2016年であり、「すべてのブラウザーに完全ではない」ある値に依存することは、このかなり一般的な問題の最もクリーンな解決策です。CSS3機能を使用して、アイテムシンボルの正確な幅を取得する方法はありますか?
F30

安全のために:ul { padding-left:1.2em; margin-left: 0; }
Andrew Murphy

1
このページの唯一のソリューションは、長いリストアイテムで正しく動作します(正しくラップアラウンドします)-ありがとうございます!
FredyWenger

8

これをCSSに追加します。

ul { list-style-position: inside; }

これにより、他の段落やテキストと同じインデントにli要素が配置されます。

参照:http : //www.w3schools.com/cssref/pr_list-style-position.asp


6
複数のテキスト行がある<li>ではlist-style-position: inside、2行目以降のテキストを箇条書きに揃えます。これは確かに望ましくありません。
Jpsy 2014年

7

display:table-row; また、インデントはなくなりますが、箇条書きは削除されます。



4

リンクを提供してもらえますか?おかげで私は見てみることができますあなたのCSSセレクターは十分に強力ではないか、あなたは試すことができます

padding:0!important;


1
0を指定する際の寸法は必要ありません
raam86

11
!importantis EVIL
Madbreaks 2013

@Madbreaksセレクタが正しいものであり、ユースケースが正しい場合は機能しますが、あなたの正しい確率はこれではありません。この場合は、ベースファイルの変更でオーバーライドする必要があるメインのCSSルールがあるため、そのままにしておきます。コアをハッキングしないようなタック?私は多分私が間違っていることを知りません
naeluh

4

分割しようとしているフッターにも同じ問題があります。上記の提案をいくつか組み合わせて試してみると、これがうまくいくことがわかりました。

footer div ul {
    list-style-position: inside;
    padding-left: 0;
}

これは私のh1の下の左側にあり、箇条書きはdividの外側ではなく左側にあるようです。


3

ライブデモ: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: "●";
}

元の質問はその要件が明確でないため、他の回答で設定されたガイドラインの範囲内でこの問題を解決しようとしました。特に:

  • リストの箇条書きを段落外のテキストに揃える
  • 同じリストアイテム内の複数の行を揃える

また、使用するパディングの量についてブラウザの同意に依存しないソリューションも必要でした。完全を期すために、順序付きリストを追加しました。


-1

インラインで、マージンを0に設定します(ul style = "margin:-0px")。箇条書きは、オーバーハングなしで段落に揃えられます。


ゼロの前のマイナス記号以外になぜあなたが反対票を投じられたのか理解できません。私はこれをGoogle Chromeで試してみましたが、パディング左:0ソリューションは機能しませんでした。これは、Google Chromeバージョン79.0.3945.88 WinX、64ビット版です。
MrPotatoHead

上記のコメントに追加します...編集できないので...これをもう少し試してみました。最新のFirefox(71.0)では、動作は同じです。ただし、これは順序付けられていないリスト(ul)で発生します。順序付きリスト(ol)を使用する場合、1.2emはリストの左端を他のテキストの左マージンに揃えるように見えます(上記のJpsyの回答による)。
MrPotatoHead
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.