浏览器边框半径不一致:Safari 的令人惊讶的行为
在设计网站样式的过程中,我们遇到了一个特别麻烦的问题。在开发以圆角显示用户个人资料图像的功能时,一切似乎在 Internet Explorer 8 及更高版本、Google Chrome 和 Mozilla Firefox 中无缝运行。然而,Safari 表现出了相当奇怪的行为。
为了演示这个问题,我们创建了一个具有 3px 边框的图像,并应用了 50% 的边框半径。一切看起来都很正常,直到我们在 Safari 中打开同一页面。边框并不是完美的圆形,而是截断了图像,导致了不良的视觉效果。
经过进一步调查,我们意识到 Safari 对边框半径的解释与其他浏览器不同。 IE、Chrome 和 Firefox 从图像中心裁剪边框,而 Safari 从元素的最外边界裁剪边框。这种区别导致图像本身被意外截断。
为了解决此问题,我们实施了一种解决方法,将边框与图像分开。通过将图像放置在容器中,我们能够对图像和容器应用边框半径,确保两者都有圆角。
以下是解决此问题的 HTML 和 CSS 代码片段Safari:
<div class="activity_rounded"><img src="http://placehold.it/100" /></div>
.activity_rounded { display: inline-block; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -khtml-border-radius: 50%; border: 3px solid #fff; } .activity_rounded img { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -khtml-border-radius: 50%; vertical-align: middle; }
通过这种方法,Safari 现在以完美的圆形边框显示用户个人资料图像,与其他浏览器一致。此外,您可以在我们的现场演示中测试此解决方案,看看它的实际效果。
以上是为什么 Safari 的边框半径行为与其他浏览器不同?的详细内容。更多信息请关注PHP中文网其他相关文章!