Javascript 如何使路径在内容下拉伸?

Javascript 如何使路径在内容下拉伸?,javascript,css,svg,Javascript,Css,Svg,我的任务是制作一个画线的动画,但并不是那么简单。 我的SVG应该与包含文本的div块大小相同。但问题是我做不到! 换句话说,您需要使路径的高度与文本中的行数相同。 我们目前看到,随着内容的增加,路径下降到底部 我怎样才能纠正这种情况以获得期望的结果 //线路长度 让svgPath=[…document.queryselectoral.list\u拆分器路径] svgPath.forEachpath=>{ let length=path.getTotalLength path.style.set

我的任务是制作一个画线的动画,但并不是那么简单。 我的SVG应该与包含文本的div块大小相同。但问题是我做不到! 换句话说,您需要使路径的高度与文本中的行数相同。 我们目前看到,随着内容的增加,路径下降到底部

我怎样才能纠正这种情况以获得期望的结果

//线路长度 让svgPath=[…document.queryselectoral.list\u拆分器路径] svgPath.forEachpath=>{ let length=path.getTotalLength path.style.setProperty'-path length',length; } //启动动画 svgPath.forEachpath=>{ path.classList.addpathAnima } .名单{ 显示器:flex; 弯曲方向:立柱; 保证金:0自动; 最大宽度:400px; } .列出项目{ 填充:1em; 背景:f9f9f9; 最小高度:92px; } .list\u拆分器{ 位置:相对位置; } .list\u拆分器-revert{ 变换:比例1,1; } .列表\u拆分器\u内容{ 位置:绝对位置; 排名:0; 左:0; 宽度:100%; 转化:translatey-50%; } .list\u拆分器\u内容svg{ 宽度:100%; 高度:123px; } .list\u拆分器\u内容svg路径{ 矢量效果:非缩放笔划; } .list\uuu拆分器\uuuu内容::之前, .list\u拆分器\u内容::之后{ 宽度:10px; 高度:10px; 位置:绝对位置; 背景:f00; } .list\u拆分器\u内容::之后{ 内容:; 底部:-4px; 右:-4px; } .list>*:nth-child2.list\u splitter\u content::before{ 内容:; 顶部:-4px; 左:-4px; } 帕坦尼玛夫人{ 笔划数组:变量路径长度; 笔划dashoffset:var路径长度; 动画名称:pathAnima; 动画持续时间:3s; 动画迭代次数:1; 动画填充模式:正向; 动画计时功能:线性; } @pathAnima关键帧{ 到{ 笔划偏移:0; } } 某一文本 特定文本特定文本特定文本特定文本特定文本特定文本 某一文本
为什么不是CSS唯一的解决方案:

.名单{ 显示器:flex; 弯曲方向:立柱; 保证金:0自动; 最大宽度:400px; } .列出项目{ 填充:1em; 左边框:5px实心透明; 右边框:5px实心透明; 背景: 线性渐变,红色左/10px 10px无重复边框框, f9f9f9填充框; 最小高度:92px; 位置:相对位置; } .list\u项目:第n个儿童偶数{ 背景位置:右; } .list__项::在, .list\u项::之后{ 内容:; 位置:绝对位置; 宽度:50%; 身高:50%; 左:-1px; 左边框:2倍实心; 指针事件:无; z指数:3; 剪辑路径:插入0 100% } .list\u项::之前{ 顶部:-1px; 边框顶部:2倍实心; 边框左上半径:30px; 动画:两个2s线性向前; } .list\u项::之后{ 底部:-1px; 边框底部:2倍实心; 边框左下半径:30px; 动画:一个2s线性向前; } .list\u项:n个孩子偶数::之前, .list\u项:n个孩子偶数::之后{ 转化:scaleX-1; 变换原点:右; } .list\u项:第一个子项::之前, .list\u项:最后一个子项::之后{ 显示:无; } @关键帧1{ 0% { 剪辑路径:inset0 calc100%-10px 100%0 } 50% { 剪辑路径:inset0 calc100%-10px 0 } 100% { 剪辑路径:插入0 } } @关键帧2{ 0% { 剪辑路径:插入0 calc100%-10px 100% } 50% { 剪辑路径:插入0 calc100%-10px 0 } 100% { 剪辑路径:插入0 } } 某一文本 特定文本特定文本特定文本特定文本特定文本特定文本特定文本特定文本特定文本特定文本特定文本 某一文本
研究我的问题解决方案:

//响应式SVG方式 类DinamicPath{ 构造函数类名、路径、段数据{ this.path=path this.segmentData=segmentData this.boxNode=[…document.querySelectorAllclassName] 这个是.init 这是更新 window.onresize==>this.update; } 初始化{ this.data=this.boxNode.mapnode=>{ 设svgNode=node.querySelectorsvg 让pathNode=svgNode.querySelectorpath pathNode.setAttribute'd',this.path 返回{ boxNode:node, 斯维格诺德, 路径节点 } } } 更新{ this.data.forEach{boxNode,svgNode,pathNode}=>{ this.segmentData.forEachseg=>{ 让pathData=pathNode.getPathData pathData[seg.segmentIndex].values[seg.segmentSubIndex]=seg.valueboxNode pathNode.setPathDatapathData } let length=pathNode.getTotalLength pathNode.style.setProperty'-path length',length 设置超时=>{ 让pathBox=pathNode.getBBox svgNode.setAttribute'viewBox','0${pathBox.width+2}${pathBox.height}` }, 0 } } } 新DinamicPath //Svg容器选择器 .斯普利特, //基本路径 M1 1 v9 a30 30 0 0 30 h0 a30 30 0 0 0 1 30 v0, //路径段更新参数数组 [ { 分段索引:1,//分段索引 分段子索引:0,//分段零件索引 值:框=>{ //返回参数值的函数, //where框将元素与传递的选择器匹配 return box.parentNode.clientHeight/2-30 } }, { 分类指数:3, 分段子索引:0, 值:box=>box.parentNode.clientWidth-30-30 }, { 分类指数:5, 分段子索引:0, 值:box=>box.parentNode.nextElementSibling.clientHeight/2-30 }, ] ;[…document.querySelectorAll.list\u项目路径].forEachpath=>{ path.classList.addpathAnima } .名单{ 显示器:flex; 弯曲方向:立柱; 保证金:0自动; 最大宽度:600px; } .列出项目{ 填料:2米; 背景:f9f9f9; 最小高度:60px; 位置:相对位置; } .list\u项::之前{ 内容:; 宽度:10px; 高度:10px; 位置:绝对位置; 背景:f00; 最高:50%; z指数:2; 边界半径:50%; } .list\u项:n个孩子偶数::之前{ 右:1px; 转换:转换50%,-50%; } .list\u项:n个childodd::before{ 左:1px; 转化:转化-50%,-50%; } .拆分器{ 位置:绝对位置; 最高:50%; 左:0; 宽度:100%; z指数:1; 指针事件:无; } .拆分器还原{ 变换:比例1,1; 底部:50%; } svg{ 宽度:100%; 填充:无; } svg路径{ 中风:000; 矢量效果:非缩放笔划; } 帕坦尼玛夫人{ 笔划数组:变量路径长度; 笔划dashoffset:var路径长度; 动画:pathAnima 1s线性向前; } @pathAnima关键帧{ 到{ 笔划偏移:0; } } Человеческий организм получает почти все необходимые вещества именно через пищу и воду. С питанием связаны все жизненно важные функции организма. Здоровый праздничный ужин вовсе не обязательно должен состоять из шпината, гречки и вареной куриной грудки. Самыми лучшими способами приготовления еды являются следующие: варка на пару, запекание или варка в воде. Помимо стандартных мандаринов и ананасов, отличным украшением любого стола станут необычные, экзотические фрукты. Здоровой может быть даже выпечка, если она приготовлена на пару. Являясь одной из самых распространённых в мире сельскохозяйственных культур, рис занимает главенствующую позицию в национальной кухне сотен народов. аСазззззззззззз。Более половины населения Земли питаются в основном именно рисом, что делает эту сельскохозяйственную культуру важнейшей на планете. В некоторых странах Азии из этого растения готовят такие напитки, как вино и пиво. Из рисовых зерён делают так называемую съедобную рисовую бумагу, применяемую в кондитерском деле. Ценность яблок кроется в их составе. Почти 80% яблок составляет вода. Остальная часть приходится на клетчатку, органические кислоты, углеводы. Именно зеленое яблоко рекомендуют употреблять во время диет. Среди фруктов яблоко является очень распространенны м продуктом и практически целый год присутствует в нашем рационе питания. Употребление этих плодов натощак недопустимо при гастритах с повышенной кислотностью, язвенных болезнях, желчекаменной болезни. Ценность яблок кроется в их составе. Почти 80% яблок составляет вода. Остальная часть приходится на клетчатку, органические кислоты, углеводы. Именно зеленое яблоко рекомендуют употреблять во время диет. Среди фруктов яблоко является очень распространенным продуктом и практически целый год присутствует в нашем рационе питания. Употребление этих плодов натощак недопустимо при гастритах с повышенной кислотностью, язвенных болезнях, желчекаменной болезни. Ценность яблок кроется в их составе. Почти 80% яблок составляет вода. Остальная часть приходится на клетчатку, органические кислоты, углеводы. Именно зеленое яблоко рекомендуют употреблять во время диет. Среди фруктов яблоко является очень распространенным продуктом и практически целый год присутствует в нашем рационе питания. Употребление этих плодов натощак недопустимо при гастритах с повышенной кислотностью, язвенных болезнях, желчекаменной болезни. Здоровый праздничный ужин вовсе не обязательно должен состоять из шпината, гречки и вареной куриной грудки. Самыми лучшими способами приготовления еды являются следующие: варка на пару, запекание или варка в воде. Помимо стандартных мандаринов и ананасов, отличным украшением любого стола станут необычные, экзотические фрукты. Здоровой может быть даже выпечка, если она приготовлена на пару.
谢谢,你是对的,你在Firefox中做的,它在Firefox中工作了,更正了。我加上一句谢谢-你的例子非常有价值