CSS权威指南第四弹:基本视觉格式化

本文详细讲解了CSS中的基本视觉格式化,包括基本框的概念、块级元素的水平和垂直格式化规则、行内元素的特性和显示方式,以及display属性对元素显示的影响。重点阐述了宽度、高度、内外边距的处理方式,特别是百分数和负边距的应用,以及行框不变的原则。同时,介绍了替换元素的特性,如它们的宽度、高度与固有尺寸的关系,以及行内替换元素的行框处理。最后讨论了display属性改变元素显示方式的细节,如行内块元素和run-in元素的行为。
摘要由CSDN通过智能技术生成

1.基本框

假设每个元素都会生成一个或多个矩形框,成为元素框
各元素中心有个内容区,内容区周围有内边距边框和外边距
包含块
每个元素都相对于其包含块摆放,包含块是一个元素的“布局上下文”由最近的块级祖先框

2.块级元素

水平格式化
关键在于width影响的是内容区的宽度,而不是整个可见的元素框。

p{width:200px;padding:10px;margin:20px;}
//可见元素框的宽度是220px=200px + padding-left:10px+padding-right:10px
//整个元素框的宽度是260px=200px+20px+10px+10px+20px

规则:正常流中块级元素框的水平部分总和等于父元素的width
在这里插入图片描述
水平属性
1.7大属性:margin-left、 border-left 、padding-left、 width 、padding-right、 border-right、 margin-right
2.元素框与其父元素的width相同
3.width必须为auto或某种类型的非负值

使用auto
1.如果width margin-left margin-right 三个值都是固定值,margin-right会强制置为auto
2.如果width是auto其他两个值固定,width的宽将设置为所需的某个值,从而达到父元素的内容宽度
3.如果margin左右设置为auto,其两个值置为相等的长度,因此该元素会在父元素居中
4.将某个外边距及width设置为auto。设置为auto的外边距会减为0,width会设置为所需的值,使元素完全填充其包含块
5.如果三个属性都设置为auto,两个外边距会设置为0。
注意:水平外边距不会合并,父元素的内边距、边距和外边距可能影响其子元素。例如父元素内边距30px,子元素margin20px,则偏移50px

负外边距
由于7个水平属性总和要等于父元素的width,只要属性都是>=0的,元素就不会大于其父元素的内容区。

div{width:400px}
p.wide{margin-left:10px;width:auto;margin-right:-50px}
//10+0+0+440+0+0-50=400
//width的值为440px比父元素还宽,这样是合法的
//内边距、边框、内容宽度不可以为负数,只有外边距可以小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值