<div id="aside">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore provident dolor in
voluptatum tempore non, placeat obcaecati totam ut delectus libero excepturi distinctio
asperiores odit nobissoluta, esse aspernatur beatae.
</div>
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore provident dolor in
voluptatum tempore non, placeat obcaecati totam ut delectus libero excepturi distinctio
asperiores odit nobissoluta, esse aspernatur beatae.
</div>
#aside{
float: left;
width: 200px;
background-color: red;
}
#content{
margin-left: 200px;
background-color: blue;
}
<div id="aside">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore provident dolor in
voluptatum tempore non, placeat obcaecati totam ut delectus libero excepturi distinctio
asperiores odit nobissoluta, esse aspernatur beatae.
</div>
<div id="content">
<div class="inner">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia labore facere delectus
quaerat expedita, tenetur recusandae tempora eos natus suscipit voluptatum necessitatibus
soluta voluptates modi ullam. Ab minima similique, illum!
</div>
</div>
#aside{
float: left;
margin-right: -200px;
width: 200px;
background-color: red;
}
#content{
float: right;
}
#content .inner{
margin-left: 200px;
background-color: blue;
}
效果图:
关键点:
是固定宽度的div脱离文档流。
利用marin负值可以使得,后面的div可以与前面的div 保持同行显示。
给包裹内容的div加margin-left 可以使得与左边的文字不重叠
第三种方法:calc()计算属性。
<div id="aside">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore provident dolor in
voluptatum tempore non, placeat obcaecati totam ut delectus libero excepturi distinctio
asperiores odit nobis soluta, esse aspernatur beatae.
</div>
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Labore provident dolor in
voluptatum tempore non, placeat obcaecati totam ut delectus libero excepturi distinctio
asperiores odit nobis soluta, esse aspernatur beatae.
</div>
#aside{
floate: left;
width: 200px;
}
#content{
floate: right;
calc(100% - 200px);
}
注意:使用calc计算属性的时候 运算符(- +等等)两边必须有空格
关键点:
注意两个div必须一左一右浮动。
calc的宽度必须要减去的宽度要与固定宽度保持一致。
第四种方法:flex
<div id="aside">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat magnam nihil
nostrum, similique dolor deserunt voluptatem pariatur alias, ipsum, error quos quo
accusantium. Deleniti neque, pariatur voluptates maxime quam perferendis!
</div>
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur tempora
sequi minima, placeat esse nulla dolor dolores praesentium illo, distinctio fugiat
eligendi debitis animi ut impedit,magni vitae officiis, architecto.
</div>
body{
display: flex;
}
#aside{
flex: 0 0 200px;
background-color: red;
}
#content{
flex: 1;
background-color:blue;
}
左侧固定,右边自适应
这是一个很常用的css布局,尤其是在后台页面当中,使用频繁。同时也是面试当中常常问到的考点。今天,我们就来终结一下。
第一种方法:浮动布局
准备工作: 先准备2个div 随便放点东西进行填充!
关键点: 一、先让固定宽度的div浮动!使其脱离文档流。 二、margin-left的值等于固定div的宽度相等。
方法二:利用margin负值。 一个类似的例子:http://jsfiddle.net/w3cplus/nyZk6/ 准备:需要三个div了。
效果图:
关键点:
第三种方法:calc()计算属性。
注意:使用calc计算属性的时候 运算符(- +等等)两边必须有空格 关键点:
第四种方法:flex
关键点:
最后: 需要说明的是方法三和方法四的兼容性不强。慎用!面试的时候可以一提。有兴趣的同学可以看看阮一峰老师的flex教程 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html http://www.ruanyifeng.com/blog/2015/07/flex-examples.html