【问题标题】:Hide div element when screen size is smaller than a specific size当屏幕尺寸小于特定尺寸时隐藏 div 元素
【发布时间】:2023-03-24 04:50:02
【问题描述】:

当浏览器的宽度小于或等于 1026px 时,我想隐藏一个 div 元素。这可以用css做吗:@media only screen and (min-width: 1140px) {}如果用css做不到,有没有其他选择?

额外信息: 当 div 元素被隐藏时,我不想要一个空白的空白。如果我从代码中完全删除了 div 元素,我希望页面能够正常流动。

我隐藏的 div 是 <div id="fadeshow1"></div>

HTML5 文档类型。

我使用 javascript 将画廊放入该 div。


我希望它在大于 1026px 宽度时看起来像这样:


我希望它在宽度小于 1026 像素时看起来像这样:

【问题讨论】:

  • 这个问题还有效吗?
  • @VitorinoFernandes:我的答案仍在获得投票,所以,是的。

标签: javascript html css


【解决方案1】:

你可以用 CSS 做到这一点:

@media only screen and (max-width: 1026px) {
    #fadeshow1 {
        display: none;
    }
}

我们使用max-width,因为当屏幕小于 小于 1026 像素时,我们希望对 CSS 进行例外处理。 min-width 将使 CSS 规则适用于所有宽度为 1026 像素且更大的屏幕。

要记住的是,@media 查询在 IE8 及更低版本上不受支持。

【讨论】:

  • 这很有魅力!!!如果你有课,那么按照 CSS 规则使用 . 而不是 #,如下所示。 @media only screen and (max-width: 1026px) { .fadeshow1 { display: none; } }
【解决方案2】:
@media only screen and (max-width: 1026px) { 
  #fadeshow1 { 
    display: none; 
  } 
}

只要屏幕宽度小于 1026 像素,{ } 内的任何内容都将适用。

Some browsers don't support media queries.你可以使用像Respond.JS这样的javascript库来解决这个问题

【讨论】:

    【解决方案3】:

    如果您使用的是引导程序,您可以根据您的需要使用 hidden-sm(lg 或 md 或 xs)。然后您可以进入 css 文件并指定您希望它显示的百分比。在下面的示例中,它将隐藏在大屏幕、中屏幕和超小屏幕上,但在小屏幕上会占据一半的屏幕。

    <div class="col-sm-12 hidden-lg hidden-md hidden-xs">what ever you want</div>
    

    【讨论】:

    • Bootstrap by defualt 有这个 css 文件,其中包含所有@media 屏幕尺寸,适用于超小型、小型、中型和大型设置,您需要做的就是根据您的需要调整它们。即使您不使用引导程序,您也可以复制并粘贴到您的 css 文件中。 文件链接-> [链接](drive.google.com/file/d/0B5X-yh_L2HHNZ2gyejdXTWRCc28/…)
    【解决方案4】:

    我不了解 CSS,但这段 Javascript 代码应该可以工作:

        function getBrowserSize(){
           var w, h;
    
             if(typeof window.innerWidth != 'undefined')
             {
              w = window.innerWidth; //other browsers
              h = window.innerHeight;
             } 
             else if(typeof document.documentElement != 'undefined' && typeof      document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) 
             {
              w =  document.documentElement.clientWidth; //IE
              h = document.documentElement.clientHeight;
             }
             else{
              w = document.body.clientWidth; //IE
              h = document.body.clientHeight;
             }
           return {'width':w, 'height': h};
    }
    
    if(parseInt(getBrowserSize().width) < 1026){
     document.getElementById("fadeshow1").style.display = "none";
    }
    

    【讨论】:

    • 在 css 中使用 @media 更容易。 Javascript 使这项任务更加复杂。
    • 我是 Web 应用程序的新手,如果我错了,请纠正我,但使用 ==! 而不是 =! 不是更好吗?
    【解决方案5】:

    您只需在 CSS 中使用媒体查询即可完成此操作。

    @media (max-width: 1026px) {
        #fadeshow1 { display: none; }
    }
    

    很遗憾有些浏览器不支持@media(看你IE8及以下)。在这些情况下,您有几个选择,但最常见的是 Respond.js,它是一个用于最小/最大宽度 CSS3 媒体查询的轻量级 polyfill。

    <!--[if lt IE 9]>
        <script src="respond.min.js"></script>
    <![endif]-->
    

    这将使您的响应式设计能够在旧版本的 IE 中运行。
    *reference

    【讨论】:

      【解决方案6】:

      你必须使用 max-width 而不是 min-width。

      <style>
          @media (max-width: 1026px) {
              #test {
                  display: none;
              }
          }
      </style>
      <div id="test">
          <h1>Test</h1>
      </div>
      

      【讨论】:

        【解决方案7】:

        这应该会有所帮助:

        if(screen.width<1026){//get the screen width
           //get element form document
           elem.style.display == 'none'//toggle visibility
        }
        

        768 像素也应该足够了

        【讨论】:

        • Visibility:hidden 使 div 不可见,但不会消除它在页面上占据的区域,因此 OP 在他的站点中间会有一个大的空白块。 Display: none更好
        【解决方案8】:
        @media only screen and (min-width: 1140px)
        

        应该做他的工作,向我们展示你的 css 文件

        【讨论】:

          【解决方案9】:

          我知道的最简单的方法是使用 onresize() func:

             window.onresize = function(event) {
                  ...
              }
          

          Here is a fiddle for it

          【讨论】:

            猜你喜欢
            • 2014-12-14
            • 2017-12-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-31
            • 2020-10-07
            相关资源
            最近更新 更多