JSFiddle - React, Tailwind, and code Playground
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");
};
};