利用jQuery进行三行两列等高布局

利用jQuery来进行等高页面布局,简单易行,而且有很好的兼容性。

准备三行两列页面布局代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>

<body>
    <div id="container">
        <!-- // 页头 -->
        <div id="header">页头</div>
       
        <!-- // 左边导航栏 -->
        <div id="left">
            <div id="menu">页左</div>
        </div>
       
        <!-- // 内容显示区 -->
        <div id="right">
            <div class="content">内容显示区</div>
        </div>
       
        <!-- // 页脚 -->
        <div id="footer">
            <div>页脚</div>
        </div>
    </div>
</body>
</html>

 

页面效果如下:


 
装入样式表,如下所示:

<head>

......

<!-- // 引入样式表文件 -->
<link href="style.css" rel="stylesheet" type="text/css" />
   
</head>

 

页面效果如下:


 
引入jQuery框架文件及编写JavaScript代码:

<head>

......

<!-- // 引入 jQuery 框架文件 -->
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
   
<script type="text/javascript">
    $(function() {
        function initLayout() {
            $('#right').width($("#container").width() - $("#left").width() - 24);
            var h = document.documentElement.clientHeight - $("#header").height() - $("#footer").height() - 20;
            $('#left').height(h);
            $('#right').height(h);
        };
        initLayout();
        $(window).resize(function(){
            initLayout();
        });
    });
</script>
   
</head>


另一个实现方法:

$(function(){
    $('#right').width($('#container').width() - $('#left').width() - 24);
    var left = $('#left').height();
    var right = $('#right').height();
    (left > right) ? $('#right').height(left) : $('#left').height(right);
})
 

 

页面效果如下:


 
完整页面代码如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
    <!-- // 引入样式表文件 -->
    <link href="style.css" rel="stylesheet" type="text/css" />
   
    <!-- // 引入 jQuery 框架文件 -->
    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
   
    <script type="text/javascript">
        $(function() {
            function initLayout() {
                $('#right').width($("#container").width() - $("#left").width() - 24);
                var h = document.documentElement.clientHeight - $("#header").height() - $("#footer").height() - 20;
                $('#left').height(h);
                $('#right').height(h);
            };
            initLayout();
            $(window).resize(function(){
                initLayout();
            });
        });
    </script>
</head>

<body>
    <div id="container">
        <!-- // 页头 -->
        <div id="header">页头</div>
       
        <!-- // 左边导航栏 -->
        <div id="left">
            <div id="menu">页左</div>
        </div>
       
        <!-- // 内容显示区 -->
        <div id="right">
            <div class="content">内容显示区</div>
        </div>
       
        <!-- // 页脚 -->
        <div id="footer">
            <div>页脚</div>
        </div>
    </div>
</body>
</html>
 

用到的页面样式如下所示:

body{
    font-family:Arial, Helvetica, sans-serif;
    font-size:12px;
    margin:0px;
    padding:0px;
    text-align:center;
    /*background-color:#0B2C8E;*/
    font-weight: lighter;
    color: #666;
}
#container{
    width:950px;
    position:relative;
    margin: 0px auto;
    text-align: left;
}
#header{
    height:150px;
    width:100%;
    background-color: #F6F6F3;
    background-image: url(images/header.png);
    background-repeat: no-repeat;
}
#left{
    float:left;
    width:160px;
    background-color: #F6F6F3;
    margin-right: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 0px;
    border: 1px solid #CCC;
    padding: 0px;
}
#right{
    float:left;
    border:1px solid #CCC;
    margin-top: 10px;
    margin-right: 0px;
    margin-bottom: 10px;
    margin-left: 0px;
    background-color: #FFF;
    background-image: url(images/login_07.gif);
    background-repeat: repeat-x;
}
#right .content {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 12px;
    line-height: 150%;
    font-weight: lighter;
    color: #333;
    margin: 20px;
}
#footer{
    height:50px;
    width:100%;
    float:left;
    background-color: #d3dff2;
}
#footer div {
    text-align: center;
    margin-top: 18px;
}
 

实例页面代码可从下面附件中获得。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值