首页 / 帖子
如何针对不同设备隐藏和显示区块?

现在做一个响应式的网站,想问一下,如何能够针对不同的设备,对区块(block)进行隐藏和显示?

谢谢各位!

4个答案
AnnyO
发布于:2014-06-10 09:54

对于大型网站,一般操作区块,要使用Context模块,而为了检测设备我们可以使用Mobile Switch模块,将这两者结合有一个模块是:Context Mobile Switch,这样,你就可以把设备作为context的一个条件,指定区块显示规则了。


当然这只是Drupal官网模块中此类问题的其中一种解决方案,还有别的方案,但这种是比较简单的一种。

闻涛
发布于:2014-06-10 10:36

有两种方式:
第一:当然是采用html5+css3来实现,其中通过css3媒体查询(media queries)功能来界定不同的设备,这里需要明白媒体查询和断点相关的知识。

第二:可以通过js来控制,简单说,就是js获取到当前设备的屏幕大小,然后按照我们设定的断点来判断即可。所谓断点就是将不同的设备按照分辨率的大小分成几个区间。

关于断点设计的推荐文章: http://bbs.blueidea.com/forum.php?mod=viewthread&tid=3067289 
关于媒体查询的推荐文章: http://www.ibm.com/developerworks/cn/web/wa-cssqueries/ 
一个响应式网站的简单实例: http://developer.51cto.com/art/201311/415069.htm 

希望可以帮到你。


赵高欣
发布于:2014-06-10 14:22

没做过,第一反应是根据窗口大小改变隐藏显示状态,不过看了楼上两位的回答,觉得都比我想到的这办法靠谱

老葛
发布于:2014-06-12 15:48

Browscap: https://drupal.org/project/browscap

Browscap_block: https://drupal.org/project/browscap_block

下面这个模块能实现针对不同的设备隐藏或者显示某个模块。
PS: 有一点问题就是browscap不知道是不是天朝网络的原因,经常加载不到最新的设备文件。