如何在D3中动态设置div的max-width属性?
解决D3动态设置div最大宽度的问题
你之前用.attr("max-width", div_width)无效的核心原因:max-width是CSS样式属性,并非HTML元素的原生属性,而D3的.attr()方法仅用于设置HTML元素的原生属性,所以这种方式不会生效。
正确的做法是使用D3的.style()方法来设置内联样式,以此实现动态控制max-width,示例代码如下:
svg.append('div') .attr('class','chart') .style("max-width", `${div_width}px`) // 注意添加单位,比如px .style("height", `${div_height}px`)
如果你的div_width变量已经自带单位(比如值为"900px"),直接传入变量即可:
.style("max-width", div_width)
这种方式设置的内联样式会优先于CSS类中的静态值,满足你动态调整宽度的需求。
内容的提问来源于stack exchange,提问作者sali42
相关产品推荐
相关产品推荐

