css实现文本框中内容超出长度显示省略号,鼠标移入悬浮显示全部内容

css样式:

    width: 300px;
    text-overflow: ellipsis;
    overflow: hidden;

此时的设置可以完美实现文本框中的内容超长显示为省略号;但是想知道全部内容是不可能的。

<div title="文本框中的内容,超长显示省略号">文本框中的内容,超长显示省略号</div>

采用title属性后,就可以悬浮展示文本框中的内容;但是有个弊端,就是长度没有很长的时候,文本框中的全部内容能全部展示,此时的悬浮是没有必要存在的,但是实际上还是有的;

对于展示文本框中全部内容还有两种方式实现:

// 方法一,放开宽度限制
div:hover{
     width: auto;
}

// 方法二,释放截取,即不显示省略号
div:hover{
    text-overflow:inherit; 
    overflow: visible; 
    white-space: pre-line; 
}

这两种方法都有一个明显的弊端,不管是放开宽度限制,还是释放overflow的截取,都会导致界面布局的错乱,即会影响其他元素的布局效果;

补充内容:

缺陷场景:一句超长文本,在span中展示,但是span宽度只有100px,导致文本是换行展示的,这时再用text-overflow: ellipsis;overflow: hidden;属性无法实现省略号的样式;

原因分析:span中添加了属性white-space:normal;

当行内样式添加了属性white-space:normal时,显示省略号的样式会不生效;

这个属性是布局建立过程中,对空白符的处理,normal值是忽略全部的空白;

而当参数值为nowrap时,样式会正常显示,因为这个属性的含义是:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止;这样就保证了文本在一行中显示,不会出现换行后不省略文本的情况;

总结or结论:省略超出文本,以省略号展示的样式设计时,

单行文本的省略:(已验证)

正确必备的属性是width、overflow、text-overflow;

不必备的属性:white-space,值为nowrap;适用于宽度很小,内容很长时,固定文本在一行中展示,切不可用normal属性值!!!

多行文本的省略:(未验证autoprefixer工具)

必备属性:

    width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3; /*3表示只显示3行*/
    /* autoprefixer: off */ 
    -webkit-box-orient: vertical;
    /* autoprefixer: on */

注释掉的两行作用:autoprefixer(浏览器前缀处理工具)会自动移除老式过时的代码,所以先关闭这个 工具再打开,防止代码被移除;

  • 12
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
实现在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 ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值