如何在不改变表格行长度的情况下缩小box-shadow绿色线条宽度?
解决方案
box-shadow 是依附于元素自身边界的样式,无法直接调整其宽度占元素宽度的比例,所以用它实现指定占比的线条行不通。你可以改用伪元素来实现需求,无需修改表格或行的原有结构:
- 给表格行设置相对定位,作为伪元素的定位参考:
tbody tr { position: relative; }
- 通过
::before(或::after)伪元素创建指定宽度的线条,按需调整位置:
tbody tr::before { content: ''; position: absolute; top: 0; /* 控制线条在顶部,改成bottom:0可放在底部 */ left: 0; /* 线条从左侧开始,要居中的话改成left: calc((100% - 30%)/2) */ width: 30%; height: 2px; /* 线条高度,对应你原shadow的厚度 */ background-color: rgb(82, 243, 109); }
这个方法通过独立的伪元素盒子实现自定义宽度的线条,完全不会改变表格或行的原有尺寸,能精准匹配你想要的效果。
内容的提问来源于stack exchange,提问作者Eran Levi
相关产品推荐
相关产品推荐

