環境
- Tailwind CSS: v3.4.16
- ブラウザ: Safari Version 17.5
現象
Safariでは、break-words
クラスを適用してもbreak-normal
と変化がなく、単語が正しく折り返されません。また単語が折り返されず改行が行われないため下記のようにレイアウトがぶっ壊れてしまいます。
調査と考察
Safari特有のレンダリングバグのようで、ウィンドウリサイズ時やクラスのオンオフで一時的に正常な動作が確認されるものの、根本的な問題はWebKit側の不具合らしいです。
下記GithubのIssue
https://github.com/tailwindlabs/tailwindcss/issues/8743
回避策
以下のCSSを適用することで、Safariでも期待通りの挙動を実現できます。
単語ごとに改行せず、normalで改行させるようにしました。
@supports (-webkit-touch-callout: none) {
.break-words {
word-break: normal !important;
overflow-wrap: normal !important;
}
}
余談
これのせいで位置時間悩みましt