单侧固定,其余自适应
<div id="app">
<div id="left"></div>
<div id="right"></div>
</div>
利用浮动
#app {
height: 100vh;
}
#left {
width: 100px;
height: 100%;
float: left;
background-color: red;
}
#right {
height: 100%;
margin-left: 100px;
background-color: yellow;
}
// 清除浮动
#app:after {
content: '';
display: block;
clear: both;
}
flex布局
#app {
height: 100vh;
display: flex;
}
#left {
/* 不放大 */
flex-grow: 0;
/* 不缩小 */
flex-shrink: 0;
flex-basis: 100px;
background-color: red;
}
#right {
width: 100%;
background-color: yellow;
}
两侧固定,中间自适应
浮动
<div id="app">
<div id="left">left</div>
<div id="right">right</div>
<div id="main">main</div>
</div>
#left {
float: left;
background-color: red;
}
#right {
float: right;
background-color: red;
}
#main {
background-color: yellow;
}
flex布局
<div id="app">
// 主题内容先加载
<div id="main">main</div>
<div id="left">left</div>
<div id="right">right</div>
</div>
#app {
display: flex;
}
#left {
background-color: red;
flex-grow: 0;
flex-shrink: 0;
flex-basis: 100px;
}
#right {
order: 1;
background-color: red;
flex-grow: 0;
flex-shrink: 0;
flex-basis: 100px;
}
#main {
width: 100%;
background-color: yellow;
}
双飞翼布局
<div id="app">
<div id="main">
<div id="content">
<h1>双飞翼布局</h1>
</div>
</div>
<div id="left">left</div>
<div id="right">right</div>
</div>
#main {
float: left;
width: 100%;
background: yellow;
height: 100px;
}
#left {
background: red;
float: left;
width: 300px;
margin-left: -100%;
height: 100px;
}
#right {
background: blue;
float: left;
width: 300px;
margin-left: -300px;
height: 100px;
}
#content {
width: 100%;
height: 100%;
padding: 0 300px;
box-sizing: border-box;
}