I have:
#signUpForm h1, #signUpForm p{
color: #fff;
}
Is there a way to shorten this such as:
#signUpForm h1, p{
color: #fff;
}
Or do I need to create a new comma separated selector each time, as in my first example?
I have:
#signUpForm h1, #signUpForm p{
color: #fff;
}
Is there a way to shorten this such as:
#signUpForm h1, p{
color: #fff;
}
Or do I need to create a new comma separated selector each time, as in my first example?
It depends on the properties you are specifying and the elements you want to target, if its jut about color then you can write
#signUpForm {
color: #fff;
}
Because color property will be inherited by h1 as well as p but think of a scenario where you want to apply font-weight so here you cannot use the above selector as font-weight won't be inherited by h1 tag.
If you want, you can use CSS pre processors like LESS or SASS where you can write like
#signUpForm {
h1, p {
font-weight: 100;
}
}
But again, as I said, it depends on the properties you are writing, because some are inherited by the child elements and some are not, so even if you use color like
#signUpForm {
h1, p {
color: #fff;
}
}
Makes no sense because that is equivalent to #signUpForm { color: #fff; } unless you've specified a different color for h1 or p
Use :any.
#signUpForm :any(h1,p) { }
Browser support varies. You may need to do -webkit-any etc.
See https://developer.mozilla.org/en-US/docs/Web/CSS/:any. See also the proposal for the similar :matches CSS4 pseudo-class at http://dev.w3.org/csswg/selectors4/#matches.