最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

css实现双飞翼布局的四种方法(附代码)

来源:懂视网 责编:小采 时间:2020-11-02 22:07:39
文档

css实现双飞翼布局的四种方法(附代码)

css实现双飞翼布局的四种方法(附代码):本篇文章给大家带来的内容是关于css实现双飞翼布局的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。圣杯布局、双飞翼布局效果图从效果图来看圣杯布局、双飞翼布局效果是一样一样的。圣杯布局、双飞翼布局就是左右两侧
推荐度:
导读css实现双飞翼布局的四种方法(附代码):本篇文章给大家带来的内容是关于css实现双飞翼布局的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。圣杯布局、双飞翼布局效果图从效果图来看圣杯布局、双飞翼布局效果是一样一样的。圣杯布局、双飞翼布局就是左右两侧
本篇文章给大家带来的内容是关于css实现双飞翼布局的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

圣杯布局、双飞翼布局效果图

2733950049-5b9268bdbbe68_articlex.png

从效果图来看圣杯布局、双飞翼布局效果是一样一样的。
圣杯布局、双飞翼布局就是左右两侧宽度固定,中间内容宽度自适应,即100%

圣杯布局

<style>
 *{
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 }
 .clearfix:before,
 .clearfix:after{
 display: table;
 content: " ";
 clear: both;
 }
 .container{
 padding: 0 200px;
 }
 .header,
 .footer{
 height: 200px;
 font-size: 28px;
 background-color: #f3f3f3;
 }
 .left{
 position: relative;
 /* 2、将.left再次拉到最左边,否则.main的左侧会有200px的空白 */
 left: -200px;
 float: left;
 width: 200px;
 min-height: 300px;
 /* 1、将.left拉到最左边,原来.left是掉下去的 */
 margin-left: -100%;
 background-color: #f00;
 }
 .main{
 float: left;
 width: 100%;
 min-height: 300px;
 background-color: #c32228;
 }
 .right{
 position: relative;
 /* 2、将.right再次拉到最右边,否则.main的右侧会有200px的空白 */
 right: -200px;
 float: left;
 width: 200px;
 /*/1、将.right拉到最右边,原来.right是掉下去的 */
 margin-left: -200px;
 min-height: 300px;
 background-color: #f90;
 }
</style>
<div class="header">header</div>
<div class="container clearfix">
 <div class="main">main</div>
 <div class="left">left</div>
 <div class="right">right</div>
</div>
<div class="footer">footer</div>

浮动实现双飞翼布局

<style>
 *{
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 }
 .clearfix:before,
 .clearfix:after{
 display: table;
 content: " ";
 clear: both;
 }
 .header,
 .footer{
 height: 200px;
 font-size: 28px;
 background-color: #f3f3f3;
 }
 .left{
 float: left;
 width: 200px;
 min-height: 300px;
 /* 将.left拉到最左边,原来.left是掉下去的 */
 margin-left: -100%;
 background-color: #f00;
 }
 .main{
 float: left;
 width: 100%;
 min-height: 300px;
 /* .left、.right各占了200px,因此需要将其抵消掉 */
 padding: 0 200px;
 background-color: #c32228;
 }
 .right{
 float: left;
 width: 200px;
 /* 将.right拉到最右边,原来.right是掉下去的 */
 margin-left: -200px;
 min-height: 300px;
 background-color: #f90;
 }
 
</style>
<div class="header">header</div>
<div class="container clearfix">
 <div class="main">
 <div class="main-inner">main</div>
 </div>
 <div class="left">left</div>
 <div class="right">right</div>
</div>
<div class="footer">footer</div>

table-cell实现双飞翼布局(IE8也兼容哦~)

<style>
 *{
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 }
 .container{
 display: table;
 }
 .header,
 .footer{
 height: 200px;
 font-size: 28px;
 background-color: #f3f3f3;
 }
 .left,
 .right,
 .main{
 /* 外层容器使用table-cell布局,设置元素为table-cell布局后它们就能在一行显示了,display: table-cell;设置宽度无效,
因此他们的宽度由内容撑开。 */
 display: table-cell; 
 }
 .left-inner{
 width: 200px;
 min-height: 300px;
 background-color: #f00;
 }
 .main{
 width: 100%; 
 }
 .main-inner{
 min-height: 300px;
 background-color: #c32228;
 }
 .right-inner{
 width: 200px;
 min-height: 300px;
 background-color: #f90;
 }
</style>
<div class="header">header</div>
<div class="container clearfix">
 
 <div class="left">
 <div class="left-inner">left</div>
 </div>
 <div class="main">
 <div class="main-inner">main</div>
 </div>
 <div class="right">
 <div class="right-inner">right</div>
 </div>
</div>
<div class="footer">footer</div>

绝对定位实现双飞翼布局

使用绝对定位实现有个小问题:父容器的高度只能由.main的高度来决定

<style>
 *{
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 }
 .container{
 position: relative;
 padding: 0 200px;
 }
 .header,
 .footer{
 height: 200px;
 font-size: 28px;
 background-color: #f3f3f3;
 }
 .left{
 position: absolute;
 top: 0;
 left: 0;
 width: 200px;
 min-height: 300px;
 background-color: #f00;
 }
 .main{
 min-height: 300px;
 background-color: #c32228;
 }
 .right{
 position: absolute;
 top: 0;
 right: 0;
 width: 200px;
 min-height: 300px;
 background-color: #f90;
 } 
</style>
<div class="header">header</div>
<div class="container clearfix">
 <div class="left">left</div>
 <div class="main">mian</div>
 <div class="right">right</div>
</div>
<div class="footer">footer</div>

使用flex实现双飞翼布局(有兼容性问题)

<style>
 *{
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 }
 .clearfix:before,
 .clearfix:after{
 display: table;
 content: " ";
 clear: both;
 }
 .container{
 display: flex;
 }
 .header,
 .footer{
 height: 200px;
 font-size: 28px;
 background-color: #f3f3f3;
 }
 .left{
 flex: 0 0 200px;
 width: 200px;
 min-height: 300px;
 background-color: #f00;
 }
 .main{
 flex: 1;
 width: 100%;
 min-height: 300px;
 background-color: #c32228;
 }
 .right{
 flex: 0 0 200px;
 width: 200px;
 min-height: 300px;
 background-color: #f90;
 }
</style>
<div class="header">header</div>
<div class="container clearfix">
 
 <div class="left">left</div>
 <div class="main">main</div>
 <div class="right">right</div>
</div>
<div class="footer">footer</div>

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

css实现双飞翼布局的四种方法(附代码)

css实现双飞翼布局的四种方法(附代码):本篇文章给大家带来的内容是关于css实现双飞翼布局的四种方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。圣杯布局、双飞翼布局效果图从效果图来看圣杯布局、双飞翼布局效果是一样一样的。圣杯布局、双飞翼布局就是左右两侧
推荐度:
标签: 代码 html css
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top