作为布局的入门级选手,网上也查看了很多信息和资源

双飞翼的html结构

<div class="container">
  <div class="main">
  <div class="content">main</div>
</div>
  <div class="left">left</div>
  <div class="right">right</div>
</div>

双飞翼和圣杯的布局方式类似,都用到了关键的浮动和负值的margin-left

第一步:先正常设置长宽,同一高度为120px,由于是标准流的缘故,所以三个div盒子一共分为三层

    .left, .right, .main {
height: 120px;
}
.content {
margin: 0 300px 0 200px;
}
.left {
width: 200px;
background-color: green;
}
.right {
width: 300px;
background-color: red;
}
.main {
width: 100%;
background-color: blue;
}

效果如下

第二步:添加浮动,全部脱离标准流,因为main是的宽度是100%,占满整个盒子的宽度,所以left和right的盒子被挤到第二行

    .left, .right, .main {
height: 120px;
float: left;
}
.content {
margin: 0 300px 0 200px;
}
.left {
width: 200px;
background-color: green;
}
.right {
width: 300px;
background-color: red;
}
.main {
width: 100%;
background-color: blue;
}

效果如下

第三步:使用margin-left的负值属性来实现这个效果

这个margin-left:-100%指的是子盒子的左边框相对父盒子的右边框的距离

    .left, .right, .main {
height: 120px;
float: left;
text-align: center;
}
.content {
margin: 0 300px 0 200px;
}
.left {
width: 200px;
background-color: green;
margin-left: -100%;
}
.right {
width: 300px;
background-color: red;
margin-left: -300px;
}
.main {
width: 100%;
background-color: blue;
}

相对第二步,就多了margin-left的属性

先看right盒子,相对父盒子container,他的左边框必须距离container的右边框300px,所以是margin-left: -300px;

left一样,left盒子的左边框必须距离父盒子的右边框的100%个宽度,所以是margin-left: -100%;

效果如下

圣杯的布局类似双飞翼

多了定位,div相对少了一个

    <div class="container">
<div class="middle">middle</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
        .container {
padding: 0 300px 0 200px;
}
.left,.right,.middle {
height: 120px;
float: left;
position: relative;
text-align: center;
}
.middle {
width: 100%;
background-color: blue;
}
.left {
left: -200px;
width: 200px;
margin-left: -100%;
background-color: green;
}
.right {
right: -300px;
width: 300px;
margin-left: -300px;
background-color: red;
}

关于圣杯布局可以参考博客

https://blog.csdn.net/wangchengiii/article/details/77926868

最新文章

  1. android 关闭多个或指定activity
  2. Android5.1.1 - APK签名校验分析和修改源码绕过签名校验
  3. JAVA EE中session的理解
  4. MongoDB的基础知识
  5. List与Set的使用
  6. 游戏 window
  7. hdu_3555 bomb
  8. NOIP总结
  9. VS编译时自动下载NuGet管理的库
  10. 1293: [SCOI2009]生日礼物 - BZOJ
  11. Xamarin devexpress Grid
  12. MFC自绘控件学习总结第二贴---转
  13. Push or Pull?
  14. [Baltic2004]数字序列
  15. 论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey
  16. Shiro权限模型以及权限分配的两种方式
  17. html_学习地址
  18. Element.querySelector和Element.querySelectorAll和jQuery(element).find(selector)选择器的区别
  19. BackBone结合ASP.NET MVC实现页面路由操作
  20. 测试开发之前端——No4.HTML5中的事件属性

热门文章

  1. UVALive Archive - 6196 - Party Games
  2. hibernate反向生成
  3. MySQL优化之——为用户开通mysql权限
  4. CSS学习(十六)-HSLA颜色模式
  5. pyhton 从web获取json数据 保存到本地然后再读取
  6. php实现简单验证码的功能
  7. [JavaEE] IBM - Spring 系列: Spring 框架简介
  8. 使用 `ConfigMap` 挂载配置文件
  9. Selenium的文件上传JAVA脚本
  10. Ajax+Struts做登录判断