html - 元素之间的弹性空间
问题描述
我有两个 flex 元素,我需要它们之间的空间,我在它们之间添加了一个边距,它看起来很棒,但问题是当屏幕变得最小时,第二个元素下降到新行并且我有多余的边距-对:30px,看起来不太好。我该如何解决:
我不想使用窗口调整大小事件,因为如果您在移动设备中打开此 ui,那么一开始您将这两个项目放在单独的行中。
.item-target-scale {
flex: 3;
min-width: 186px;
display: inline-block;
text-align: left;
margin-right: 30px;
}
.item-target-bar {
flex:1;
min-width: 100px;
display: inline-block;
}
解决方案
为此目的使用媒体查询。检查您的页面并找出何时发生换行符(使用 devtools 它以像素为单位提供精确的视口宽度)。
@media screen and (min-width:'calculated'px)
{
.item-target-scale {
margin-right: 0px;
}
}
希望这是你需要的。
编辑:
如果元素大小不固定,请使用此选项:
function myFunction(){
var i=document.getElementById("target1").offsetWidth+document.getElementById("target2").offsetWidth+50;
var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
if(i>=w)
{
document.getElementById("target1").style.marginRight="0px";
}
else
{
document.getElementById("target1").style.marginRight="30px";
}
}
.item-target-scale {
flex: 3;
min-width: 186px;
display: inline-block;
text-align: left;
margin-right: 30px;
background:green;
}
.item-target-bar {
flex:1;
min-width: 100px;
display: inline-block;
background:red;
}
<body onresize="myFunction()" onload="myFunction()">
<div class="item-target-scale" id="target1">
dwdwdwdwd
</div>
<div class="item-target-bar" id="target2">
eegerg
</div>
</body>
我将需要 HTML 代码来获取项目的其余大小,但这可以通过检查来完成。因此,只需在“i”中添加剩余元素的宽度。
推荐阅读
- android - 如何自动将致命错误记录到文件中?
- plotly - 运行回调后将 DASH 重定向到外部 URL
- javascript - 给定元素没有值设置器
- c# - DisplayFormat 未应用于具有相同设置的两个输入之一
- python - python list删除太近的数字
- python - TypeError:“类型”对象在使用列表和类时不可下标
- node.js - 无法使用 Cheerio 在 node.js 中获取 Youtube 频道名称
- c++ - 当我尝试将 OpenCV4.1 程序转换为 wasm 时,出现以下错误
- python - Python psutil如何找到子进程
- python - 根据另一列中的特定值对一列中的值求和