JSFiddle - React, Tailwind, and code Playground
HTML
<div class="menu"><include src="menu.html"></include></div><!--
--><div class="grid">
<div class="cell" id="cell1"></div><!--
--><div class="cell" id="cell2"><include src="2.html"></include></div><!--
--><div class="cell" id="cell3"><include src="3.html"></include></div><!--
--><div class="cell" id="cell4"><include src="4.html"></include></div>
</div>
CSS
* {margin:0;padding:0}
html,body {
background:gray;
overflow:hidden;
width:100%;
height:100%;
}
.cell.iframe.include{line-height:0;}
div {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
line-height:1.2em;
}
.cell iframe {
border:0 none;
display:inline-block;
width:100%;
height:100%;
}
/* configure zones */
.menu {
display:inline-block;
background:#555555;
height:100vh;
vertical-align:top;
width:20vw;
min-width:20vw;
}
.grid {
display:inline-block;
vertical-align:top;
line-height:0;
width:80%;
height:100vh;
}
/* configurate cells */
.cell {
display:inline-block;
border:1px red solid;
width:50%;
height:50vh;
overflow:auto;
}
.cell:nth-child(3n+1) {
background:teal;
}
/*configure elements in cells*/
.cell .info {
background-color:red;
position:relative;
right:0.8em;
float:right;
bottom:0;
margin-top:-1.9em;
display:inline-block;
z-index:0;
font-size:24px;
}
.cell h1 {
padding:10px;
}
JavaScript
function loadWithScrollCorrect(f,id) {
var o=document.getElementById(id);
includeHTML(f,o,function() {
if(o.getElementsByTagName("iframe").length>0)
o.style.overflow="hidden";
});
};
//loadWithScrollCorrect('1.html','cell1');
/*
Если загружаем здесь блок(и), тогда убираем теги <include></include> из соответствующих ячеек.
*/