I'm one of the developers on this project, our SASS was delivered by a designer. I only know the basics of SASS, so I'm not sure if this is possible.
I have a class that I want to generate multiple times, and the class name should change depending on the mixin.
These are the mixins:
@mixin small-tablet
{
@media only screen and (max-width:767px)
{
@content;
}
}
@mixin mobile
{
@media only screen and (max-width:480px)
{
@content;
}
}
This is the part I want to add (pseudo-code):
@include small-tablet, mobile
{
table.responsive-@mixin-name
{
display: block;
}
}
And the output should something be this:
@media only screen and (max-width:767px)
{
table.responsive-small-tablet
{
display: block;
}
}
@media only screen and (max-width:480px)
{
table.responsive-mobile
{
display: block;
}
}
How can I get this result?
you could try in this way
$mobile: 480;
$smalltablet: 767;
@mixin mq($width) {
@media only screen and (max-width:#{$width}px) {
@content;
}
}
@mixin generateMediaqueries {
@include mq($mobile) {
&-mobile {
@content;
}
}
@include mq($smalltablet) {
&-small-tablet {
@content;
}
}
}
table.responsive {
@include generateMediaqueries {
display: block;
}
}
Resulting output:
@media only screen and (max-width: 480px) {
table.responsive-mobile {
display: block;
}
}
@media only screen and (max-width: 767px) {
table.responsive-small-tablet {
display: block;
}
}