Back in the past I learned a lot about CSS but now I can\'t remember how to reuse styles.
Example:
I have some tabs with class tab and I can switch
This selector inheritance is a nice feature of SASS.
If you want to stick with plain CSS, look at the section on Selector Inheritance and you can see how the SASS code, with the @extend, is turned into regular CSS.
Do this. Combine the styles and separate with a comma. Then add other rules targeting the differences.
.tab, .active {
position: relative;
top: 0;
left: 0;
width: 100%;
padding: 15px 0 15px 0;
border: solid thin #CCC;
text-align: center;
font-weight: bold;
margin-bottom: 10px;
color: #272F42;
}
.tab{
cursor: pointer;
background-color: white;
}
.active {
cursor: default;
background-color: #FFCF75;
}
EDIT
Based on your comment
I'm currently switching the tabs by adding .active style to the class attribute.
this is what I would do:
HTML
<div class="tab"></div>
CSS
.tab {
position: relative;
top: 0;
left: 0;
width: 100%;
padding: 15px 0 15px 0;
border: solid thin #CCC;
text-align: center;
font-weight: bold;
margin-bottom: 10px;
color: #272F42;
cursor: pointer;
background-color: white;
}
.active {
cursor: default;
background-color: #FFCF75;
}
Then just add or remove the .active class, leaving the .tab as is.
As long as .active is lower down in the stylesheet, it will overwrite the necessary bits.
.tab .baseChange the .tab rule to .tab, .active.
Use both class names in the class attribute. In the .active rule, define only different styles like you have already in the second example.
<div class="tab active"></div>
You can combine .active into .tab and override the parts that need to change like this:
.tab, .active {
position: relative;
top: 0;
left: 0;
width: 100%;
padding: 15px 0 15px 0;
border: solid thin #CCC;
text-align: center;
font-weight: bold;
margin-bottom: 10px;
color: #272F42;
cursor: pointer;
background-color: white;
}
.active {
cursor: default;
background-color: #FFCF75;
}