CSS中如何让盒子自动占完其余所有宽度, 比如 <body> <div1> <div2

</div><div3></div><div4></div></div></body>div1宽度100%div2和div4宽度40pxdiv2,div3左浮动div4右... </div>
<div3></div>
<div4></div>
</div>
</body>

div1宽度100%
div2和div4宽度40px
div2,div3左浮动
div4右浮动
div3占完剩余部分
展开
 我来答
325x14x43C
2017-07-05 · TA获得超过188个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:63.3万
展开全部
只用CSS是实现不了的,你要么用表格,左右定义宽度,中间自动,要么写JS来控制中间DIV宽度
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery.js"></script>
<style>
.div1{ width:100%; height:25px;}
.div2{ width:40px; height:25px; float:left;border:1px solid #777;}
.div3{ float:left;border:1px solid red;}
.div4{ width:40px; height:25px; float:right;border:1px solid #777;}
</style>
</head>

<body>
<div class="div1">
<div class="div2">
2
</div>
<div class="div3">3</div>
<div class="div4">4</div>
</div>
</body>
<script>
tmntH();//加载的时候执行一次
$(window).resize(function() {tmntH();});//浏览器窗口变化时执行
function tmntH()
{
var div3=$(".div1").width()-86+'px';//div3的宽度等于div1宽度-80-6(边框线)
//alert(div3);
$(".div3").css("width",div3);

}
</script>
</body>
</html>
c61230
推荐于2017-07-05 · TA获得超过658个赞
知道小有建树答主
回答量:601
采纳率:71%
帮助的人:152万
展开全部
可以用clac,,,因为你2.4都是固定宽度,
第3个盒子的宽度可以这样设置:width: calc(100% - 80px);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友db2a4a18
2017-05-12 · TA获得超过202个赞
知道小有建树答主
回答量:363
采纳率:85%
帮助的人:238万
展开全部
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>_</title>
<style type="text/css">
.div1{ width:100%; }
.div2{ width:40px; float:left; background:#aaa; }
.div3{ width:calc(100% - 80px); float:left; background:#ccc; }
.div4{ width:40px; float:right; background:#eee; }
</style>
</head>
<body>
<div class="div1">
<div class="div2">2</div>
<div class="div3">3</div>
<div class="div4">4</div>
</div>
</body>
</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暗黑苦无
2017-05-12 · TA获得超过716个赞
知道小有建树答主
回答量:485
采纳率:0%
帮助的人:412万
展开全部
不用浮动
display flex 父盒子和子盒子配合
自己研究下
追问
谢谢,看完了的确不错。
追答
flex是以后的趋势
楼下方法不错 但有一个缺点 就是宽度计算会以四舍五入来计算
所以很可能在某些场景实际值会少一像素 或者多一像素 导致换行或者空一边
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式