Адаптивный одно- дву- трехколоночный макет (float margin)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<!-- 1 columns -->
<div class="main"></div>
<!-- 2 columns -->
<div class="lefside"></div>
<div class="main"></div>
<!-- 3 columns -->
<div class="lefside"></div>
<div class="rightside"></div>
<div class="main"></div>
</body>
</html>
.main {
width: 100%;
}
.leftside {
float: left;
width: 20%;
}
.rightside {
float: right;
width: 30%;
}
.leftside + .main {
width: 80%;
margin-left: 20% /* = leftside width */
}
.rightside + .main {
width: 50%;
margin-left: 20%; /* = leftside width */
margin-right: 30%; /* = rightside width */
}