首页 > 代码库 > 页面自适应布局解决方案

页面自适应布局解决方案

当你在网页中看视频的时候,一般页面中都会有个播放器,你会注意到,播放器的左面一般都会有个可伸缩的列表,如图云迅雷播放页.

技术分享

下面我提供两种解决方案:

html代码一般是这样的:

        <div class="content" id="main">

  <div class="con_right">

       <div class="right_margin">

           <div>播放页部分</div>

       </div>

   </div>

   <div class="con_left">

       <div>左边栏内容</div>

   </div>

</div>

高度自适应浏览器全屏解决方法:

a)、用样式表控制

.content{

position: absolute;

top: 0;

right: 0;

bottom: 0;

left: 0;

height: 100%;

overflow: hidden;

background:#232632;

}

以上代码使最外层容器绝对定位之后,上下左右四边都与浏览器可视化边框贴紧,从而做到了适配各种屏幕,但这种方法方法不适用于ie低端浏览器。

b)、用js动态读取浏览器可视化高度并赋值与外层容器class=”content”

高度自适应js代码

        +function(){

var oMain = $(‘#main‘); // 定义变量

var wHeight = $(window).height();// 获取浏览器可是化窗口高度

oMain.height(wHeight);// 外层容器高度赋值

window.onresize = function(){ 

//调用onresize事件在窗口或框架被调整大小时发生

var wHeight = $(window).height();

oMain.height(wHeight);

}

}();

考虑兼容高低端浏览器,a方案不适用,b方案可以使用。

宽度自适应布局(左侧定宽)方法:

方法一:负边距

样式表代码:

.con_left{

float:left;

clear:left;

width:144px;

height:100%;

};

.con_right{

float:right;

width:100%;

}

.right_margin{

margin-left:144px;

};

方法二:绝对定位用Js动态获取右侧可变宽度

样式表代码:

.con_left {

position: absolute;

bottom: 0;

left: 0;

top: 0;

width: 144px;

height: 100%;

background: #232632;

border-right:1px solid #000000;

}

.con_right{

position: absolute;

right: 0;

height: 100%;

width: 100%;

};

.right_margin{

position: absolute;

bottom: 0;

left: 144px;

top: 0;

right:0;

}

右侧宽度取值js代码

+function(){

var width = $(window).width()-$(‘.con_left‘).width();

$(‘.con_right‘).width(width_spread);

window.onresize = function(){

//调用onresize事件在窗口或框架被调整大小时发生

var width = $(window).width()-$(‘.con_left‘).width();

//获取右侧宽度=浏览器宽度-左侧变化宽度(伸缩状态)

$(‘.con_right‘).width(width_spread); // 右侧宽度赋值

}

}();

方案一、二实现效果无兼容性差异。方案一简单易懂的css样式表,但无法满足播放页右侧单一内容撑开全屏的要求,这里推荐使用方案二。

综上所述:播放页自适应宽高二栏布局我们推荐使用的最终方案为:方案b+方案二

注:要引入jq。



本文出自 “时光” 博客,请务必保留此出处http://timeblog.blog.51cto.com/8650972/1591831

页面自适应布局解决方案