Extending Selectors in Media Queries with Sass
Question:
One desires to embed .item within .item.compact when the screen contracts, but Sass throws an error when attempting to extend using @media. How can one achieve this without reproducing styles?
Answer:
Unfortunately, Sass prohibits extending outer selectors from within media queries. The restriction necessitates alternative approaches:
1. Using a Mixin:
Define a reusable mixin that encapsulates the desired styles. Both within and outside of media queries, extend this mixin:
@mixin compact { // Styles for compact items } %compact { @include compact; } // Usage .item { @extend %compact; } @media (max-width: 600px) { .item { @include compact; } }
2. Nesting Extenders Within a Media Query:
This approach allows extending selectors defined outside of media queries:
%foo { @media (min-width: 20em) { color: red; } } @media (min-width: 30em) { %bar { background: yellow; } } // Usage .foo { @extend %foo; } .bar { @extend %bar; }
3. Awaiting Sass Update:
Discussions regarding this restriction are ongoing. Implementing a solution might require a change in Sass syntax or functionality.
The above is the detailed content of How to Extend Selectors in Sass Media Queries?. For more information, please follow other related articles on the PHP Chinese website!

In a perfect world, our projects would have unlimited resources and time. Our teams would begin coding with well thought out and highly refined UX designs.

Oh, the Many Ways to Make Triangular Breadcrumb Ribbons

SVG has its own set of elements, attributes and properties to the extent that inline SVG code can get long and complex. By leveraging CSS and some of the forthcoming features of the SVG 2 specification, we can reduce that code for cleaner markup.

You might not know this, but JavaScript has stealthily accumulated quite a number of observers in recent times, and Intersection Observer is a part of that

We may not need to throw out all CSS animations. Remember, it’s prefers-reduced-motion, not prefers-no-motion.

PWA (Progressive Web Apps) have been with us for some time now. Yet, each time I try explaining it to clients, the same question pops up: "Will my users be

It's extremely surprising to me that HTML has never had any way to include other HTML files within it. Nor does there seem to be anything on the horizon that

There are a lot of different ways to use SVG. Depending on which way, the tactic for recoloring that SVG in different states or conditions — :hover,


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version
Useful JavaScript development tools