css双飞翼布局

仅作为小知识点补充,作笔记用
1. 保证css盒子模型size固定
2. position定位
3. 浮动和清除浮动
4. 双飞翼布局
5. 浮动的清楚与闭合
6. flex布局

保证盒子模型size固定

由于盒子模型元素的边框和内边距会撑开模型,例如:
在这里插入图片描述
解决方法是使用如下代码:

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

在这里插入图片描述

position定位

position有以下定位:static relative absolute fixed,可以百度搜索其具体概念

一个 static 元素表示它不会被“positioned”,一个 position 属性被设置为其他值的元素表示它会被“positioned”。

absolute 是最棘手的position值。 absolute 与 fixed 的表现类似,但是它不是相对于视窗而是相对于最近的“positioned”祖先元素。如果绝对定位(position属性的值为absolute)的元素没有“positioned”祖先元素,那么它是相对于文档的 body 元素,并且它会随着页面滚动而移动。记住一个“positioned”元素是指 position 值不是 static 的元素。

具体示例

使用absolute和relative可以产生很好的两列效果

清除浮动

有时候浮动的图片会大于容器
在这里插入图片描述
解决方法:

.clearfix {
overflow: auto;
zoom: 1;
}

浮动两列布局例子

在这里插入图片描述

双飞翼布局

基础:margin-left设置百分比是相对于父元素宽度的,这个宽度是不包括padding在内的。
所以设置一个容器包裹左中右三个div,容器设计padding

.container{
    padding: 0 300px 0 200px;
}

dom元素需按照 中左右依次放置:

<div class="container">
    <div class="middle"></div>
    <div class="left"></div>
    <div class="right"></div>
</div>

将被包裹的三个容器position设置为relative

body{
    min-width: 700px;
}
.container{
    padding: 0 300px 0 200px;
}
.middle{
    width: 100%;
    height: 200px;
    background: #ccc;
}
.left{
    position: relative;
    left: -200px;
    margin-left: -100%;
    width: 200px;
    height: 200px;
    background: green;
}
.right{
    position: relative;
    right:-300px;
    margin-left: -300px;
    width: 300px;
    height: 200px;
    background: orange;
}
.middle,.left,.right{
    float: left
}

对于margin-left:-100%疑惑请参考资料
首先利用 margin-left 将左右div“飞上去”,再利用float -xxxpx 转移到相应位置。

浮动的清楚和闭合

参考资料

zoom:1原理和作用

flex布局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值