如何实现网页两行文本的ellipsis并跟随动态块状内容?

如何实现网页两行文本的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并跟随动态块状内容?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1559523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月22日 04:50:21
下一篇 2025年12月22日 04:50:30

相关推荐

  • 如何在 CSS 中使盒子始终保持在底部?

    如何在 css 中保持盒子始终处于底部 要让某个盒子始终位于底部,可以利用 margin-top: auto; 属性。此属性允许盒子根据其父元素的高度自动调整其上边距。 以下是修改后的 CSS 代码: .footer { … margin-top: auto; …} 通过应用此属性,盒子将在…

    2025年12月22日
    000
  • span元素line-height为0,为何div的高度却非0?

    div高度的解释 在HTML代码中,span元素的line-height设置为0,如下: 这是一个span元素 通常情况下,span的line-height为0会导致其所在行的行框高度为0,无法撑起div的高度,导致div的高度也为0。然而,在这个代码示例中,div的高度实际为27。 这是因为在行框…

    2025年12月22日
    000
  • 为什么 img 元素不能撑起内联元素的高度,而文字可以?

    为什么 img 撑不起内联元素高度,而文字可以? 在 HTML 中,文本可以撑起其父元素内联元素的高度,而图像(img)则无法。这一现象背后的原因在于父元素的特性以及规范的规定。 一个内联元素的高度通常由其内容的高度决定。文字作为内联元素,其高度是由字体大小决定的。即使父元素的字体大小为 0,文字仍…

    2025年12月22日
    000
  • 如何用HTML和CSS实现图片曲线拉伸和排列布局?

    图片曲线拉伸并排列布局 你想要实现的图片拉伸和排列效果,在HTML和CSS中可以通过适当的组合使用来实现。虽然单靠CSS可能无法完全达到你期望的效果,但是通过结合WebGL或Canvas等其他技术,可以实现更复杂的图像处理。 Curve 拉伸 CSS 中的 transform 属性可以应用于图像,通…

    2025年12月22日
    000
  • 如何使用CSS将数字或图标居中于文本末尾并适应字体大小?

    css实现数字或图标居中于文本末尾并适应字体大小 要在CSS中将数字或图标放在文本末尾并使其居中显示,即使图标较小,可以使用::after伪元素。 示例代码: span::after { content: “666”; font-size: 12px; vertical-align: middle;…

    2025年12月22日
    000
  • 如何使用 CSS 实现数字或图标在文本末尾居中显示?

    css 实现数字或图标居中并跟随文本末尾 希望文本末尾添加数字或图标,并且这些数字或图标在字号较小时能够居中显示。以下是实现方法: CSS样式 span::after { content: “666”; font-size: 12px; vertical-align: middle;} 元素结构 一…

    2025年12月22日
    000
  • 如何使用CSS将数字或图标居中显示在文本末尾且小字号?

    css让数字或图标在文本末尾且小字号时居中显示 如何让一个数字或图标放置在文本末尾,并且当它的高度小于文本高度时居中显示? 问题分析 要解决这个问题,可以应用CSS的伪元素::after或::before,在元素后再插入所需的数字或图标。然而,要使图标在文本下方居中对齐,需要一些额外的CSS属性。 …

    2025年12月22日
    000
  • 如何在CSS中将文本末尾的数字或图标居中显示?

    css实现文本末尾数字或图标居中 在CSS中,可以使用::after伪元素来追加内容到文本元素的末尾,同时控制其样式。在本文中,我们就将应用::after伪元素解决数字或图标居中显示的问题。 代码示例 span::after { content: “666”; font-size: 12px; di…

    2025年12月22日
    000
  • SVG 环形进度条的渐变困境:如何实现环形渐变?

    svg实现环形渐变的困境 使用svg实现环形进度条时,会发现进度超过一定角度后,渐变效果呈现水平分布,无法完全形成环形。 关键在于,svg仅支持线性渐变和径向渐变,无法直接实现环形渐变。 解决方法 无法通过svg本身实现真正的环形渐变,但可以通过以下方法变通: 使用clipPath和foreignO…

    2025年12月22日
    000
  • CSS 行框高度为什么不为0?

    css行框高度的解释 给定以下代码: text 我们可能会认为由于span的line-height设置为0,因此其行框的高度为0,从而导致div的高度也为0。然而,实际结果却并非如此,div的高度为27,这该如何解释呢? 行框是由内部的行内框组成的。在此例中,span会生成一个行内框,其高度为lin…

    2025年12月22日
    000
  • 如何让 CSS 容器始终位于底部?

    如何让 css 容器始终位于底部? 在 CSS 中,使元素始终位于底部的常用方法是使用 margin-top: auto; 属性。这个属性将元素的垂直边距设置为剩余可用高度中的最大值,从而使元素被推到其父容器的底部。 考虑以下示例: … .outerDiv { display: flex; fl…

    2025年12月22日
    000
  • 轮播图最后一页切换回第一页时出现闪动,如何解决?

    轮播循环切换闪动原因及解决 轮播图最后一页切换回第一页时出现闪动,原因如下: 当使用 translate3d 方式切换时,CSS 样式没有及时更新。解决这个问题的方法是修改 changeCur 方法: changeCur(add) { this.con.style.transitionDuratio…

    2025年12月22日
    000
  • 在浏览器调试时如何保持元素的点击事件?

    在浏览器调试时如何保持元素的点击事件? 在浏览器开发调试时,打开F12元素审查工具后,某些元素的点击事件可能会失效,这给调试带来不便。 解决方案: 可以尝试以下方法来保持元素的点击事件: 使用页面加载中断点:在源代码中设置一个页面加载中断点,当页面加载到特定位置时,暂停执行。这可以让你在点击元素之前…

    2025年12月22日
    000
  • 子元素含有多行文字,如何实现垂直居中?

    如何在子元素含有多行文字的情况下实现垂直居中? 在 HTML/CSS 中,要使子元素在包含多行文字的情况下垂直居中,可以使用 align-items: center; 属性和 word-break: break-all; 属性。 解决步骤: 使用 align-items: center; 属性将子元…

    2025年12月22日
    000
  • 如何使用Canvas API实现图片曲线拉伸排列布局?

    图片曲线拉伸布局 想要实现图片按曲线拉伸并进行排列布局,可以使用多种方法,本文将提供两种方案。 方法一:CSS3 利用CSS3的transform属性中的rotateY参数,可以实现图片的倾斜效果。但如题主所述,直接使用rotateY无法达到理想的曲线效果,且中间行的处理也不方便。 方法二:Canv…

    2025年12月22日
    000
  • 如何让父元素内的子元素自动排列成两行?

    如何让父元素内的子元素两行排列 前言 在网页设计中,经常需要将多个子元素排列在父元素内。有时候,我们希望子元素可以根据可用空间自动排列成两行或更多行。本文将介绍如何使用 HTML、CSS 和 JavaScript 实现此效果。 实现步骤 1. HTML 结构 首先,创建一个父元素(DIV)作为容器,…

    2025年12月22日
    000
  • 如何用 HTML 和 CSS 实现图片曲线拉伸排列布局?

    如何使用 html 和 css 实现图片曲线拉伸并排列布局? 想要实现图片按曲线拉伸并排列的效果,可以利用 CSS3 中的 transform 属性来实现。 曲线拉伸 对于曲线拉伸,可以使用 transform: rotateY() 属性来实现。该属性可以将元素围绕 Y 轴进行旋转,从而产生曲线效果…

    2025年12月22日
    000
  • 如何用 HTML 和 CSS 实现图像曲线拉伸排列布局?

    图像曲线拉伸排列布局 本篇问答针对以下问题进行解惑:如何在 HTML 和 CSS 中实现图像按曲线拉伸并排列布局? 提问者在网上已搜索了 CSS3 中的 transform 属性,但无法写出平滑的曲线或处理中间行。他们还提出了使用 canvas 的可能性。 对此,提供的答案表明,可以使用 canva…

    2025年12月22日
    000
  • 如何将文本末尾的数字或图标居中显示?

    让文本末尾的数字或图标居中显示 在網頁中,需要將數字或圖示顯示在文本末尾,並在字體較小時保持居中。以下是如何使用 CSS 實現: 查看範例程式碼: span::after { content: “666”; font-size: 12px; vertical-align: middle; displ…

    2025年12月22日
    000
  • 如何利用 Canvas API 弯曲拉伸图片?

    利用 canvas api 弯曲拉伸图片 如何利用 HTML 和 CSS 呈现上面所示的效果? HTML 和 CSS 实现 此效果不易用纯粹的 HTML 和 CSS 实现。CSS3 中的 transform 属性虽可用于旋转元素,但无法实现丝滑的弯曲效果,且无法处理中间行。 Canvas API 实…

    2025年12月22日
    000

发表回复

登录后才能评论
关注微信