仅用CSS调整大括号高度且不改变粗细可行吗?
仅用CSS控制大括号高度且保持粗细的方法
方法1:CSS垂直缩放(最便捷)
不用修改字体大小,直接通过transform: scaleY()单独拉伸垂直方向,配合transform-origin调整锚点,就能只改变高度,完全保留原有粗细。示例代码:
.brace { font-family: monospace; /* 选自带标准大括号的字体 */ transform: scaleY(1.8); /* 按需调整垂直拉伸倍数 */ transform-origin: center; /* 以中心为锚点,避免缩放后偏移 */ display: inline-block; /* 确保变换生效 */ }
如果担心水平方向有轻微压缩,可补充scaleX(1)锁定水平比例,或根据布局把transform-origin设为left center/right center。
方法2:SVG绘制大括号(最精准)
完全脱离字体限制,用SVG绘制固定粗细的大括号,通过调整height或viewBox控制高度,粗细由stroke-width固定。示例:
<svg width="22" height="70" viewBox="0 0 22 70"> <path d="M6,8 C6,0 16,0 16,8 C16,22 6,22 6,35 C6,48 16,48 16,62 C16,70 6,70 6,70" fill="none" stroke="currentColor" stroke-width="2" /> </svg>
把这个SVG作为inline元素或背景图使用,直接修改height就能调整高度,stroke-width保持固定值,粗细永远不变。
方法3:固定粗细的特殊字体
部分编程字体或手绘风格字体,设计时不同字号的大括号粗细差异极小,比如:
- Consolas:代码场景常用,大括号粗细随字号变化不明显
- Fira Code:同样是编程字体,大括号的粗细控制相对稳定
不过这类字体仍会有细微的粗细变化,不如前两种方法可靠。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

