【发布时间】:2014-06-07 22:54:00
【问题描述】:
简要说明
我创建了一个响应式网站,它实际上具有三个视图(桌面、平板电脑、移动)。大多数设计都是通过 CSS 使用媒体查询来改变的(对于响应式网站来说应该是这样)。然而,部分设计过于复杂,无法简单地通过 CSS 进行操作,因为 HTML 实际上需要在 DOM 中移动。我知道这听起来不太好,但我看不出在不移动 HTML 中的某些元素的情况下如何复制这种设计。
因此,考虑到上述情况,我现在计划编写一个函数,为每个不同的“响应式视图”创建自定义事件。当每个事件被触发时(与 CSS 媒体查询同步),它将执行一些 Javascript 来移动/动画任何使用 CSS 无法充分操作的元素。
我的问题
这是最好的方法吗?如果不是,我还有什么其他选择?有没有我可以查看和学习的现有库?
我的实际问题是;对于响应式网页设计,在 DOM 中移动元素的最佳方法是什么?
进一步说明
如果以上内容不清楚,请阅读以下内容:
考虑这三种不同的观点:
现在考虑前两个视图的代码:
桌面
<div id="some_container">
<nav>
<ul>
</ul>
<nav>
<p>Some Text</p>
<!-- The rest of the content -->
</div>
平板电脑
<div id="some_container">
<p>Some Text</p>
<nav>
<ul>
</ul>
<nav>
<!-- The rest of the content -->
</div>
注意nav 标签已移至p 标签下方...
【问题讨论】:
-
我只需添加两次导航或文本,然后根据媒体查询仅显示您想要的。
-
@Cerbrus 会增加加载时间.....理想情况下不是好主意...
-
@C-link 非常非常非常少。
-
@C-link:加载时间的差异非常微不足道。它类似于具有额外一段文本的页面。 也许需要额外加载 2kB。
-
@C-link:我无法理解您的问题。 “在不同的地方多次放置”?
标签: javascript jquery html css responsive-design