我的网站上有几个页面,仅在宽屏显示器上看起来不错。像这样的东西:
|========================|
| H E A D E R |
|========================|
|Block1 | B I G |
|-------| D A T A |
|Block2 | B L O C K |
|========================|
| F O O T E R |
|========================|
对于显示器较小的人来说,这并不是很友好。
我认为如何解决这个问题的选择很少。
选项 A:删除部分内容或对其进行重组以使其正常显示以用于窄显示
|===============|
| H E A D E R |
|===============|
|Block1 | Block2|
|---------------|
| B I G |
| D A T A |
| B L O C K |
|===============|
| F O O T E R |
|===============|
选项 B:允许人们配置他们希望如何查看这些页面:全屏模式或窄屏模式。在第一种情况下,页面将按原样呈现(第一个表),如果人们选择第二种方法,它将按照选项 A(第二个表)中的描述进行配置。该项目仍需要执行项目#1,这是可以接受的
选项 C:但在我看来,让 UI 变得敏捷的最佳方法是:如果页面很宽,那么内容 div 元素将按行顺序显示;如果页面很窄,那么它们将按列顺序显示。
所以想法是 Block1,Block2 将具有相似的宽度和高度,并将由浏览器自动定位。
问题 #1:如何仅使用 HTML+CSS 标记实现选项 C?
我确实意识到,Block1,Block2 - 应该有 style="float:left",但是当我这样做时,块 2 总是在块 1 的右侧,除非浏览器窗口太窄。而且“大块”永远不会在 2 个小块的右侧(请参阅下面的代码)
问题 #2:尝试实施选项 C 是否有意义?
PS这是我的原型:
<html>
<head><title>Test blocks</title></head>
<body>
<style type="text/css">
div {
border: 1px solid black;
position: relative;
}
div.b1 {
width:300px;
height: 200px;
float: left;
}
div.b2 {
width:300px;
height: 100px;
float: left;
}
div.big {
width: 800px;
height: 200px;
float: left;
}
</style>
<div class="b1"> Block 1 </div>
<div class="b2"> Block 2</div>
<div class="big"> Big Data block</div>
</body></html>
PPS 我将边框设置为可见仅指示那些 div,我不会在最终标记中使用它