博主信息
博文 42
粉丝 0
评论 1
访问量 32488
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
圣杯及双飞翼布局方式的学习总结-2018年3月28日11时19分
邵军-山东-84918的博客
原创
663人浏览过

按照我的理解,其实圣杯布局跟双飞翼布局的实现很类似,代码大部分雷同,目的都是左右两栏固定宽度,中间部分根据自己的需要设置固定数值或者也可以自适应,圣杯方式是中间部分容器全部显示左右容器通过设置分布在两侧,双飞翼则是左右容器分别覆盖在中间容器左右位置。我分别做了一个圣杯,一个双飞翼,请看代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>圣杯</title>
</head>
<style type="text/css">
/* 页面padding及margin设置 */
   *{padding:0;margin:0;}
   /* 设置头部和底部样式 */
 .header,.footer{
    width:100%;
    height:50px;
    background-color:#F5DBF6;
   }
   /* 设置头部和底部包含区块样式 */
.content{
    width:960px;
    height:100%;
    background-color:#8A2BE2;
    text-align:center;
    line-height:50px;
    margin:0 auto;
    color:white;
}
/* 设置中间内容父容器样式 */
.container{
    width:560px;/*这个数值设置很关键,它与left right宽度之和content宽度*/
    background-color:#F0FFFF;
    margin:auto;
    overflow:hidden;
    padding:0 200px;
}
/* 设置中间子容器统一样式,全体向左浮动 */
.container .left,.middle,.right{
position:relative;
float:left;
min-height:600px;/*设置最小高度为600px*/
}
/* 设置middle样式占据100%空间 */
.container .middle{
   width:100%;
   background-color:green;
}
/* 设置left靠向左侧,然后向左侧偏移200px */
.container .left{
    margin-left:-100%;
    left:-200px;
    width:200px;
    background-color:#E48A42;
}
/* 设置right靠向左侧200px,然后向右偏移200px */
.container .right{
    margin-left:-200px;
    right:-200px;
    width:200px;
    background-color:#E48A42;
}
/* 底部清除float */
.footer{
    clear:both;
}
</style>
<body>
<!-- 网站头部 -->
    <div class="header"><div class="content">头部导航栏</div></div>

    <!-- 内容区域 -->
    <div class="container">
    <!-- 页面中部 -->
    <div class="middle">我是中部</div>
    <!-- 页面左部 -->
    <div class="left">我是左部</div>
    <!-- 页面右部 -->
    <div class="right">我是右部</div>
    </div>
    <!-- 网站底部 -->
    <div class="footer"><div class="content">底部导航栏</div></div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>双飞翼</title>
</head>
<style type="text/css">
/* 页面padding及margin设置 */
body{min-width: 700px;}
   *{padding:0;margin:0;}
   /* 设置头部和底部样式 */
.header,.footer{
    width:100%;
    height:50px;
    background-color:#8A2BE2;
    text-align:center;
    color:white;
    line-height:50px;
}
/* 设置中间子容器统一样式,全体向左浮动 */
.left,.middle,.right{
position:relative;
float:left;
min-height:600px;
}
/* 设置middle样式占据100%空间 */
.middle{
   width:100%;
   background-color:green;
}
/* 设置包含main容器的样式,左右向中间挤压,使内容显示 */
.middle .main{
    margin:0 200px 0 200px;
}
/* 设置left靠向左侧,然后向左侧偏移200px */
.left{
    margin-left:-100%;
    width:200px;
    background-color:#E48A42;
}
/* 设置right靠向左侧200px,然后向右偏移200px */
.right{
    margin-left:-200px;
    width:200px;
    background-color:#E48A42;
}
/* 底部清除float */
.footer{
    clear:both;
}
</style>
<body>
<!-- 网站头部 -->
    <div class="header">头部导航栏</div>
     <!-- 页面中部 -->
    <div class="middle"><div class="main">我是中部</div></div>
    <!-- 页面左部 -->
    <div class="left">我是左部</div>
    <!-- 页面右部 -->
    <div class="right">我是右部</div>
    <!-- 网站底部 -->
    <div class="footer">底部导航栏</div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

QQ图片20180328102528_看图王.jpg

总结:

1、html代码中 middle部分或包含middle的父容器一定首先要放在container的最前部分。然后是left,right;

2、三者一定要采用float:left,使其浮动;

3、将middle部分或包含middle的父容器设置width:100%或一定数值;

4、再根据需要调整left right位置, left设置为margin-left:-100%,right视其宽度设置margin-left为同同一值;

5、针对想采取的方式,如果想采用圣杯方式,则分别调整left、right容器的左右数值,与middle并列,想采用飞翼方式。则调整middle的margi-left margin-right数值,挤压出内容区域。


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学