* { box-sizing: border-box; } body { margin: 0; padding: 0; } div { height: 100vh; margin: 0; padding: 0; } .inner { position: relative; width: 100%; float: right; margin-left: 0; margin-right: 0; clear: none; } .col { background: black; background-clip: content-box; padding-bottom: 20px; height: 25vh; color: white; } .col:nth-child(4n+1) { width: 25%; float: left; margin-right: -100%; clear: none; padding-right: 20px; clear: left; } .col:nth-child(4n+2) { width: 25%; float: left; margin-right: -100%; margin-left: 25%; clear: none; padding-right: 20px; } .col:nth-child(4n+3) { width: 25%; float: left; margin-right: -100%; margin-left: 50%; clear: none; padding-right: 20px; } .col:nth-child(4n+4) { width: 25%; float: right; margin-left: 0; margin-right: 0; clear: none; padding-right: 0; } .main { width: -webkit-calc((((100% - (300px + 20px)) / (1))) * 1); width: calc((((100% - (300px + 20px)) / (1))) * 1); float: left; margin-right: -100%; margin-left: -webkit-calc((200px + 10px)); margin-left: calc((200px + 10px)); background: red; } .primary-sidebar { background: green; width: 200px; float: left; margin-right: -100%; margin-left: 0; } .secondary-sidebar { background: green; width: 100px; float: right; margin-left: 0; margin-right: 0; }