响应式设计:隐藏或更改元素的位置更好



我在响应式设计中需要移动两个元素(菜单项)有以下困境(目前只有两种变体,假设一种宽度超过 750 像素,另一种宽度低于 750 像素):

我应该有两个单独的 html 块,每个变体一个,并根据设计大小隐藏/显示它们吗?

还是我应该只有一个 html 块和 css 样式来玩位置?最后一个选项对于我正在计划的设计来说有点复杂,所以真正的问题可能是:有两个不同的 html 块是否太糟糕了?该页面将具有javascript和ajax交互,尽管我不确定在多大程度上。提前谢谢你。

对于响应式设计,我尽量记住一些经验法则:

  • 尽可能将其保留在CSS中。如果你的标记是合理的,你可以通过改变CSS来控制这么多。推论:不要污染HTML超过你必须做的。
  • 尽量减少发送到浏览器的数据量。移动数据连接速度慢、不可靠,并且数据上限和限制越来越严重。
  • 该页面应该合理合理,没有任何 CSS。想想Googlebot或屏幕阅读器会"看到什么"。任何网站都应该如此,尽管这并不意味着它经常如此。

基于这些,我会说不要使用两个单独的HTML块。

说明它是否"坏"是主观的,并且与你的目标有关。从可访问性的角度来看,让相同的标记出现两次并只是切换隐藏其中一个是不理想的,但是如果不了解有关设计细节的更多信息,就很难确定它应该或不应该以特定的方式完成。我想说的是,一般来说,这应该不是那么困难,因为你的标记不应该在结构上考虑布局或设计。

我认为

这取决于你如何改变设计。如果只是设计具有不同的宽度,高度,图像等,那么拥有多个HTML将违反编程的标准规则之一:

http://en.wikipedia.org/wiki/Don%27t_repeat_yourself

但是,如果设计差异是结构性的,那么拥有不同的HTML就可以了,而不是试图通过CSS强制它。

顺便说一句,如果可能的话,通过CSS做到这一点的一个好处是,当你的老板(不可避免地)出现并要求专门为1024px或更宽的设备设计的第三个版本时。如果你选择了CSS路线,那么添加另一组大小需要几分钟的工作。使用HTML路由,您将被锁定,使一切变得更加复杂。

根据我的观点,使用两个 html 块不是一个好主意......在决定隐藏哪一个和显示哪个时可能会导致混乱......但是如果不了解您的设计和目的,就无法决定......但一般来说,尽量避免两个或多个 html 块......

最新更新