css多种方式实现双飞翼布局
建站知识 2021-07-03 08:42www.168986.cn长沙网站建设
圣杯布局、双飞翼布局效果图
从效果图来看圣杯布局、双飞翼布局效果是一样一样的。
圣杯布局、双飞翼布局就是左右两侧宽度固定,中间内容宽度自适应,即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; : 0; left: 0; width: 200px; min-height: 300px; background-color: #f00; } .main{ min-height: 300px; background-color: #c32228; } .right{ position: absolute; : 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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:CSS中的四种引用方式
下一篇:css 盒模型 文档流 几种清除浮动的方法实例详解
长沙网站设计
- 如何自己建一个网站 自己想建个网站,怎么建
- 如何制作网站免费建站 创建网站免费注册
- html简单网页代码 html简单网页代码超链接
- dreamweaver网页制作 dreamweaver网页制作模板
- 上海网站建设 上海网站建设制作微信
- 如何制作网站和网页 如何制作一个网页
- html网页制作代码大全 端午节html网页制作代码大
- app开发公司 app开发公司前十名
- html网页制作 html网页制作文字居中
- app制作一个需要多少钱 请人制作一个app多少钱
- 成都网站制作 成都网站制作维护
- 百度建一个网站多少钱 百度做个公司网站要多少
- html+css网页制作成品 web网页制作成品css+javascrip
- html网页制作案例 html网页设计案例
- html+css网页制作成品 web网页制作成品css+javascrip
- 个人网站模板 个人网站模板HTML