JSFiddle - React, Tailwind, and code Playground

by Victor

HTML

<div class="switch cf">
    <div>Yes</div>
    <div>No</div>
    <span> </span>
</div>

SCSS

html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}
.switch {
    background: #e3e3e3;
    position:relative;
    div {
        width: 50%;
        display:inline-block;
        float:left;
        background: blue;;
        position:relative;
        z-index:1;
        margin:0;
        padding:10px;
        text-align: center;
    }
    span {
        position:absolute;
        display: block;
        top:0;
        left:0;
background: red;
width:50%;        

        height:100%;
        z-index:10;
    }
}