居中元素无法居中,尤其是在屏幕调整大小时
三角形指针的水平对齐仍然难以捉摸,特别是在窗口大小调整期间。
罪魁祸首在于错误地使用了 left: 48% to center三角形。虽然这看起来使元素居中,但实际上它将指针的左边缘放置在其容器的中心附近。
对于真正的居中,正确的方法是 left: 50%,它将指针的中心与元素的中心对齐容器。然而,这引入了一个新问题:当使用 left: 50% 时,元素会向右移动。
解决方案是使用带有 translate(-50%,0) 的 Transform 属性。此规则指示三角形向左移动其宽度的 50%,有效地将其居中于之前的同一直线上。
但是,在这种特定情况下,同时应用 Transform:rotate(45deg) 和 Transform:translate (-50%,0) 提出了挑战。级联覆盖了第二个变换规则,使其无效。
要解决此问题,需要链接变换函数。更正后的代码是:
.container::before { top: -33px; left: 50%; transform: translate(-50%,0) rotate(45deg); position: absolute; border: solid #C2E1F5; border-width: 4px 0 0 4px; background: #88B7D5; content: ''; width: 56px; height: 56px; }
此修改后的代码现在可以正确地将三角形指针居中,并且即使在调整屏幕大小时也能保持其位置。
以上是如何使旋转元素完美居中,尤其是在屏幕大小调整期间?的详细内容。更多信息请关注PHP中文网其他相关文章!