侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

css – 我可以创建一个流畅地适应狭窄窗口的双列布局吗?

2023-01-29 星期日 / 0 评论 / 0 点赞 / 58 阅读 / 1828 字

我正在尝试设计一个包含两列内容的页面,div#left和div#right. (我知道这些不是正确的语义标识符,但它使解释更容易)两列的宽度是固定的. 期望的结果 – 宽视口 当视口太窄而无法

... . . 我正在尝试设计一个包含两列内容的页面,div#left和div#right. (我知道这些不是正确的语义标识符,但它使解释更容易)两列的宽度是固定的.

期望的结果 – 宽视口

当视口太窄而无法并排显示时,我希望#right堆叠在#left之上,如下所示:

期望的结果 – 狭窄的视口

我的第一个想法是简单地应用float:left到#left和float:right到#right,但这使得#right将自己附加到窗口的右侧(这毕竟是浮动的正确行为),留下一个空的空间.当浏览器窗口非常宽时,这也会在列之间留下很大的差距.

错误 – div#right与视口的左侧不齐平

将float:left应用于两个div将导致错误的一个在窗口太小时移动到底部.

错了 – div#right不在div#left之上

我可以用媒体查询做到这一点,但IE直到版本9才支持这些.源顺序不重要,但我需要一些在IE7中工作最少的东西.这可能不借助Javascript吗?

.

解决方法

. 这让你非常接近(免责声明:我只在Chrome和Firefox中测试过),仅使用CSS:

<html><head><style type="text/css">div.main1{ width: 40%;     min-width:200px;     height: 400px;    border: solid 1px black;    display:inline-block;}div.main2{ width: 40%;     min-width:200px;     height: 400px;    border: solid 1px black;    float:left;}</style></head><body><div class="main1">right div</div><div class="main2">left div</div></body></html>

诀窍是内联块显示风格……其他人可能能够在此基础上做得更好,但我觉得它很接近.

Aerik

. . .. ...

广告 广告

评论区