负边距、三栏布局

负边距在让元素产生偏移时和position: relative有什么区别?

  • 负margin会对后面的元素产生影响
  • position:relative只是在视觉上产生偏移,元素本身在文档流中的位置不变

使用负 margin 形成三栏布局有什么条件?

  • 三栏元素都要浮动
  • 父容器清除浮动,并且不能用overflow清除浮动
  • 中间栏要放在文档流最前面进行渲染
  • 左边设置margin-left:100px;右边设置margin-left:本身宽度

圣杯布局的原理是怎样的? 简述实现圣杯布局的步骤

  • 原理:元素设置浮动后,可以用负margin实现位于两侧的效果,中间栏元素用左右padding实现居中,左右栏元素用position:relative实现顶宽并且不和中间栏重合
  • 步骤:
    1.设置container的左右padding,用于预留左右边栏的空间
    2.给所有元素设置定位和浮动,用于设置左右两栏偏移
    3.给左侧边栏设置right:本身宽度,让其移动至container最左边,margin-left设置100%(center的宽度)
    4.给右侧边栏设置left:本身宽度,让其移动至container最右边,margin-left设置本身宽度

双飞翼布局的原理? 实现步骤

  • 原理:元素设置浮动后,可以用负margin实现位于两侧的效果,中间栏里定义一个新的块,用来放置内容
  • 步骤:
    1.中间栏中定义一个div,margin-left为左边栏的宽度(可以大于),margin-right为右边栏的宽度(可以大于)
    2.给所有元素设置定位和浮动,用于设置左右两栏偏移
    3.左边栏设置margin-left:100%,用于上浮
    4.右边栏设置margin-left:本身宽度,用于上浮

本教程版权归饥人谷和作者所有,转载须说明来源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容