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;
}