span设置长文本显示固定长度,超出部分省略号表示,鼠标移动文字上显示所有内容

span设置长文本显示固定长度,超出部分省略号表示,鼠标移动文字上显示所有内容

解决方法

思路为:设定width,并使文本内容强制单行显示,超出宽度部分用省略号隐藏。
代码如下:

<span class="tmp" id="tmp" >这是一句测试文本,超出宽度部分用省略号隐藏</span>

css:

.tmp{
  white-space:nowrap;/*强制单行显示*/
  text-overflow:ellipsis;/*超出部分省略号表示*/
  overflow:hidden;/*超出部分隐藏*/
  width: 260px;/*设置显示的最大宽度*/
}

运行后发现,宽度width未能生效,这是因为span标签属于行内元素(inline),所以无法设置高度和宽度;如果需要改变其宽高,就需要将其转变为块体元素(block)或行内块体元素(inline-block)。
修改后代码如下:

<span class="tmp" id="tmp"></span>

css:

.tmp{
  white-space:nowrap;/*强制单行显示*/
  text-overflow:ellipsis;/*超出部分省略号表示*/
  overflow:hidden;/*超出部分隐藏*/
  width: 260px;/*设置显示的最大宽度*/
  display:inline-block;
}

此时查看运行结果,省略号掩藏效果已经给出,但此时在span同行继续添加span显示文字时,产生了错位现象。此时需要给span添加元素的垂直对齐方式。

vertical-align: top 

最后使鼠标移动到文字上显示全部,方法为在span标签中添加title字段,将文字填充至title中。下面为最终版本:

<span class="tmp" id="tmp"  title=""></span>

css:

.tmp{
  white-space:nowrap;/*强制单行显示*/
  text-overflow:ellipsis;/*超出部分省略号表示*/
  overflow:hidden;/*超出部分隐藏*/
  width: 260px;/*设置显示的最大宽度*/
  display:inline-block;
}
.tmp-next{
  vertical-align: top;
}

js:

$.ajax({
            type : 'get',
            url: 'work/getWord',//数据来源,在controller层编写
            dataType:'json',
            success: function(datatmp){
                document.getElementById('tmp').innerHTML =datatmp.word;
                //将从数据源获取的datatmp中的word字段填充至id为tmp的标签中
                $("#tmp").attr("title",datatmp.word);
            }
        })

如有问题欢迎留言指正

  • 22
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
要实现在hover时超出内容显示省略号,可以使用text-overflow属性和overflow属性组合。首先,设置元素的宽度和高度,以及overflow:hidden属性确保内容溢出时不可见。然后,使用text-overflow:ellipsis属性来显示省略号。最后,使用:hover伪类选择器来应用这些属性。以下是一个示例代码: ```html <style> .box { width: 200px; height: 50px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .box:hover { white-space: normal; overflow: visible; } </style> <div class="box"> 这是一个超出显示省略号内容 </div> ``` 在这个示例中,当鼠标悬停在内容上时,超出部分显示出来,并且不再使用省略号表示溢出的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【鼠标悬停文字】css实现内容超出长度显示省略号鼠标悬停显示全部内容](https://blog.csdn.net/weixin_48596030/article/details/125937254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [css实现文本框中内容超出长度显示省略号鼠标移入悬浮显示全部内容](https://blog.csdn.net/sdibtjf1702/article/details/121923943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值