前端问题请教,关于页面自适应布局

2014-03-26 11:02:43 +08:00
 andybest
在宽屏幕下,显示为:


有没有可能在宽度缩小后变为:


这个样子?最方便的实现方式是什么?
2084 次点击
所在节点    问与答
11 条回复
bzw875
2014-03-26 11:08:18 +08:00
用js吧,CSS我不知道怎么做到。
learnshare
2014-03-26 11:09:39 +08:00
查看一下源码就可以了吧。

具体实现的话,左右两块内容可以通过浮动实现,窄屏换行可以通过 MediaQuery + display(inline -> block) 实现
andybest
2014-03-26 11:09:51 +08:00
@bzw875 谢谢,纯JS实现感觉有点重,有没类似的响应式布局的前端框架可以实现?

还有。。。CSS+HTML是肯定无法实现的对吗
andybest
2014-03-26 11:10:36 +08:00
@learnshare 页面是我 PS 的,就是画个例子说明情况,实际没见过这样的动态页面
learnshare
2014-03-26 11:15:43 +08:00
@andybest HTML+CSS 可以实现,不算太复杂,抽空我写写看
sneezry
2014-03-26 11:17:16 +08:00
media query
NemoAlex
2014-03-26 11:18:48 +08:00
两种方式:
优雅的方式是使用 CSS Media Query,不过低级浏览器会不支持
详见这里: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

JS 的话就不够优雅,不过胜在兼容性好
基本思路是在页面初始化和 resize 的时候检查一下页面宽度,根据不同条件给一个比较外层的元素一个 Class,例如在默认是窄的情况,宽的时候是 .wide
然后 CSS 里写 .wide xxx {} 来覆盖默认的样式就好了
jsonline
2014-03-26 11:19:54 +08:00
flexbox
binux
2014-03-26 11:19:59 +08:00
media query 可以做到啊
learnshare
2014-03-26 11:21:09 +08:00
@NemoAlex 这个方法可以做出来
Keinez
2014-03-26 11:28:06 +08:00
media query,写两套css即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/105928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX