16

の数字とテキストの両方を左揃えにしたいと思います<ol>。これは私が達成しようとしていることです:

ここに画像の説明を入力

今のところ、それぞれ<li>に が含まれていますが<a>、これは変更される可能性があります。これまでのところ、左パディングを入れてからテキストインデントを<a>.

これが今の私のコードです。

HTML:

<ol class="dinosaurs">
    <li><a>Dinosaur</a></li>
    <li><a>Tyrannosaurus</a></li>
    <li><a>Camptosaurus</a></li>
</ol>

CSS:

.dinosaurs{
    list-style-position: inside;
}

注: Windows 7 の Chrome 23 で Web ページを表示しています。

4

6 に答える 6

23

これはうまくいくようです:

.dinosaurs { counter-reset: item }
.dinosaurs li { display: block }
.dinosaurs li:before { 
  content: counter(item) ". ";
  counter-increment: item;
  width: 2em;
  display: inline-block;
}
于 2013-01-15T21:48:50.287 に答える
12

次のようにリスト要素を配置できます。

    .dinosaurs {
  list-style-position: inside;
}

.dinosaurs li{
  position: relative;
}
.dinosaurs li a {
  position: absolute;
  left: 30px;
}

http://jsfiddle.net/wBjud/2/が生成されます

于 2013-01-15T21:44:46.147 に答える
1

padding-left: 0;スタイルに追加して、必要に応じてに変更list-style-position:してみてください。outside

于 2013-01-15T21:36:39.433 に答える
1

ポジショニング、パディング、マージンを使用して偽装できます。

jsFiddle の例

.dinosaurs {
  list-style-position: inside;
  position:relative;
  margin-left: -20px;
}
a {
  position:absolute;
  left:70px;
}
于 2013-01-15T21:45:59.320 に答える