首页 > 解决方案 > 媒体断点没有正确应用,可能很简单

问题描述

我的媒体断点没有按应有的方式应用。我整理了一个简化的例子来演示。

在下面的示例中,div“myDiv”应为:

相反,当最大宽度超过 1200 像素时,它正在读取“正常宽度”,当低于 1200 像素时,它正在读取“mw1200”。

.myContainer {
  position: absolute;
  top: 100px;
  left: 100px;
  color: #FFF;
  background-color: #000;
  padding: 10px;
  width: auto;
  height: auto;
}

.myDiv {
  padding-left: 10px;
  padding-right: 10px;
}

.myDiv:after {
  content: 'normal width';
}

@media screen and (max-width:768px) {
  .myDiv:after {
    content: 'mw768';
  }
}

@media screen and (max-width:992px) {
  .myDiv:after {
    content: 'mw992';
  }
}

@media screen and (max-width:1200px) {
  .myDiv:after {
    content: 'mw1200';
  }
}
<div class="myContainer">
  <div class="myDiv">
    myDiv inside myContainer
  </div>
</div>

标签: htmlcss

解决方案


我可能会重构它并首先使用移动设备。您可以执行以下操作:

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>

.myContainer {
    position: absolute; 
    top: 100px;
    left: 100px;
    color: #FFF;
    background-color: #000;
    padding: 10px;
    width: auto;
    height: auto;
}
.myDiv {
    padding-left:10px;
    padding-right:10px;
}

.myDiv:after {
    content: 'mw768';
}

@media screen and (min-width: 769px) {
    .myDiv:after {
        content: 'mw992';
    }
}

@media screen and (min-width: 993px) and (max-width: 1200px) {
    .myDiv:after {
        content: 'mw1200';
    }
}
</style>
</head>
<body>
<div class="myContainer">
    <div class="myDiv">                             
        myDiv inside myContainer
    </div>
</div>
</body>
</html>

这样,您将使用更少的代码来实现基本相同的目标。


推荐阅读