Using types in selectors reduces the flexibility and narrows the applicability of CSS styles. Classes should be preferred as they improve the understandability by giving elements a context-specific name. For example:
.myBox span {
color: black;
}
This styling can only be applied to a limited subset of all containers with the .someThing class. Furthermore the reader cannot identify what the span actually represents. An alternative using a class instead of a type does not have this issue:
.myBox .headline {
color: black;
}
The intent is clear and the contextual understandability improved dramatically.
span {
display: block;
}
.mybox div {
color: red;
}
You can exclude certain types via the configuration of this rule as e.g. the anchor type is a valid exception from this rule as it should always denote a link of some sort.