我正在试图使用CSS将一些文本隐藏在一个
text-indent: -999px;
。但是当我将文档的方向设置为
"rtl"
(从右到左 - 我的网站是用希伯来语编写的)时,这种方法不起作用。当方向为"rtl"时,文本仍然显示...
有人知道原因,并且有解决方法吗?
我正在试图使用CSS将一些文本隐藏在一个
text-indent: -999px;
。"rtl"
(从右到左 - 我的网站是用希伯来语编写的)时,这种方法不起作用。除了使用 text-indent: -9999px
,还可以尝试使用 display: block;
。这样对我来说解决了问题。
此外,如果你需要让 li 元素水平浮动(例如,水平菜单),请使用 float: left;
。
如果您想给元素设置负的text-indent,可以考虑在该元素上设置direction:ltr
属性。
我的问题在于文本对齐。如果你修改了元素或其父元素的对齐模式为左对齐,则必须为text-indent给定负索引。否则,您必须给出正值。
.case1{text-indent:-999px;text-align:left;overflow:hidden;display:block}
.case2{text-indent:999px;text-align:right;overflow:hidden;display:block}
我更喜欢这个解决方案:
.hide_text { text-indent: 100%; white-space: nowrap; overflow: hidden; }
color: transparent;
或者
font-size:0px;
我发现最好的方法是将文本设置为透明色:
color: rgba(0,0,0,0);
注意:这个bug在Firefox 12中仍然存在(rtl上text-indent值被忽略)
您可以使用line-height指定一个大的值,比如100px,用于30px高的容器。
只有在容器大小受限时才有效。如果尚未限制容器大小,则可能需要明确设置高度。
text-indent: -99px
是一种旧的技巧,不是隐藏文本的最佳方式。为什么不使用visibility:hidden
呢?
<img>
元素。 - Quentintext-align: right; 对我有效
text-indent
吗? - James Inman