Javascript 当文本更新时,如何调整P标记的转换高度?

Javascript 当文本更新时,如何调整P标记的转换高度?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在一个网站上有一个段落标记,当点击一个按钮时(使用Javascript)我会在其中替换内容(即:用引号2替换引号1)。我不是简单地扩展当前文本,有时新文本可能比当前文本少,有时比当前文本多 在某些情况下,文本从短到长,随着标记立即增加其高度,会在站点上引起相当剧烈的移动 我认为通过添加2的css转换可能会修复它,但它没有效果: p.my-text { transition: 2s; } 当文本被更新时,有没有办法平滑地转换标签的高度?您不能在高度:自动上使用转换,但您可以在给定的最大高度

我在一个网站上有一个段落标记,当点击一个按钮时(使用Javascript)我会在其中替换内容(即:用引号2替换引号1)。我不是简单地扩展当前文本,有时新文本可能比当前文本少,有时比当前文本多

在某些情况下,文本从短到长,随着
标记立即增加其高度,会在站点上引起相当剧烈的移动

我认为通过添加2的css转换可能会修复它,但它没有效果:

p.my-text {
  transition: 2s;
}

当文本被更新时,有没有办法平滑地转换标签的高度?

您不能在
高度:自动上使用转换,但您可以在给定的
最大高度
(例如
0
)和另一个大于预期高度的
最大高度
之间使用转换。请参见

您可以添加一个
max height
值来在其上创建过渡

看看这个代码示例

var段;
(() => {
段落=document.getElementById(“段落”);
paragration.style.maxHeight=paragration.scrollHeight+“px”;
设置间隔(()=>{
段落.innerHTML="奥雷姆·伊普斯姆·多洛·塞特·塞特·塞特·塞特·塞特·塞特·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·塞姆·迈格纳和瓦里乌斯·内克·塞特·塞特·塞特·塞特·塞特·塞特·塞特·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·塞德·莫比·乌尔比·奥特a、 在《爱欲与兽人的暂时性危机》一书中,不以自己的名言为名,以自己的尊严为名,以自己的意志为名,以自己的意志为名,以自己的意志为名,以自己的意志为名,以自己的意志为名,以自己的意志为名,以自己的意志为名波黑·费吉亚特、波特托·莫里斯·ac、南·莱克图斯·费利斯、特皮斯·农、费吉亚特·普鲁斯贵人。”;
paragration.style.maxHeight=paragration.scrollHeight+“px”;
}, 1000);
})();
#段落{
背景色:#eeeeee;
过渡:最大高度2秒;
溢出:隐藏;
}

同侧阴唇


你能添加你添加的过渡吗?@Béranger完成了。不管你的文本有多长,你都不能设置
高度的动画,你只能用
最大高度来做。最大高度会随着文本的长而扩展容器的高度。这非常接近,但是,如果文本从大到小,这是不起作用的。@David如果您知道高度,您可以使用
height
属性而不是
max height
,它甚至适用于从大到小的高度。但它不适用于
height:auto