5 に答える 5

1

多分あなたは意味します:

letter-spacing: 0

これはあなたの「バグ」を引き起こします


編集:

1pxの文字間隔が必要な場合は、これが適切な解決策です

追加するだけ:

display: inline-blockDivコンテナcssと要素にfloat: lefta

于 2012-04-30T16:10:54.430 に答える
1

この投稿を読んでください。使用可能なすべての手法は、その本文とコメント、およびそれらのトレードオフに記載されています。

http://css-tricks.com/fighting-the-space-between-inline-block-elements/

「スペースを削除する」オプションは、実装が最も簡単であるため、最初に言及されています。しかし、それは「少しファンキー」でもあります。

「文字間隔 - ベース」オプションはコメントに記載されていますが、IE < 8 を満足させたい場合は、追加の css を含める必要があることに注意してください。

于 2012-04-30T16:49:34.323 に答える
1

これが発生する理由は、a-tag の間に改行がある text-node があるためです。そして、あなたが設定letter-spacing: 1px;し、firefox コーダーが文字間隔を実装することを選択したので、そのテキストノードの前後に 1px の文字間隔を取得します。

解決策は、他の場所で既に示唆されているように、次のようにdiv#navigation行を含めないようにルールを変更することです。letter-spacing: 1px

div#navigation {
  position: relative;
  padding: 1px 0;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  font-family: Georgia, Serif;
  margin: 0 auto 2px auto;
  width: 400px;
  font-size: 0;
  text-shadow: 0 1px #fff;
}

ここで修正が適用された動作バージョンを確認できます: http://jsfiddle.net/uZMzA/10/

于 2012-04-30T16:32:28.967 に答える
0

これはばかげており、その発生の「理由」を実際に説明することはできませんが、表示を修正する2つの方法があります。

FFはコード内のスペースが好きではありません。次のように、タグ間のキャリッジリターンを削除するか、<a>コメントアウトします。

<div id="navigation">
    <a href="#">Link1</a><!--
    --><a href="#">Link2</a><!--
    --><a href="#">Link3</a><!--
    --><a href="#">Link4</a>
</div>
于 2012-04-30T16:17:40.667 に答える
0

このjsFiddle exampleのように、コードから空白を削除するだけです。

HTML:

<div id="navigation">
    <a href="#">Link1</a><a href="#">Link2</a><a href="#">Link3</a><a href="#">Link4</a>
</div>​
于 2012-04-30T16:12:22.543 に答える