开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 490|回复: 2
收起左侧

[已解决] 网页css,多个子元素宽度不一,如何合理利用空间?

 关闭 [复制链接]
结帖率:99% (152/153)
发表于 2023-8-25 17:08:12 | 显示全部楼层 |阅读模式   广东省江门市
9精币
CIQKPIAPF8MP7QDW8BWY.png

目前做的一个标签布局,父元素使用的是inline-flex布局,子元素的宽度是不一致的,这导致了很多的右侧空间浪费掉了,有什么办法能将这些空白的地方,用短的子元素填充进去?

让他看起来不那么空旷,不知道意思表达到位没有。有css能实现这个吗?还是说要JS来计算

最佳答案

查看完整内容

跟上面说的差不多 [mw_shl_code=javascript,true] Untitled .inline-flex { width: 300px; } .parent { display: inline-flex; flex-wrap: wrap; } .child { flex-grow: 1; padding: 10px; box-sizing: border-box; } 子元素 11111111111111 子元素 2 子元素 3 子元素 4 子元素 5 子元素 6 子元素 7aaaaaaaaa 子元素 8 子元素 9 子元素 10 子元素 11 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

签到天数: 8 天

发表于 2023-8-25 17:08:13 | 显示全部楼层   山东省潍坊市
11.png
跟上面说的差不多
[JavaScript] 纯文本查看 复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
        <title>Untitled</title>
        <style>
        .inline-flex {  
width: 300px; 
}
        .parent {  
 display: inline-flex;  
 flex-wrap: wrap;  
}
.child {  
 flex-grow: 1;  
 padding: 10px;  
 box-sizing: border-box;  
}
</style>
</head>

<body>
<div class="inline-flex">  
<div class="parent">  
 <div class="child">子元素 11111111111111</div>  
 <div class="child">子元素 2</div>  
 <div class="child">子元素 3</div>  
 <div class="child">子元素 4</div>  
 <div class="child">子元素 5</div>  
 <div class="child">子元素 6</div>  
 <div class="child">子元素 7aaaaaaaaa</div>  
 <div class="child">子元素 8</div>  
 <div class="child">子元素 9</div>  
 <div class="child">子元素 10</div>  
 <div class="child">子元素 11</div>  
 <div class="child">子元素 12</div>  
</div>  
</div>  


</body>
</html>



补充内容 (2023-8-25 17:23):
但还是安顺序来的 你那样的估计不好实现

评分

参与人数 1荣誉 +1 收起 理由
项目部004 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:90% (18/20)
发表于 2023-8-25 17:15:42 | 显示全部楼层   湖南省邵阳市
你可以使用CSS来实现这个效果,而无需使用JavaScript来计算。下面是一种可能的解决方案:

首先,你可以将父元素的布局改为`flex`,而不是`inline-flex`。这样可以让子元素在父元素内部占据多行空间。

然后,给子元素添加一个自适应的宽度属性,使它们能够填充剩余的空间。你可以使用`flex-grow`属性来实现这一点。将`flex-grow`属性设置为一个大于0的值,表示子元素可以根据剩余空间进行扩展。

以下是一个示例代码:

```css
.parent {
  display: flex;
  flex-wrap: wrap;
}

.child {
  flex-grow: 1;
}
```

在这个示例中,`.parent`是父元素的类名,`.child`是子元素的类名。通过将`.parent`的`display`属性设置为`flex`,并将`.child`的`flex-grow`属性设置为1,子元素将根据剩余空间进行扩展,填充父元素的多余空间。

请注意,这种方法会将子元素的宽度平均分配到可用空间。如果你希望子元素的宽度按照不同的比例进行分配,可以使用`flex-basis`属性来指定子元素的初始宽度。

希望这可以帮助到你!如果你有任何其他问题,请随时提问。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表