html - 如何使用 flexbox 设置最大宽度并避免媒体查询跳转
问题描述
我有 3 个盒子,里面有 3 个用 flexbox 创建的产品(Ragnar、Thor 和 Odin)。它们在移动版本上完美运行,但是当我将浏览器窗口调整为平板电脑和桌面版本时,由于媒体查询,这些框突然变大了。我正在使用max-width
像素。我想让它更具响应性,但我不确定如何。
总而言之,盒子应该重新缩放并平滑地改变它们的宽度,直到它们达到最大宽度并且比其他主要元素更窄。
这是笔的链接:https ://codepen.io/aitormorgado/pen/MWayXPy
以下是部分 ID 和框类的代码:
#models-section {
flex-direction: column;
align-items: center;
text-align: center;
font-size: 5.5rem;
}
.product {
margin: 3rem auto;
border: 1.5px solid black;
line-height: 1.8;
max-width: 260px;
}
这是媒体查询:
@media only screen and (min-width: 768px) {
html,
body {
max-width: 70vw;
margin: 0 auto;
}
.product {
max-width: 400px;
font-size: 3.5rem;
}
}
解决方案
我试了一下,发现你的代码只需要很少的小改动。将您设置.product
为以下宽度:
.product {
margin : 3rem auto;
border : 1.5px solid black;
line-height: 1.8;
min-width : 260px;
width : 40%;
}
并删除媒体查询中的宽度。它可能并不完美。但从这一点开始,您应该能够自己优化它。
您已将宽度非常固定地设置为 260 像素和 400 像素以用于更宽的屏幕。您没有为两个值之间的转换留出空间。带有 % 的相对值应该可以修复它。
但是,您的代码还有一些其他依赖项,我无法控制。祝你好运!
推荐阅读
- c++ - 致命错误 LNK1104:无法打开文件 'sfml-system-sd.lib'
- c# - 如果在 Using 块的末尾没有调用 TransactionScope.Complete,事务会发生什么
- java - 线程“主”java.lang.NoClassDefFoundError 中的异常:Swagger 响应验证器中的 com/fasterxml/jackson/core/FormatFeature
- html - Safari没有加载我的styles.min.css
- javascript - Highchart - 点击时显示/隐藏数据标签
- python - Pytest:测试运行后如何显示生成的报告?
- php - 在 PHP 中计算总小时数和分钟数
- angular - 如何自定义角度文件上传器
- json - 将 JSON 对象转换为特定的 CSV 格式
- c# - C# - 如何使用 HTTPRedirect 绑定签署 SAML 请求