[CSS3] 盒模型 & overflow & resize & outline

盒模型是css中非常的重要
百度 tencent 美团 等等等等等等 校招面试都问过的问题

(1) W3C & IE 两种盒模型

<div>
<p class="p1"> Citic Securities </p>
</div>
/*在p外面 定义一个div 为了方便看清楚*/
div{
    display: inline-block;
    border:1px solid red;
}
p{
    width:100px;
    height:100px;
    background:orange;
    border:5px dashed green;
    padding:10px;
    margin:20px;
}

W3C标准模式:

width=content padding border margin根据设定看定

 定义的width和height是内容的长度和宽度
 padding 和 margin border再次定义的话, 会自动扩展

firefox,chrome, safari, opera, IE6+ 都是W3C标准的浏览器

这里写图片描述

IE模式(IE5 测试):

这里写图片描述

width= content+ border+ padding

 设定的width= content+ border+ padding
      height一样
 如果 border=10px padding=10px width=100
     那么留给content为100-10*2-10*2=60

Test:

Chrome:
这里写图片描述
IE8
这里写图片描述
IE5
这里写图片描述


(2) box-sizing 解决问题

主要解决盒模型的解析模式
但是IE7以下的浏览器不支持box-sizing 所有使用有限

box-sizing: content-box(W3C 模式)
box-sizing: border-box (IE6-7 或 IE6以下)

【1】 Chrome 测试 两种不同
这里写图片描述
这里写图片描述


【2】 Examples
这里写图片描述


(3) overflow

定义了盒子的大小, 容纳的内容就受限了, 如果内容超过了定义的盒子大小

p{  
    width:136px;
    height:136px;
    background:orange;
    margin:20px;
    display: inline-block;
}
.p1{
    overflow: visible;
}
.p2{
    overflow: hidden;
}
.p3{
    overflow: auto;
}
.p4{
    overflow: scroll;
}

这里写图片描述


(4) resize 自由缩放

  resize: horizontal
          vertial
          both
          none
    resize:both;
    overflow: auto;

这里写图片描述
这里写图片描述


(5) outline

outline 和 border 效果相似
outline不占用布局空间, 属于动态样式, 只要元素获取焦点或者激活时呈现

p{  
    width:200px;
    height:136px;
    background:orange;
    outline:20px solid #333;
    margin: 40px;
}

这里写图片描述

outline 和 border 不同的点是:
不会影响盒模型, 同时不会影响文档流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值