CSS 固定宽度和流动内容的侧边栏
CSS sidebar with fixed width and fluid content
我正在尝试添加固定宽度的边栏。但是内容div应该是流畅的。
这是我的代码:
.page-main{
padding: 10px;
height: auto;
overflow: hidden;
}
.page-content{
background-color: red;
width: auto;
overflow: hidden;
}
.page-side {
float: right;
width: 200px;
background-color: green;
}
<div class="page-main">
<div class="page-content">
Content
</div>
<div class="page-side">
Sidebar
</div>
</div>
希望有人能帮忙。
只需将 .page-side
移到 html
中的 .page-content
之前
.page-main{
padding: 10px;
height: auto;
overflow: hidden;
}
.page-content{
background-color: red;
width: auto;
overflow: hidden;
}
.page-side {
float: right;
width: 200px;
background-color: green;
}
<div class="page-main">
<div class="page-side">
Sidebar
</div>
<div class="page-content">
Content
</div>
</div>
不确定您是否希望侧边栏宽度精确到 200 像素,您也可以按百分比分配宽度...希望这对您有所帮助
<div class="page-main">
<div class="page-content">
Content
</div>
<div class="page-side">
Sidebar
</div>
</div>
.page-main{
padding: 10px;
height: auto;
overflow: hidden;
}
.page-content{
background-color: red;
width: auto;
overflow: hidden;
float:left;
width: 61%;
}
.page-side {
float: right;
width: 200px;
background-color: green;
}
或者检查一下:https://jsfiddle.net/pjx6wqrw/3/
{编辑以从代码块中删除 jsfiddle link}
1.you可以用css表达式
.page-content {width: calc(100% - 200px);float:left}
2.or 可以将侧边栏设置为绝对,并为page-content添加margin-right
.page-side {
width: 200px;
background-color: green;
position: absolute;
right: 20px;
top: 18px;
}
.page-content {
background-color: red;
width: auto;
overflow: hidden;
margin-right: 200px;
}
您可以使用负边距。
HTML:
<div class="wrapper">
<div class="content">
</div><!-- .content -->
<div class="sidebar">
</div><!-- .sidebar -->
</div><!-- .wrapper -->
CSS:
.wrapper{
margin-right: 300px;
}
.content{
width: 100%;
float: left;
}
.sidebar{
float: right;
width: 300px;
margin-right: 300px;
}
2-3 列布局的完整说明和示例:
https://shellcreeper.com/responsive-fixed-width-sidebar-why-and-how/
我正在尝试添加固定宽度的边栏。但是内容div应该是流畅的。
这是我的代码:
.page-main{
padding: 10px;
height: auto;
overflow: hidden;
}
.page-content{
background-color: red;
width: auto;
overflow: hidden;
}
.page-side {
float: right;
width: 200px;
background-color: green;
}
<div class="page-main">
<div class="page-content">
Content
</div>
<div class="page-side">
Sidebar
</div>
</div>
希望有人能帮忙。
只需将 .page-side
移到 html
.page-content
之前
.page-main{
padding: 10px;
height: auto;
overflow: hidden;
}
.page-content{
background-color: red;
width: auto;
overflow: hidden;
}
.page-side {
float: right;
width: 200px;
background-color: green;
}
<div class="page-main">
<div class="page-side">
Sidebar
</div>
<div class="page-content">
Content
</div>
</div>
不确定您是否希望侧边栏宽度精确到 200 像素,您也可以按百分比分配宽度...希望这对您有所帮助
<div class="page-main">
<div class="page-content">
Content
</div>
<div class="page-side">
Sidebar
</div>
</div>
.page-main{
padding: 10px;
height: auto;
overflow: hidden;
}
.page-content{
background-color: red;
width: auto;
overflow: hidden;
float:left;
width: 61%;
}
.page-side {
float: right;
width: 200px;
background-color: green;
}
或者检查一下:https://jsfiddle.net/pjx6wqrw/3/
{编辑以从代码块中删除 jsfiddle link}
1.you可以用css表达式
.page-content {width: calc(100% - 200px);float:left}
2.or 可以将侧边栏设置为绝对,并为page-content添加margin-right
.page-side {
width: 200px;
background-color: green;
position: absolute;
right: 20px;
top: 18px;
}
.page-content {
background-color: red;
width: auto;
overflow: hidden;
margin-right: 200px;
}
您可以使用负边距。
HTML:
<div class="wrapper">
<div class="content">
</div><!-- .content -->
<div class="sidebar">
</div><!-- .sidebar -->
</div><!-- .wrapper -->
CSS:
.wrapper{
margin-right: 300px;
}
.content{
width: 100%;
float: left;
}
.sidebar{
float: right;
width: 300px;
margin-right: 300px;
}
2-3 列布局的完整说明和示例:
https://shellcreeper.com/responsive-fixed-width-sidebar-why-and-how/