JSFiddle - React, Tailwind, and code Playground
HTML
<div class="or cf">
<div class="a"><h1>A</h1></div>
<span>OR</span>
<div class="b"><h1>B</h1></div>
</div>
<div class="or cf">
<div class="a"><h1>A!</h1></div>
<span>OR</span>
<div class="b or cf">
<div class="a"><h1>B</h1></div>
<span>OR</span>
<div class="b"><h1>C</h1></div>
</div>
</div>
<div class="or cf">
<div class="a or cf">
<div class="a"><h1>A</h1></div>
<span>OR</span>
<div class="b"><h1>B</h1></div>
</div>
<span>OR</span>
<div class="b"><h1>C!</h1></div>
</div>
CSS
.cf:before, .cf:after {
content: " ";
display: table;
}
.cf:after {
clear: both;
}
.cf {
*zoom: 1;
}
* {
margin: 0;
padding: 0;
}
body {
text-align: center;
padding: 20px;
}
h1 {
padding: 30px 0;
}
.or {
width: 100%;
position: relative;
}
.or:hover {
background-color: #f9f9f9;
}
.or > .a {
width: 50%;
height: 100%;
z-index: 0;
float: left;
}
.or > .b {
width: 50%;
height: 100%;
z-index: 0;
float: right;
}
.or > .or > .a {
width: 100%;
height: 50%;
}
.or > .or > .b {
width: 100%;
height: 50%;
}
.or span {
position: absolute;
margin-top: -0.5em;
top: 50%;
left: 50%;
margin-left: -20px;
width: 40px;
z-index: 1;
}
.or > .a:hover, .or > .b:hover {
background-color: #eee;
}
.or > .or > .a:hover, .or > .or > .b:hover {
background-color: #ddd;
}