关于利用css 实现右侧固定 左侧自适应布局的解决方案
2016-03-22 20:05
846 查看
最近遇到要求实现 右侧大小固定,左侧自适应的问题 ,根据亲身实现,现总结如下:
1.我们首先看一下左边固定 右边自适应的情况
html :
<div id="left"> 我在左边</div>
<div id="right"> 我在右边</div>
css : #left{ border:1px solid #000;
float:left;
width:500px;
}
#right{
border:1px solid #f00;
margin-left:600px;
}
效果如下:
此时左边大小固定,右边水平自适应左边 中间距离适中为100px;
如果 用同样的方式进行右边固定左边自适应行吗?
css:#left{
border:solid 1px red;
}
#right{
width:500px;
border:solid 1px green;
float:right;
}
效果如下:
显然不行 ,这是因为 左边的在前面,会挡住后面的块,占据了一行,
但是如果两边都用了float呢?
效果如下:
显然是不行的,这样就不能实现自适应了。
那我们应该怎样做呢?
第一种方案:
html :
<div id="right"> 我在右边</div>
<div id="left"> 我在左边</div>
css : #left{
border:1px solid #000;
margin-right:600px;
}
#right{
border:1px solid #f00;
float:right;
width:500px;}
把前后位置顺序颠倒,也可以实现右侧固定 左侧 自适应
第二种方案
利用css3 中的 cal()可以实现, 让浏览器自动计算 右边的大小;
html: <div id="left"> 我在左边</div>
<div id="right"> 我在右边</div>
css: #left{
border:1px solid #000;
width: calc(100% - 600px);
float: left;
}
#right{
float: right;
width: 500px;
border:1px solid #000;
}
效果如图:
1.我们首先看一下左边固定 右边自适应的情况
html :
<div id="left"> 我在左边</div>
<div id="right"> 我在右边</div>
css : #left{ border:1px solid #000;
float:left;
width:500px;
}
#right{
border:1px solid #f00;
margin-left:600px;
}
效果如下:
此时左边大小固定,右边水平自适应左边 中间距离适中为100px;
如果 用同样的方式进行右边固定左边自适应行吗?
css:#left{
border:solid 1px red;
}
#right{
width:500px;
border:solid 1px green;
float:right;
}
效果如下:
显然不行 ,这是因为 左边的在前面,会挡住后面的块,占据了一行,
但是如果两边都用了float呢?
效果如下:
显然是不行的,这样就不能实现自适应了。
那我们应该怎样做呢?
第一种方案:
html :
<div id="right"> 我在右边</div>
<div id="left"> 我在左边</div>
css : #left{
border:1px solid #000;
margin-right:600px;
}
#right{
border:1px solid #f00;
float:right;
width:500px;}
把前后位置顺序颠倒,也可以实现右侧固定 左侧 自适应
第二种方案
利用css3 中的 cal()可以实现, 让浏览器自动计算 右边的大小;
html: <div id="left"> 我在左边</div>
<div id="right"> 我在右边</div>
css: #left{
border:1px solid #000;
width: calc(100% - 600px);
float: left;
}
#right{
float: right;
width: 500px;
border:1px solid #000;
}
效果如图:
相关文章推荐
- DIV横向排列_CSS如何让多个div盒子并排同行显示
- 【HTML+CSS】浅谈:相对定位与绝对定位
- CSS+DIV的学习方法?
- [积累]CSS手册
- css元素的水平,竖直居中
- Css3之基础-11 Css定位(定位概念 、定位方式)
- 纯css控制-表格表头固定,内容多时滚动内容
- Css3之基础-10 Css列表(列表项标志 、列表项图像、列表项位置、列表属性)
- Css3之基础-9 Css 显示(显示方式、显示效果、光标)
- CSS3练习
- 不用gif图,用js+css实现loading效果
- 理解CSS中position的各个值
- img只显示图片一部分 或 css设置背景图片只显示图片指定区域
- Css3之基础-8 Css 浮动(定位,浮动定位)
- 深入理解CSS定位中的堆叠z-index
- BaseAdapter的三样式 IV
- windows下使用django前台无法载入css的解决办法
- link与@import
- 样式表(课堂代码)
- CSS学习