css - Safari flexbox 文本换行问题
问题描述
我发现 Safari (OS X) 存在问题: https ://codepen.io/alexlouden/pen/jONyZKb
document
.querySelectorAll('.parent')
.forEach(el => {
el.addEventListener("mouseover", event => {
event.target.style.color = 'blue';
})
})
* {
box-sizing: border-box;
}
.parent {
display: flex;
align-items: center;
justify-content: center;
width: 280px;
padding: 32px;
background-color: #e99;
margin: 32px;
text-align: center;
}
.child {
flex: 1;
max-width: 100%;
background-color: #99e;
}
.grandchild {
overflow-wrap: break-word;
border: 1px dotted black;
}
<div>
In Safari, when you hover on the red area the XXXs will stop wrapping. <br/>
Hover over the blue area and it will fix and re-wrap.
</div>
<div class="parent">
<div class="child">
<div class="grandchild">
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</div>
</div>
</div>
<div class="parent">
<div class="child">
<div class="grandchild">
Centered
</div>
</div>
</div>
grandchild
似乎不尊重 的最大宽度约束,child
但仅在修改父样式时 - 而不是在第一次加载时。
我想知道是什么导致了这种行为,这是否已经是 Safari 的一个已知问题,或者我是否应该报告这个错误?
解决方案
我想答案比我想的要简单得多:D !!
只需更改以下 css,它应该可以工作 B)
.parent {
display: flex;
align-items: center;
justify-content: center;
width: 280px;
padding: 32px;
background-color: #e99;
margin: 32px;
text-align: center;
overflow-wrap: break-word;
}
推荐阅读
- java - 如何在 Spring Boot 中从 wsdl 生成肥皂服务?
- python-3.x - 如何检查数据框行中是否存在列表并返回布尔值?
- html - Aspose HTML to RTF转换添加空白列表元素
- php - 使用诸如资产之类的树枝属性在带有占位符值的jQuery中不起作用
- database - MongoDB 从指定版本中获取最新版本
- curve - 如何在 OpenSCAD 中制作曲面片(立方体)?
- wolfram-mathematica - 如何导入一个文本文件,并将mathematica中的所有内容进行导入?
- javascript - 尝试在数据库中访问和设置外键时遇到问题
- python - 必须是 unicode 而不是 python 2 上的字符串
- nginx - nginx 中的位置块没有得到预期的结果 - 也许是订购?