scss如何处理@screen

发布于 2022-09-12 02:03:18 字数 1080 浏览 19 评论 0

我目前的处理方法是,写一个mix-in

@mixin screen_handle{
  @media screen and (max-width: 1200px) and (min-height: 900px) {
    @content
  }
}

然后这样用

#container{
    width: 20rem;
    @include screen_handle{
        width: 95%
    }
    >input{
        padding: 1rem;
        @include screen_handle{
            padding: 2rem 1rem;
        }
    }
}
    /*
     实际情况下#container和input之间有很多元素,所以不考虑以下方法
         @include screen_handle{
            width: 95%;
            >input{
               padding: 2rem 1rem;
            }
         }
    */

这就造成生成的csc是这样的

#container {
    width: 20rem; 
}
@media screen and (max-width: 1200px) and (min-height: 900px) {
    #container {
        width: 95%; 
    } 
}
#container > input {
    padding: 1rem; 
}
@media screen and (max-width: 1200px) and (min-height: 900px) {
    #container > input {
        padding: 2rem 1rem;
    } 
}
有两个相同的@screen显然不合理,请问该如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情深缘浅 2022-09-19 02:03:18

目前github的issue提到了这个问题,有人提出了比较好的解决方案,但是作者还没有更新。等更新吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文