web页面与多页应用(布局之浮动)

1.使用浮动来设置二列布局
利用浮动和块级元素实现的左侧宽度固定,右侧自适应宽度的布局方式

<div class="left">left</div>
<div class="right">right</div>
/* css */
.left {
  float: left;
  width: 100px;
  background-color: red;
}
.right {
  margin-left: 100px;
  background-color: green;
}

2.使用浮动

著名的有“圣杯布局”和“双飞翼布局”,他们都是左侧,右侧宽度固定。中间自适应的三列布局。

圣杯布局:“圣杯布局”中每列都用了浮动,不同的是元素顺序并没有与布局顺序一致(先写中间列而不是左边列),同时左侧元素还借助了标准文档流的相对定位。元素顺序与我们直觉不一致的目的在于让浏览器优先解析和显示中间部分内容,但带来的问题就是左侧元素的偏移值无法很好的计算

    左侧元素距离左边的偏移量 = 左侧元素宽度 + 中间元素宽度

  左侧元素宽度是固定的,这里是200px,中间元素是撑满父容器内容区域的,是相对值100%,所以无法使用单纯地做外边距来实现,需要应用兼容性更好的解决方案——相对定位

<!-- html -->
<div class="container">
  <div class="center column">center</div>
  <div class="left column">left</div>
  <div class="right column">right</div>
</div>
/*css*/
.container .column {
  float: left;
  position: relative;
}
.container {
  padding-left: 200px;
  padding-right: 150px;
}
.left {
  width: 200px;     
  margin-left: -100%;  
  right: 200px; 
  background-color: red;
}
.center {
  width: 100%;
  background-color: yellow;
}
.right {
  width: 150px; 
  margin-right: -150px; 
  background-color: green;
}

 

  “双飞翼布局”就是针对以上问题提出的,该布局不使用相对定位的方式来使左边的元素进行偏移,而是在中间的元素上加了一层父容器,并留出相应的边距让左右两边元素能顺利填充进来

<!--html-->
<div class="container">
  <div class="center-wrap column">
    <div class="center">center</div>
  </div>
  <div class="left column">left</div>
  <div class="right column">right</div>
</div>
/*css*/
.container {
  position: relative;
}
.column {
  float: left;
}
.center-wrap {
  width: 100%;
}
.center-wrap .center {
  margin-left: 200px;
  margin-right: 150px;
  background-color: yellow;
}
.left {
  width: 200px;
  margin-left: -100%;
  background-color: red;
}
.right {
  width: 150px;
  margin-left: -150px;
  background-color: green;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值