javascript - CSS @Media 无法正常工作

标签 javascript html css media-queries conditional-statements

我有一段 CSS 似乎不起作用,我也不知道为什么。 - 我正在使用 Dreamweaver CC 和多个浏览器,结果是一样的。

HTML

<div class="requirements-bulletdetail hide-desktop-wide show-desktop hide-tablet hide-phone" id="left_SubPanel_Training"
    style="display:none;">
    Each MOT tester must complete a minimum of 3hrs (180 mins) of training as per the cirruculum set down by the DVSA each year.
    It's important to note that if an MOT tester is dual class (Classes 1 &amp; 2 (GROUP A) AND Classes 3 to 7 GROUP B) then
    that tester MUST complete a minimum of 3hrs (180 mins) for EACH class group.
    <a href="#none" class="innerproductlink" onClick="switcherRooLeft('subPanelTraining')" id="SubPanelLink_Training">Learn About Training ...</a>
</div>

<!-- DESKTOP WIDE-->
<div class="requirements-bulletdetail hide-desktop-wide hide-desktop hide-tablet hide-phone" id="left_SubPanel_Training"
    style="display:none;">
    Each MOT tester must complete a minimum of 3hrs (180 mins) of training <br/>as per the cirruculum set down by the DVSA
    each year. It's important to note that if an MOT tester is dual class (Classes 1 &amp; 2 (GROUP A) AND Classes 3 to 7
    GROUP B) then that tester MUST complete a minimum of 3hrs (180 mins) for EACH <br/>class group.
    <a href="#none" class="innerproductlink" onClick="switcherRooLeft('subPanelTraining')" id="SubPanelLink_Training">Learn About Training ...</a>
</div>

CSS

.hide-desktop {
    display: none;
}

.show-desktop {
    display: inline-block;
}

@media (min-width: 960px) and (max-width:1199px) {
    .hide-desktop-wide {
        display: none;
    }
    .show-desktop-wide {
        display: inline-block;
    }
}

问题是,即使我在两个部分中都有这段代码:-

<a href="#none" class="innerproductlink" onClick="switcherRooLeft('subPanelTraining')" id="SubPanelLink_Training">Learn About Training ...</a>

它不会以任何浏览器宽度显示 - 而且...我必须保持 ID 与我的 Javascript 引用它的 ID 相同。 (无论如何,我在页面上还有其他代码元素具有重复的 ID 名称,但可以正常工作。

非常感谢任何帮助/想法。

谢谢

最佳答案

与其使用媒体查询来隐藏和显示特定元素,我建议使用它来更改样式。

div 元素类的区别是:

默认

  • 隐藏桌面范围
  • 显示桌面
  • 隐藏平板电脑隐藏手机

桌面

  • 隐藏桌面范围
  • 隐藏桌面
  • 隐藏平板电脑
  • 隐藏电话

您应该将这些样式移动到媒体查询中:

@media (min-width: 960px) and (max-width:1199px) {

   //hide desktop-wide, hide-desktop, hide-table, hide-phone styles here

}

这将删除 HTML 中的重复代码,并允许完全通过 CSS 控制样式。

关于javascript - CSS @Media 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42415851/

相关文章:

Javascript 连接字符串和变量来创建 url - 但不输出 "/"斜杠

javascript - 在 JavaScript 中的表单字段旁边打印文本

css - 使用 Flexbox 作为媒体查询的替代方案

javascript - 如何在 Javascript 中动态生成只有 1 个 div 的多彩圆圈

css - 这是CSS设计的失误吗?

javascript - 为什么 '+' 运算符的行为与 javascript 中的 '*' ,'/' 和 '-' 运算符不同

javascript - 具有不透明度的 CSS3 过渡不起作用

html - 两个 div,排成一行,中间有文字

javascript - 基于所选页面在angularjs中显示/隐藏标题徽章

html - Angular 4 - 使用 Jasmine 进行单元测试 - 按钮单击代码显示错误