使用“文本缩进”隐藏文本

发布于 2024-08-31 23:38:09 字数 209 浏览 8 评论 0原文

我试图通过设置 text-indent: -999px; 使用 CSS 隐藏

  • 元素内的一些文本。
    由于某种原因,当我将文档的方向设置为“rtl”(从右到左 - 我的网站是希伯来语)时,这不起作用。
    当方向为“rtl”时,文本仍然显示...
    有人知道为什么,以及解决这个问题的方法吗?
  • I'm trying to hide some text inside an <li> element using CSS by setting text-indent: -999px;.
    For some reason this doesn't work when I set the direction of the document to "rtl" (right to left - my site is in Hebrew).
    When direction is "rtl" the text still shows...
    Anyone knows why, and a way around this?

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(11

    枯叶蝶 2024-09-07 23:38:09

    text-indent: -9999px 一起尝试使用 display: block;。它为我解决了。

    此外,如果您需要 li 元素水平浮动(例如水平菜单),请使用 float: left;

    Along with text-indent: -9999px try using display: block;. It solved for me.

    Additionally, if you need the li elements to float horizontally (e.g. a horizontal menu), use float: left;.

    回忆追雨的时光 2024-09-07 23:38:09

    在您尝试提供负 text-indent 的元素上设置 direction:ltr 怎么样?

    演示: jsfiddle.net/Marcel/aJBnN/1/

    What about setting direction:ltr on the elements you're trying to give negative text-indent?

    Demo: jsfiddle.net/Marcel/aJBnN/1/

    无人接听 2024-09-07 23:38:09

    我的问题是文本对齐。如果您修改元素或将其向左包裹的父元素的对齐模式,则必须为文本缩进提供负索引。否则你必须给出一个正值。

    .case1{text-indent:-999px;text-align:left;overflow:hidden;display:block}
    

    否则

    .case2{text-indent:999px;text-align:right;overflow:hidden;display:block}
    

    My problem was with text-align. In case you modify align mode of the element or parent element(s) wrapping it to left, you must give a negative index for text-indent. Otherwise you must give a positive value.

    .case1{text-indent:-999px;text-align:left;overflow:hidden;display:block}
    

    Otherwise

    .case2{text-indent:999px;text-align:right;overflow:hidden;display:block}
    
    月下客 2024-09-07 23:38:09

    尝试设置文本对齐方式以匹配文本缩进的方向。

    例如,如果您使用LTR并希望负缩进文本,除了添加display:块之外,还应该添加左对齐。

    不确定 RTL,但似乎合乎逻辑,您应该积极缩进并使用右对齐。

    Try setting text-alignment to match the direction in which you are indenting text.

    For example, if you use LTR and want to indent text negatively, besides adding display: block, you should also add left alignment.

    Not sure for RTL, but seems logical you should indent it positively and use right alignment.

    べ繥欢鉨o。 2024-09-07 23:38:09

    我发现最好的方法是将文本设置为透明颜色:

    color: rgba(0,0,0,0);

    注意:
    此错误在 Firefox 12 中仍然存在(在 RTL 上忽略文本缩进值)

    I found the best way is to make the text a transparent color:

    color: rgba(0,0,0,0);

    Note:
    This bug still exists in firefox 12 (text-indent value is ignored on rtl)

    挽清梦 2024-09-07 23:38:09
    color: transparent;
    

    或者

    font-size:0px;
    
    color: transparent;
    

    or

    font-size:0px;
    
    南渊 2024-09-07 23:38:09

    我更喜欢这个解决方案:

    .hide_text { text-indent: 100%; white-space: nowrap; overflow: hidden; }
    

    I prefer this solution:

    .hide_text { text-indent: 100%; white-space: nowrap; overflow: hidden; }
    
    南笙 2024-09-07 23:38:09

    您可以使用 line-height 指定一个较大的值,例如 30 像素高的容器为 100 像素。

    仅当您的容器尺寸有限时才有效。如果还没有,您可能需要专门设置高度。

    You can use line-height specifying a large value, say 100px for a 30px high container.

    only works if your container is limited in size. you may have to specifically set height if it isn't yet.

    情定在深秋 2024-09-07 23:38:09

    text-indent: -99px 是一个老把戏,这不是隐藏文本的最佳方式。为什么不使用 visibility:hidden 来代替呢?

    The text-indent: -99px is an old trick, which is not the optimal way to hide text. Why not use visibility:hidden instead?

    一绘本一梦想 2024-09-07 23:38:09

    文本对齐:右对齐;为我工作

    text-align: right; works for me

    面如桃花 2024-09-07 23:38:09

    添加溢出隐藏然后它就可以正常工作了。

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

    Add overflow hidden then it will work fine.

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

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文