欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-26 22:12:42
...

利用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>

 

页面效果如下:

利用jQuery进行三行两列等高布局
 
装入样式表,如下所示:

<head>

......

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

 

页面效果如下:

利用jQuery进行三行两列等高布局
 
引入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);
})
 

 

页面效果如下:

利用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>
    <!-- // 引入样式表文件 -->
    <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;
}
 

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