【问题标题】:How to make text of a label fit within its width如何使标签的文本适合其宽度
【发布时间】:2014-08-30 02:31:11
【问题描述】:

我在 html 文档中有一个标签,它有一个固定的宽度,但是当文本超过标签的宽度时,它会进入第二行,我希望文本适合给定的宽度,无论它是否不显示开始文字.. 这是代码

<div style="width:50%">
    <label id="mlbl" style="width:50%;">text</label>
</div>
<button id="mbtn">click</button>

脚本:

$('#mbtn').click(function() {
  $('#mlbl').text('asdasda gfgfg ad ad asd ad asd asd ad ad ');
});

这是小提琴http://jsfiddle.net/rd79bpwn/

【问题讨论】:

  • lable 更改为label。这不是解决方案,但名为lable 的标签不存在:)
  • 在这里使用label 也没有用处,除非添加属性for="mbtn" 以将其与控件关联。
  • “不管它是否不显示起始文本”是什么意思?如果内容不适合一行,应该省略内容的 start 吗?内容是否应该被截断(即使在一个单词或一个字母内)?

标签: css word-wrap


【解决方案1】:

然后简单使用white-space: nowrap:

fiddle

看这里white-space-prop

【讨论】:

  • 这会跳过结束文本,我希望在标签中的文本溢出时跳过起始文本。有可能吗?
  • 嗯不知道你的意思:S
  • 如果标签包含“你好,你好吗?”包装后显示“...是你吗?”
  • 看不到这个问题。你能创建一个小提琴来演示这个问题吗?
  • 这里真的看不出问题。我可以看到整个文本。
【解决方案2】:

添加:

label{
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
}

您可以通过添加text-overflow: ellipsis; 属性来获得欲望效果并添加三个点以避免突然剪切文本。 注意:text-overflow仅适用于一行文本(不是多行)。

TEST

更新:

因此,无论如何,您都希望始终显示文本的结尾部分,并且应该隐藏溢出的初始部分。像这样?

TEST

【讨论】:

  • 这会跳过结束文本,我希望在标签中的文本溢出时跳过起始文本。有可能吗?
  • 如果它仍然相关,我用你想要的更新了答案。有可能,但不能在文本通过css溢出时在开头添加三个点。
  • 不需要三个点......谢谢,你帮助我让我的早晨变得更好:)
【解决方案3】:

试试这个

 #mlbl
              {
                overflow : hidden;
                width : 100%;
              }

【讨论】:

    猜你喜欢
    • 2012-10-29
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多