使用CSS Modules实现带圆点的垂直时间轴样式失效,求问题原因及解决方法
问题排查与修复方案
核心问题1:CSS选择器匹配错误
你给<ul>标签绑定的类名是textWrapper,但CSS中写的.textWrapper ul li是选中textWrapper元素内部的ul下的li,完全匹配不到你代码中的li元素,所有时间轴相关样式都没有生效。
核心问题2:可见性与布局问题
你给li设置的背景为白色,若页面背景同为白色,时间轴线和圆点会完全不可见;同时li仅设置6px宽度,内部文字会直接溢出容器,无法正常展示。
修复代码
App.js 无需修改,替换Styles.module.css内容即可,完全符合CSS Modules使用规范:
/* 清除ul默认边距 */ .textWrapper { padding: 0; margin: 0; } /* 正确匹配textWrapper下的li元素 */ .textWrapper li { list-style-type: none; position: relative; width: 6px; margin: 0 auto; padding-top: 50px; /* 可自定义时间轴线颜色 */ background: #2196F3; /* 适配文字展示 */ padding-left: 40px; box-sizing: border-box; width: auto; } /* 时间轴圆点样式 */ .textWrapper li::after { content: ""; position: absolute; left: 0; bottom: 0; transform: translateX(-50%); width: 30px; height: 30px; border-radius: 50%; background: inherit; z-index: 1; }
如果需要将文字放在时间轴左侧,调整padding-left为padding-right,并修改圆点的定位属性即可,可根据设计需求灵活调整颜色、尺寸、间距参数。
内容的提问来源于stack exchange,提问作者RandomDeveloper
相关产品推荐
相关产品推荐

