如何实现网页两行文本的ellipsis并跟随动态块状内容?
如何在网页上实现两行文字ellipsis并跟随动态块状内容
本文旨在解决如何在网页上实现两行文本的ellipsis(省略号)并在其后紧随一个动态的块状内容。此效果可用于在不同文本长度下无缝衔接动态内容,例如图标或按钮。
解决方案:
可以使用以下 CSS 和少量 JavaScript 代码来实现这一效果:
p { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: inline-block; max-width: 200px; // 根据需要调整最大宽度 } .icon { display: inline-block; margin-left: 5px; }
function adjustIcons() { var icons = document.querySelectorAll(".icon"); for (var i = 0; i < icons.length; i++) { var icon = icons[i]; var parent = icon.parentNode; var margin = parseFloat(window.getComputedStyle(icon).marginLeft); var width = icon.offsetWidth + margin; parent.style.width = (parent.offsetWidth - width) + "px"; } } window.addEventListener("load", adjustIcons); window.addEventListener("resize", adjustIcons);
演示效果:
[在线演示](https://codepen.io/xboxyan/pen/PopWVNX)
原理:
此解决方案利用 CSS 的 text-overflow: ellipsis 属性和 display: inline-block 属性来实现文本的ellipsis。max-width 属性则用于限制文本的宽度。
adjustIcons() 函数用于调整动态内容的位置,使其紧随ellipsis文本。它动态计算动态内容的宽度并相应调整其父元素的宽度。
此解决方案在各种浏览器中表现良好,并且可以轻松自定义以满足不同需求。
以上就是如何实现网页两行文本的ellipsis并跟随动态块状内容?的详细内容,更多请关注硕下网其它相关文章!