14

<li>を設定して、CSS を使用して要素内のテキストを非表示にしようとしていますtext-indent: -999px;。ドキュメントの方向を(右から左 - 私のサイトはヘブライ語です)
に設定すると、何らかの理由でこれが機能しません。 方向が「rtl」の場合、テキストは引き続き表示されます... 理由とこれを回避する方法を知っている人はいますか?"rtl"

4

11 に答える 11

12

direction:ltrマイナスにしようとしている要素を設定するのはどうtext-indentですか?

デモ: jsfiddle.net/Marcel/aJBnN/1/

于 2011-03-19T05:09:37.903 に答える
2
color: transparent;

また

font-size:0px;
于 2014-04-15T19:03:10.980 に答える
2

テキストをインデントする方向に一致するように text-alignment を設定してみてください。

たとえば、LTR を使用していて、テキストを負にインデントしたい場合は、display: ブロックを追加するだけでなく、左揃えも追加する必要があります。

RTLについてはわかりませんが、積極的にインデントして右揃えを使用する必要があると思われます。

于 2012-02-09T21:13:11.450 に答える
2

テキストを透明色にするのが最善の方法であることがわかりました。

色: rgba(0,0,0,0);

注: このバグは、Firefox 12 にも存在します (rtl では text-indent 値は無視されます)。

于 2012-05-17T10:16:03.367 に答える
1

大きな値を指定する line-height を使用できます。たとえば、高さ 30 ピクセルのコンテナーの場合は 100 ピクセルです。

コンテナのサイズが制限されている場合にのみ機能します。高さがまだ設定されていない場合は、具体的に設定する必要があるかもしれません。

于 2011-03-19T04:55:20.047 に答える
1

私はこの解決策を好みます:

.hide_text { text-indent: 100%; white-space: nowrap; overflow: hidden; }
于 2015-04-21T07:20:24.143 に答える
0

これtext-indent: -99pxは古いトリックであり、テキストを非表示にする最適な方法ではありません。visibility:hidden代わりに使用しないのはなぜですか?

于 2010-05-15T23:15:24.747 に答える
0

テキスト整列: 右; 私のために働く

于 2013-08-13T05:53:12.017 に答える
0

オーバーフローを非表示に追加すると、正常に機能します。

div{
    text-indent: 100%;
    overflow: hidden;
}
<div>
 search
 <input type="text">
 </div>

于 2020-09-17T11:35:56.627 に答える