CSS自适应布局_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
3
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1964 | 回复: 2   主题: CSS自适应布局        下一篇 
_chen
版主
等级:中校
经验:2139
发帖:39
精华:0
注册:2013-8-23
状态:离线
发送短消息息给_chen 加好友    发送短消息息给_chen 发消息
发表于: IP:您无权察看 2015-8-13 10:23:38 | [全部帖] [楼主帖] 楼主

经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题。

下面我们分别来学习下,当然我也是总结下而已,有如以下方法:

一: 右侧固定宽度 左侧自适应

第一种方法:左侧用margin-right,右侧float:right  就可以实现。
HTML代码可以如下写:

 <div class="box-left">
<a href="" target="_blank">我是龙恩</a>
</div>
<div class="box-right">
<a href="" target="_blank">我是龙恩</a>
</div>


CSS代码可以如下写:

 .box-left{height:300px;margin-right:300px;background:#DDD;}
.box-right{width:300px;height:300px;float:right;background:#AAA;}


如上代码就可以实现效果。

第二种方法:左侧同样用margin-right  右侧采用绝对定位 如下代码所示:
HTML代码如下:

 <div class="bd">
<div class="bd-left">
<a href="" target="_blank">我是龙恩</a>
</div>
<div class="bd-right">
<a href="" target="_blank">我是龙恩</a>
</div>
</div>


CSS代码如下:

 .bd{position:relative;}
.bd-left{height:300px;;margin-right:300px;background:#DDD;}
.bd-right{width:300px;height:300px;position:absolute;top:0;right:0;background:#AAA;}


第三种方法:右侧浮动 且 用负margin值
HTML代码如下:

 <div class="wrap">
<div class="wrap-left">
<div class="left-con">
<a href="" target="_blank">我是龙恩</a>
</div>
</div>
<div class="wrap-right">
<a href="" target="_blank">我是龙恩</a>
</div>
</div>


CSS代码如下:

 .wrap{overflow:hidden;background:#EEE;}
.wrap-right{width:300px;position:relative;float:right;margin-left:-300px;background:#AAA;}
.wrap-left{width:100%;float:left;}
.left-con{margin-right:300px;background:#DDD;}
.left-con,.wrap-right{height:300px;}


以上是我总结的三种html css 两列布局方法(左侧自适应 右侧固定),如有不足的地方 请大家多多指教。下面我们来看看三列布局(左右固定 中间自适应的情况)。

二:左右固定 中间自适应的情况

第一种:左右侧采用浮动 中间采用margin-left 和 margin-right 方法。
代码如下:

 <div style="width:100%; margin:0 auto;">


       <div style="width:200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div>

 <div style="width:150px; float:left; background:#6FF">这是左侧的内容 固定宽度</div>


       <div style="margin-left:150px;margin-right:200px; background-color:#9F3">中间内容,自适应宽度</div>

 </div>


第二种:左右两侧采用绝对定位 中间同样采用margin-left margin-right方法:
HTML代码如下:

 <div class="l-sidebar"></div>
<div class="mainbar"></div>
<div class="r-sidebar"></div>


CSS代码如下:

 .l-sidebar {
      width:200px;
      height:500px;
      position:absolute;
      top:0;
      left:0;
      background:blue;
}
.mainbar {
margin-left:200px;
height:500px;
margin-right:300px;
background:green;
}
.r-sidebar {
      width:300px;
      height:500px;
      position:absolute;
      top:0;
      right:0;
      background:blue;
}




赞(0)    操作        顶端 
lei.zhang
注册用户
等级:少校
经验:989
发帖:7
精华:0
注册:1970-1-1
状态:离线
发送短消息息给lei.zhang 加好友    发送短消息息给lei.zhang 发消息
发表于: IP:您无权察看 2015-8-13 23:13:36 | [全部帖] [楼主帖] 2  楼

楼主最近好文章不少,会继续关注的



赞(0)    操作        顶端