2 个回答

首先,理清一个概念,transform: translate(-50%,-50%);是一个二维变换,它只是一个渲染效果,而不是布局本身。决定文字是否换行的是布局效果。

默认状态下,行内文本在到达元素的包含块(Containing Block)边缘时,会换行。在你的例子中,div1是绝对定位的div2的包含块。

你可以在调试工具中临时去掉transform: translate(-50%,-50%);观察(这时候相当于就是没有经过渲染修改的布局状态),会发现div2就是从中间位置开始,随着文字数目增多,或者padding增加内边距,当到达边缘后,就开始换行。

参考1

参考2

如果文字不换行,考虑减小内边距或直接设置white-space: nowrap;

我试了下,应该是你的的可视区域不够宽,元素默认行为是换行的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题