JSFiddle - React, Tailwind, and code Playground

HTML

<small></small>

CSS

body.not-ie small:after {
    content:"Not IE, ";
}
body.ie small:after {
    content:"IE, ";
}
body.ie7:after {
    content:"IE 7";
}
body.ie8:after {
    content:"IE 8";
}
body.ie9:after {
    content:"IE 9";
}
body.ie10:after {
    content:"IE 10";
}
body.ie11:after {
    content:"IE 11";
}
body.gecko:after {
    content:"Gecko (probably Firefox)";
}
body.webkit:after {
    content:"WebKit (probably Chrome or Safari)";
}

JavaScript

var ua = navigator.userAgent;
    if (!ua.contains("MSIE")) { // If it doesn't contain MSIE
        document.body.classList.add("not-ie");
        if (ua.contains("(Windows NT 6.3; Trident/7.0; rv:11.0)")) {
            // IE11 pretends to not be IE and doesn't contain MSIE in the default user agent, but it contains the string above
            document.body.classList.remove("not-ie");
            document.body.classList.add("ie", "ie11");
        } else if(ua.contains("Gecko")) {
            document.body.classList.add("gecko");
        } else if(ua.contains("WebKit")) {
            document.body.classList.add("webkit");
        }
    } else {
        document.body.classList.add("ie");
        if (ua.contains("11.0")) {
            // Just in case we're using an alternative user agent
            document.body.classList.add("ie11");
        } else if (ua.contains("10.6") || ua.contains("10.0")) {
            document.body.classList.add("ie10");
        } else if (ua.contains("9.0")) {
            document.body.classList.add("ie9");
        } else if (ua.contains("8.0")) {
            document.body.classList.add("ie8");
        } else if (ua.contains("7.0")) {
            document.body.classList.add("ie7");
        };
    };