.top,.main,.foot,.right{width:100%;}
.top{height:100px; background:#ccc; }
.main{height:600px; background:red; }
.left{width:200px; height:600px;background:blue;position:absolute;left:0;}
.right{height:600px; background:#79cbb0;position:absolute;left:210px;}
.foot{height:60px; background:#ee873b;}
.top{height:100px; background:#ccc; }
.main{height:600px; background:red; }
.left{width:200px; height:600px;background:blue;position:absolute;left:0;}
.right{height:600px; background:#79cbb0;position:absolute;left:210px;}
.foot{height:60px; background:#ee873b;}
width:100%; 默认是父辈的100%,估计你不加这个width:100%;.right的宽度就只有文档那么宽是吗?这是因为你给.right设置了position:absolute 后.right脱离文档流由块级元素变成了行内块级元素,而行内块级元素的默认宽度是文档宽度,所以加上width:100%;后才能占满main的右边。。。
.top{width:300px;background-color:#cccccc;}
.main{width:300px;background-color:#fc0200;}
.left{width:200px;float:right;height:100px;background-color:#0000fe;}
.right{width:calc(100% - 200px);float:right;height:100px;background-color:#9acc99;}
.foot{width:300px;background-color:#ff6634;clear:both;}
.main{width:300px;background-color:#fc0200;}
.left{width:200px;float:right;height:100px;background-color:#0000fe;}
.right{width:calc(100% - 200px);float:right;height:100px;background-color:#9acc99;}
.foot{width:300px;background-color:#ff6634;clear:both;}