css盒模型、元素类型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
css盒模型、元素类型
css盒模型、元素类型
⼀、css盒模型的概念及组成
概念:盒模型是css布局的基⽯,它规定了⽹页元素如何显⽰以及元素间相互关系。
css定义所有的元素都可以拥有像盒⼦⼀样的外形和平⾯空间.
盒模型的组成:边框、外边界/外边距、补⽩/内填充、内容区。
⼆、盒⼦模型的相关元素
三、标准盒⼦⼤⼩计算⽅式
宽 =左右border+左右padding+width,
⾼ =上下border+上下padding+height,
例如:⼀个盒⼦的border 为 1px,padding 为 10px,content 的宽为 200px、⾼为 50px,
宽= border*2 + padding*2 + content.width = 1*2 + 10*2 +200 = 262px,
⾼= border*2 + padding*2 + content.height = 1*2 +10*2 + 50 = 112px,
怪异盒模型/IE盒⼦模型组成:margin+内容区
宽:width;
⾼:height;
四、盒模型注意事项
*margin值的解析:左右边界累加,正常⽂档流的上下边界重合。
*在正常⽂档流下,⼦元素(块)直接写margin-top时,会将margin-top属性值加上⽗元素⾝上,(⼦元素或⽗元素不设置任何浮动及定位的属性,或⽗元素不设置边框的情况下。
)
⼀个标记可以设置多个class名
语法:<标记 class="名称1 名称2 名称3 " ></标记>
© 版权(圈C)
CSS元素类型
1、元素类型分类依据和元素类型分类
2、元素类型的转换
3、inline-block元素类型的应⽤
4、置换和⾮置换元素的概念和应⽤案例
⼀、元素类型分类
根据css显⽰分类,XHTML元素被分为
两种类型:块状元素,内联元素
1.块状元素(block element)
A)块状元素在⽹页中就是以块的形式显⽰,所谓块状就是元素显⽰为矩形区域,常⽤的块状元素包块div,dl,dt,dd,ol,ul,li,(h1-
h6),p,form,hr,table,tr,td,fieldset,legend,option,thead,tbody,tfoot,caption,th等;
B)默认情况下,块状元素都会独占⼀⾏,通俗地说,两个相邻块状元素不会出现并列显⽰的现象;默认情况下,块状元素会按顺序⾃上⽽下排列。
C)块状元素都可以定义⾃⼰的宽度和⾼度。
D)块状元素⼀般都作为其他元素的容器,它可以容纳其它内联元素和其它块状元素。
我们可以把这种容器⽐喻为⼀个盒⼦
注:p标签是⼀个块元素,但它只能作为内联元素(inline element)的容器;
标题标签之间不能互相嵌套
2.内联元素(inline element)(或是⾏内元素)
A) 常见的内联元素如:a,span,i,em,strong,b,u,del,s,br,sub,sup,img,input,select,textarea,button等
B) 内联元素的表现形式是始终以⾏内逐个进⾏显⽰;
C) 内联元素没有⾃⼰的形状,不能定义它的宽和⾼,它显⽰的宽度、⾼度只能根据所包含内容的⾼度和宽度来确定,它的最⼩内容单元也会呈现矩形形状;
D)内联元素也会遵循盒模型基本规则,如可以定义padding,border,margin等属性,padding,border,margin上下的值没有实际布局功能;
⼆、元素类型的转换
元素可通过display属性来改变元素的显⽰类型
1)display属性与属性值 (18个属性值)
属性值:block/inline/inline-block(img,input,textarea,select)/none/list-item(li)/table-row(tr)/table(table)/table-cell(td)/table-header-
group(thead)/table-footer-group(tfoot)/table-row-group(tbody),flex,inline-flex;
作⽤:块状元素和内联元素之间的转换。
说明:各属性值的作⽤
1)Block块状显⽰:类似在元素后⾯添加换⾏符,也就是说其他元素不能在其后⾯并列显⽰。
或者就是让元素竖排显⽰。
2)inline内联显⽰:在元素后⾯删除换⾏符,多个元素可以在⼀⾏内并列显⽰。
或者就是让元素横排显⽰。
3)Inline-block⾏内块状显⽰:元素的内容以块状显⽰,⾏内的其他元素显⽰在同⼀⾏。
(此元素类型⽀持vertical-align属性)img,input
4)none:隐藏元素。
5)list-item:列表项,将元素转换成列表。
li的默认类型。
6)当元素设置了float属性后,就相当于该元素加了display:block;
三、inline-block元素类型的应⽤
Inline-block⾏内块元素显⽰:元素的内容以块状显⽰,⾏内的其他元素显⽰在同⼀⾏。
(此元素类型可以⽀持vertical-align属性)img,input
vertical-align:控制⼀⾏内的内联元素的垂直对齐⽅式,也可以⽀持table-cell元素直接设置vertical-align的属性,table-cell的元素不⽀持margin 属性
垂直对齐⽅式{vertical-align:baseline(基线对齐,默认值)vertical-align:top(元素的顶端与⾏中最⾼的元素顶端对齐)/bottom元素的底端与⾏中最低的元素底端对齐/middle/sub(与⽗元素的下标字体基线对齐)/super(与⽗元素的上标字体基线对齐)/text-top(与⽗元素的字体顶端对齐)/text-bottom(与⽗元素的字体底端对齐);}
四、置换和⾮置换元素的概念
拓展:
置换元素/替换元素概念:⼀个内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本⾝⼀般拥有固有尺⼨(宽度,⾼度,宽⾼⽐)的元素,这些元素往往没有实际的内容,即是⼀个空元素,置换元素就是浏览器根据元素的属性和属性值,来决定元素的具体显⽰内容。
⼤部分的置换元素的元素类型为inline-block;被称之为置换元素。
HTML中的img、input都是置换元素。
例如浏览器会根据img标签的src属性的值来读取图⽚信息并显⽰出来。
⼜例如根据input标签的type属性来决定是显⽰输⼊框,还是单选按钮等。
⾮置换元素/不可置换元素:HTML中除了可替换元素外,其它都是不可替换元素(即其内容直接表现给⽤户端例如浏览器) textarea select object
1、认识盒⼦模型
2、盒⼦模型的组成部分
3、学习盒⼦模型的相关元素 margin padding
1、padding的使⽤⽅法
说明:
填充:padding,在设定页⾯中⼀个元素内容到元素的边缘(边框) 之间的距离。
也称补⽩或填充。
⽤法:
1)⽤来调整⼦元素在⽗元素中的位置。
注:padding属性需要添加在⽗元素上。
2)padding值是额外加在元素原有⼤⼩之上的,如想保证元素⼤⼩不变,需从元素宽或⾼上减掉后添加的padding属性值
属性值的4种⽅式:
四个值:上右下左 {padding:0px 0px 0px 40px;}
三个值:上左右下 {padding:10px 20px 30px ;}
⼆个值:上下左右 {padding:10px 20px ;}
⼀个值:四个⽅向 padding:2px;/*定义元素四周填充为2px*/
说明:可单独设置⼀⽅向填充,如:上⽅向padding-top:10px; 右⽅向padding-right:10px; 下⽅向padding-bottom:10px; 左⽅向padding-left:10px;
2、margin的使⽤⽅法
说明:
边界:margin,在元素外边的空⽩区域,被称为边距/边界。
“属性值的⽤法同上”
margin-left:左边界
margin-right:右边界
margin-top:上边界
margin-bottom:下边界
属性值的4种⽅式:
四个值:上右下左
三个值:上左右下
⼆个值:上下左右
⼀个值:四个⽅向 margin:2px;/*定义元素四边边界为2px*/
margin:0 auto;/*⼀个有宽度的元素在浏览器中横向居中。
定义元素上、下边界为2px,
说明:可单独设置⼀⽅向边界,如:margin-top:10px;
注:/*上下边距重叠,左右边距相加*/。