Add THIS CSS Property to Your Content Scripts
Learn a very useful CSS property for content scripts that allows injected elements to have a consistent appearance.
Table of Contents 📖
Content Script Style Inheritance
As content scripts are injected into a webpage, they inherit the CSS styles from the webpage. This causes elements to look different on different websites. For example, a div appended to example.com will look different than a div appended to wittcepter.wittcode.com.
WARNING: WittCepter is the name of my Chrome Extension. Go check it out on the Chrome Webstore!
const myDiv = document.createElement('div');
myDiv.textContent = 'Hello, world!';
document.body.appendChild(myDiv);
div {
width: 600px;
margin: 5em auto;
padding: 2em;
background-color: #fdfdff;
border-radius: 0.5em;
box-shadow: 2px 3px 7px 2px rgba(0, 0, 0, 0.02);
}
div {
font-family: 'Roboto';
padding: 0;
margin: 0;
}
The CSS all Property
To maintain consistent styles across webpages, we can use the CSS all property. This property resets all other properties to their initial values.
myDiv.style = 'all: initial;';
Setting all to initial changes all the properties applied to the element to their initial values. Now the div that we appended looks the same on every site.