Safari希腊语lang属性不支持text-transform:uppercase解决方案咨询
问题描述
使用CSS规则text-transform: uppercase;时,Safari浏览器无法遵循希腊语区域设置对应的lang属性完成正确的大写转换,该功能在Chrome浏览器下可正常运行。
按照希腊语语法规则,字符串转为全大写时应当移除字符附带的重音符号。
若通过JavaScript的toLocaleUpperCase方法实现转换,两款浏览器均可返回正确结果,执行示例:
"Πρόκριση".toLocaleUpperCase('el') // "ΠΡΟΚΡΙΣΗ"
问题复现代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <style> p { text-transform: uppercase; } </style> </head> <body> <p lang="el">Πρόκριση</p> <p>Πρόκριση</p> </body> </html>
浏览器运行效果对比
| Chrome | Safari |
|---|---|
![]() | ![]() |
Chrome下转换结果可正确移除重音,Safari下转换结果保留重音不符合预期,现咨询是否存在其他可行的变通方案或解决方法。
内容的提问来源于stack exchange,提问作者Valentin Grinkevich
相关产品推荐
相关产品推荐



