CSS 中垂直对齐的旋转元素
在 CSS 中,您可以使用writing-mode 属性垂直旋转文本。但是,旋转文本可能会影响其父元素的位置。这可能会导致意外结果,例如文本与其他元素重叠。
问题:
考虑以下示例:
<div class="container"> <div class="statusColumn"><span>Normal</span></div> <div class="statusColumn"><a>Normal</a></div> <div class="statusColumn"><b>Rotated</b></div> <div class="statusColumn"><abbr>Normal</abbr></div> </div>
.statusColumn b { writing-mode: tb-rl; white-space: nowrap; display: inline-block; overflow: visible; transform: rotate(-90deg); transform-origin: 50% 50%; }
此代码产生以下布局:
[四列文本图像,第三列旋转 90 度]
如您所见,旋转后的文本与其他元素重叠。
解决方案:
要解决此问题,您可以使用父元素上的writing-mode 属性来垂直旋转文本。这将确保旋转的文本在父元素内正确对齐。
.statusColumn { position: relative; border: 1px solid #ccc; padding: 2px; margin: 2px; width: 200px; } .statusColumn i, .statusColumn b, .statusColumn em, .statusColumn strong { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; display: inline-block; overflow: visible; }
此代码会产生以下布局:
[四列中的文本图像,其中第三列旋转Vertical]
如您所见,旋转后的文本现在在父元素内垂直对齐,并且不与其他元素重叠。
以上是如何防止CSS旋转元素与其他元素重叠?的详细内容。更多信息请关注PHP中文网其他相关文章!