You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现类名为.stroke1的SVG点元素在页面中居中显示

问题原因

  1. justify-content、align-items属于flex容器属性,只能写在设置了display:flex的父元素上,你把这两个属性写在子元素.stroke1上完全不生效
  2. 你给.stroke1设置了position: absolute,会让该元素脱离普通文档流,父元素.strokes的flex布局默认无法控制它的位置
  3. text-align: center的作用是让容器内部的行内/行内块元素居中,直接写在.stroke1自身上,无法让这个元素本身在父容器内居中

解决方案

方案1:无需保留绝对定位,用父级flex居中(更推荐)

直接修改你的CSS代码即可:

.strokes {
  display: flex;
  width: 100%;
  /* 新增水平居中属性 */
  justify-content: center;
  /* 如果需要垂直居中可以再加align-items: center,同时给.strokes设置对应高度即可 */
}

.stroke1 {
  z-index: 1002;
  /* 删掉多余的position: absolute、justify-content、text-align、align-items属性 */
}

方案2:业务需要保留.stroke1的绝对定位属性

如果你的场景必须用绝对定位,修改CSS如下:

.stroke1 {
  position: absolute;
  z-index: 1002;
  /* 新增水平居中代码 */
  left: 50%;
  transform: translateX(-50%);
  /* 如果需要同时垂直居中,再加top: 50%; 把上面的transform改成translate(-50%, -50%)即可 */
}

注意:如果要让绝对定位的.stroke1相对于父容器.strokes居中,需要给.strokes加上position: relative属性,否则元素会相对于整个浏览器视口居中。

内容的提问来源于stack exchange,提问作者Hadi Zouhbi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 13:48:00