使用 Twitter Bootstrap 构建响应式网站时,可以使用伟大的 JavaScript 组件,例如选项卡或折叠(手风琴)。但是,某个组件的选择不一定适用于所有设备。
在我的情况下,在桌面版本中,我使用 选项卡。但在智能手机版本中,由于屏幕尺寸较小,选项卡变得无法使用,因为只要有三个或更多选项卡,它们就无法适合一行。 相反,对于移动版本,折叠 将是一个不错的替代方案。
我的问题旨在澄清执行此更改的最佳实践。我可以想象两种解决方法,但都相当丑陋,我想知道是否有更干净的解决方案:
在我的情况下,在桌面版本中,我使用 选项卡。但在智能手机版本中,由于屏幕尺寸较小,选项卡变得无法使用,因为只要有三个或更多选项卡,它们就无法适合一行。 相反,对于移动版本,折叠 将是一个不错的替代方案。
我的问题旨在澄清执行此更改的最佳实践。我可以想象两种解决方法,但都相当丑陋,我想知道是否有更干净的解决方案:
使用CSS类visible-desktop创建一个选项卡内容,使用CSS类visible-phone创建一个折叠内容。这样做的缺点是实际的选项卡内容必须被重复传递,并且如果它包含用户生成的HTML代码(如我的情况),一旦用户输入带有id的HTML元素,就会导致W3C无效的代码(因为该id将在页面上出现两次)。
通过JavaScript从选项卡更改为折叠。这不是一个令人满意的解决方案,因为a)它需要执行javascript,b)需要更改许多代码(请参见文档中标记的差异)。