美文网首页
css布局flying-swing layout

css布局flying-swing layout

作者: 花括弧 | 来源:发表于2017-06-24 17:36 被阅读0次

本文主要阐述了,自己在对这篇文章(http://www.cnblogs.com/imwtr/p/4441741.html)的理解过程中感到困惑的地方做个补充。


先对圣杯布局作补充:
之前对盒模型不是很理解,只知道单独的一个盒子是怎样的。但是,却不知道多个盒子在嵌套,并列时,相互之间的关系该是如何的。

  • 由于父container设置了左右padding,所以 父container的所有子元素在水平方向的活动区域 被限制在(窗口的宽度 减去 父container的左右padding)这个范围内。为了之后叙述方便称“(窗口的宽度 减去 父container的左右padding)”为tWidth。
    由于middle设置了width:100%,所以middle的宽度为tWidth。
  • 在middle, left, right设置了float之后,middle占据第一行,left,right在第二行从左到右紧挨着排列(left, right之所以在第二行,是因为middle的宽度占满了第一行,所以left,right被挤到了第二行)。
  • 在left被设置了margin-left: -100%后(margin-left的value取正整数时,left元素会相对其左侧元素的右边框向右移动。value取负值,left元素则向左移动),向左移动tWidth的宽度。
    (可以把middle和left看作是紧挨着的2个元素,只不过第一行没有空间放置left,才把left放置到第二行) 将left元素向左移动tWidth后,正好middle和left的左边框对齐。
    在left元素移动后,right元素左侧紧贴middle元素右侧,位于第二行。接着设置margin-left:-220px后,right左移了220px。并且right宽度为220px,所以 right右侧紧贴middle元素右侧。
  • left,right元素设置relative,并且使用left,right属性调整position。使得left,right元素占据 父container的padding区域。

双飞翼布局 不同于 圣杯布局的地方 在于:

  • 双飞翼:main,sub,extra三者并列浮动。main元素包含了main-inner元素。
    圣杯: middle,left,right三者并列浮动。没有嵌套。
  • main的宽度100%占据窗口的宽度。sub的margin-left:-100%也是左移了窗口的宽度。
  • main-inner设置margin-left和margin-right是为了使自己的内容想中间缩。这样移动left元素,right元素后,不会叠在main-inner的内容上。

自己可能说的不太清楚,果然自己理解不透 是给别人 讲不清的。那就先这样吧。

相关文章

  • css布局flying-swing layout

    本文主要阐述了,自己在对这篇文章(http://www.cnblogs.com/imwtr/p/4441741.h...

  • test

    # Learn CSS Layout 翻译 ## Box positioning in CSS CSS布局的核心在...

  • Tailwind Table

    表格样式工具类 表格布局table layout CSS中table-layout属性用于设置表格布局的类型,即用...

  • Weex-iOS源码-CSS Layout 分析

    Layout 介绍 Layout是FaceBook开源的一个跨端CSS布局引擎。 Weex 引入了Layout 在...

  • Weex-iOS源码-CSS Layout 分析

    Layout 介绍 Layout是FaceBook开源的一个跨端CSS布局引擎。 Weex 引入了Layout 在...

  • CSS布局(layout)

    文档流(normal flow) 网页是一个多层的结构,一层摞着一层 通过CSS可以分别为每一层来设置样式 作为用...

  • CSS网页布局的常用规范

    一、文件命名规范 全局样式:global.css; 框架布局:layout.css; 字体样式:font.css;...

  • 快速开始grid布局

    Grid布局概念 CSS Gird已经被W3C纳入到css3的一个布局模块中,被称为CSS Grid Layout...

  • CSS Grid

    CSS Grid Layout是CSS为布局新增的一个网格布局的模块,网格布局主要针对Web应用程序开发。 Fle...

  • Flex 布局

    弹性布局(Flexible Box,缩写为 flex) 网页布局(layout)是CSS的一个重点应用,布局的传统...

网友评论

      本文标题:css布局flying-swing layout

      本文链接:https://www.haomeiwen.com/subject/ypmkcxtx.html