CSS 布局(2 列布局,但如果没有侧边栏,主列必须 100% 宽)

标签 css layout responsive-design

第 1 列(左)用于内容。 Column2(右侧/边栏)用于相关信息。说布局是 66%/34%。如果没有侧边栏内容,我需要一种方法使 Column1 自动拉伸(stretch)到 100%。有任何想法吗。我知道这是可以做到的。我只是不记得如何。

+---------+---------+
| Content | sidebar |
+---------+---------+


+-------------------+
|Content/ no-sidebar|
+-------------------+

最佳答案

你可以尝试这样的事情。以下是两种不同的 HTML 案例:

有侧边栏:

<div id="container">
    <div id="sidebar">some content</div>
    <div id="main_content">main content</div>
</div>

没有侧边栏:

<div id="container">
    <div id="main_content">main content</div>
</div>

这是有条件地改变 main_content div 大小的 CSS:

#container {
    overflow: hidden;
}

#sidebar {
    width: 34%;
    float: right;
}

#main_content {
    width: 100%;
    float: left;
}
#main_content:nth-child(2) {
    width: 66%;
}

关于CSS 布局(2 列布局,但如果没有侧边栏,主列必须 100% 宽),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12302935/

相关文章:

html - IE 10、11 和 Edge 悬停动画时抖动

javascript - 在 flickr 上将 CSS 选择器与 beautifulsoup 一起使用时遇到困难,我做错了什么吗?

html - 如何在内容 DIV 处停止粘性页脚

javascript - Angular ui 布局切换不起作用

html - Bootstrap 响应式导航栏折叠错位

css - Bootstrap 行和列响应

javascript - 如何使用 vanillaJS 在 <body> 标签上切换 CSS 类 - 无 JQuery

javascript - 相对布局,移动版显示不正确.. HTML/CSS

java - 从左到右布局标签

javascript - 无法定义响应式 div 的宽度