【发布时间】:2021-01-07 04:03:32
【问题描述】:
目标是使用display: flex; 和justify-content: right; 将图像定位到其容器的右侧。以下代码在 chrome 和 firefox 中运行良好,但在我测试过的所有 safari 版本中都没有。
我尝试过的事情:
- 检查了caniuse,这表明它应该适用于我测试过的所有版本。
- 通过 autoprefixer 运行 css 并添加这些内容。
- 已测试添加内联 css,没有任何变化。
- 在浏览器开发工具中打开和关闭样式以检查:除了 safari 中的 flexbox 样式外,一切都按预期工作。
- 隔离代码以排除冲突。
- 尝试了多个版本的 safari,包括 9.1.2(忘记检查其他版本的实际版本号,但它们是运行 catalina 和最新 iOS 的更新设备,因此假设 safari 13.x 或 14.x)。
这里是html和css源代码:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Safari - Flexbox Issue</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container container-nav"></div>
<div class="container container-home">
<img alt="tree image - should be far right of container" src="https://www.clipartmax.com/png/full/3-31530_vector-clip-art-cedar-tree-clip-art.png">
</div>
</body>
</html>
CSS:
* {
box-sizing: border-box;
}
html, body {
height: 100%;
min-height: 100%;
}
.container {
max-width: 960px;
}
.container-nav {
height: 80px;
}
.container-home {
height: 40%;
padding: 2em 4em 0 0;
/* begin flexbox stuff */
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: right;
-ms-flex-pack: right;
justify-content: right;
}
img {
max-height: 100%;
max-width: 100%;
height: auto;
}
非常感谢任何帮助。
【问题讨论】: