【踩坑】vue中使用媒体查询方法和不生效问题总结

在vue中是不能直接使用@media的,我们必须结合less或者sass来使用它

一、安装依赖项

只要你安装了sass就行。

npm install sass-loader node-sass --save-dev

二、@/assets/scss/media.scss

这一步,自己创建一个scss文件,这路径不用跟我一样,自己改就行。

@media screen and (min-width:1400px) {
    .time_comparison_wrap{
        margin-top: 80px;
        .wrap_title {
            text-align: center;
            font-size: 16px;
            margin: 10px 0;
            font-weight: 700;
          }
    }
    .time_comparison_title {
        text-align: center;
        margin-bottom: 20px;
        font-size: 20px;  
        margin-top: 5;
      }
  }

三、把scss文件引入到main.js文件内。

import "@/assets/scss/media.scss"
如果以上三部做完测试发现媒体查询不生效,那么基本是以下几种情况,排查一遍错误看看:

错误一:在html结构文件里必须引入代码

<meta name="viewport" content="user-scalable=0,width=device-width, initial-scale=1.0">

width=device-width, initial-scale=1.0 这两个比较重要
width=device-width 是指可视化宽度
initial-scale=1.0 是指缩放比例

错误二:格式书写错误and后面必须有空格例如下面代码

@media screen and (min-width:1400px) {}

错误三:样式冲突;@media查询代码的样式被后面的css所覆盖

错误四:css本身出了问题导致css不生效(若前四项错误都确定不存在,多半问题就出在这)

div{display:flex;}/*那么div所有的display效果都将无法生效*/

例如块元素浮动导致父级元素没有高度;此时给父元素加背景颜色发现没有生效,实际上是css导致的错误,而没有显示。
例如css选择的优先级也会导致对其中一种生效另外一种不生效,等等css错误导致的问题也非常多,就不一 一列举了。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

接口写好了吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值