使用 CSS 在移动设备上隐藏 div

Posted

技术标签:

【中文标题】使用 CSS 在移动设备上隐藏 div【英文标题】:Hide div on mobile devices, using CSS 【发布时间】:2013-05-31 03:00:50 【问题描述】:

我想从移动设备中隐藏一个包含 facebook likebox 小部件的 div。我试过了,但它不起作用。

div 代码:

<div id="facebook" class="fb-like-box mobile-hide" data-href="https://www.facebook.com/mypage" data- data- data-show-faces="true" data-stream="false" data-header="true"></div>

css代码:

@media screen and (min-width: 0px) and (max-width: 720px) 
  #facebook  display: none; 
  .mobile-hide display: none; 

我做错了什么? 它不能使用 id 或类引用。

【问题讨论】:

你对这个元素还有其他的 CSS 规则吗? 设备的宽度分辨率是多少,可能大于720 我什至尝试过 960。我认为这不是问题。 它对我有用。您是否有定义新显示的 .fb-like-box lower down 规则? jsfiddle.net/H4vzE 不,没有别的... 【参考方案1】:

<style type="text/css">
  .mobileShow 
    display: none;
  
  /* Smartphone Portrait and Landscape */
  
  @media only screen and (min-device-width: 320px) and (max-device-width: 480px) 
    .mobileShow 
      display: inline;
    
  
</style>
<!--.mobileHide display: none;-->

<style type="text/css">
  .mobileHide 
    display: inline;
  
  /* Smartphone Portrait and Landscape */
  
  @media only screen and (min-device-width: 320px) and (max-device-width: 480px) 
    .mobileHide 
      display: none;
    
  
</style>

<body>
  <div class="mobileHide">
    <p>TEXT OR IMAGE NOT FOR MOBILE HERE
      <p>
  </div>
  <p> yep its working</p>
  <div class="mobileHide">
    <p>THIS SHOULD NOT SHOW On Mobile (view in mobile mode)
      <p>
  </div>
</body>

来源: https://blog.hubspot.com/marketing/site-content-only-mobile-viewers-can-see-ht

此代码应该可以工作,您也可以进行移动重定向,或者您可以使用 javascript 来检测设备(android 或 iPhone),但我建议将两者结合起来并注意屏幕尺寸。

其他链接

https://coderwall.com/p/i817wa/one-line-function-to-detect-mobile-devices-with-javascript

What is the best way to detect a mobile device in jQuery?

【讨论】:

【参考方案2】:

由于某种原因(我不知道)这有效:

<div  class="mobile-hide">
<div class="fb-like-box" data-href="https://www.facebook.com/mypage" data- data- data-show-faces="true" data-stream="false" data-header="true"></div>
</div>

【讨论】:

【参考方案3】:

试试这些对我有用。

示例 1:

@media only screen and (max-width: 479px) 
   .mobile-hide display: block !important; 

示例 2:

@media only screen and (max-width: 479px) 
   .mobile-hide display: none !important; 

description link

【讨论】:

【参考方案4】:

只需删除“and (min-device-width: 0px)”

【讨论】:

【参考方案5】:

我个人认为您的“显示”参数是错误的,请尝试改用可见性。我测试了它,它对我有用。

这个应该适合你:

@media only screen and (min-device-width: 0px) and (max-device-width: 720px) div#facebook visibility:hidden;

我认为你甚至可以忘记类的使用。

【讨论】:

【参考方案6】:

如果您正在处理流体网格布局,DW 已经为您创建了 3 个媒体查询。仅在手机上隐藏 DIV 应用:

#div display:none; 诀窍是,您必须将此行添加到平板电脑

#div display:block; //or inline or anything, how you wish to display it

它对我有用,希望它有用。

【讨论】:

【参考方案7】:

为什么不将邪恶的!important 添加到您的display: none 中?

【讨论】:

【参考方案8】:

好的,我前一阵子遇到了这个问题,出于某种奇怪的原因,它仅在我将媒体查询规则放在 css 末尾时才起作用。不知道为什么会这样,可能是某种错误,但请尝试一下,让我们知道这是否有效。

【讨论】:

【参考方案9】:

试试这个。

 .mobile-hide visibility: hidden; 

编辑:抱歉,是为了提高知名度。

【讨论】:

【参考方案10】:

确保您的页面定义了视口元标记。

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

有关此标签的更多信息,请参阅:Understanding The Viewport Meta Tag。

【讨论】:

这是我的视口元标记。

以上是关于使用 CSS 在移动设备上隐藏 div的主要内容,如果未能解决你的问题,请参考以下文章

桌面和移动设备上的 CSS 滚动条隐藏问题

React/CSS:为啥我的 <p> 标签在移动设备上移动它的父 <div>?

Jquery显示/隐藏根本不在移动设备上工作

Jquery显示/隐藏根本不适用于移动设备

当我将屏幕大小调整为移动设备时,我的网站移动视图在桌面上正确显示隐藏元素,但在我的手机上它们没有隐藏

防止图像在移动设备上加载