指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

scss之自适应媒体查询:

//feature.scss
div {
    text-align: right;
    margin: 0 0 10px 0;

    @include bp-small {
        padding-left: 20px;
        padding-right: 20px;
    }

    @include bp-medium {
        padding-left: 50px;
        padding-right: 50px;
    }

    @include bp-large {
        padding-left: 50px;
        padding-right: 50px;
    }
}

//common.scss:
@mixin bp-small {
  @media only screen and (max-width: 40em) {
    @content;
  }
}

@mixin bp-medium {
  @media only screen and (min-width: 40.063em) {
    @content;
  }
}

@mixin bp-large {
  @media only screen and (min-width: 60em) {
    @content;
  }
}

//上面两个scss文件在同级目录下

代码分析:

这段样式和 SCSS 代码使用了响应式设计的思想,根据不同屏幕宽度应用不同的样式。这里使用了 mixin 来定义媒体查询,然后在 div 元素的样式中调用这些 mixin。下面是对代码的分析:

div { ... }: 这是一个选择器,应用于所有 div 元素。

text-align: right;: 设置文本在 div 中右对齐。

margin: 0 0 10px 0;: 设置 div 的上、右、下、左边距为0、0、10px、0。

嵌套了三个媒体查询 mixin,分别是 bp-small、bp-medium、bp-large。

@include bp-small { ... }: 当屏幕宽度小于等于40em时,应用以下样式。

padding-left: 20px;: 在小屏幕上设置左内边距为20px。
padding-right: 20px;: 在小屏幕上设置右内边距为20px。
@include bp-medium { ... }: 当屏幕宽度大于40.063em时,应用以下样式。

padding-left: 50px;: 在中等屏幕上设置左内边距为50px。
padding-right: 50px;: 在中等屏幕上设置右内边距为50px。
@include bp-large { ... }: 当屏幕宽度大于60em时,应用以下样式。

padding-left: 50px;: 在大屏幕上设置左内边距为50px。
padding-right: 50px;: 在大屏幕上设置右内边距为50px。
这样的设计使得在不同屏幕尺寸上都能有合适的内边距,提升页面在不同设备上的可读性和用户体验。 mixin 中定义的媒体查询允许在多个地方重用相同的屏幕宽度条件,提高了代码的可维护性。