一、今日知识点
1 什么叫盒子模型
就是将HTML页面中的布局元素看做是一个矩形的盒子,盒子的内容包括边框、外边距、内边距和实际内容。
2 边框
border属性可以设置边框样式,属性值由三部分组组成:边框的粗细、边框的样式、边框的颜色
语法:border: border-width border-style border-color;
border-style常用属性:solid(实线、最常用)、dashed(虚线)、dotted(点线)。
表格的细线边框
使用border-collapse:collapse; 来设置表格的细线边框,collapse是合并的意思
边框对于盒子大小的影响
边框会影响盒子的实际大小,加了边框盒子会变大,我们可以在设置盒子大小的时候将边框的宽度加上,即可。
3 内边距
padding属性可以控制内边距,就是边框和盒子内容之间的距离
padding-left 左内边距
padding-right 右内边距
padding-top 上内边距
padding-bottom 下内边距
复合属性
padding: 10px; 上下左右内边距都是10px
padding: 10px 20px; 上下内边距是10px 左右内边距是20px
padding: 10px 20px 30px; 上内边距是10px 左右是20px 下是30px
adding: 10px 20px 30px 40px; 上右下左内边距分别是10px 20px 30px和40px ,顺时针方向从上内边距开始
内边距的特殊情况
没有宽度的盒子,padding不会撑开盒子的宽度
4 box-sizing(怪异盒模型)
content-box(默认值)
默认的盒子模型的设置,盒子的整个大小是宽度+padding+border
border-box
怪异盒模型,盒子宽度和高度设定好之后不会随着padding和border的变化而变化,前提是padding和border的值不要超过盒子的大小。
5 外边距
margin属性来控制盒子的外边距,就是盒子和盒子之间的距离
margin-left 左外边距
margin-right 右外边距
margin-top 上外边距
margin-bottom 下外边距
复合属性
margin: 10px; 上下左右外边距都是10px
margin: 10px 20px; 上下外边距是10px 左右外边距是20px
margin: 10px 20px 30px; 上外边距是10px 左右是20px 下是30px
margin: 10px 20px 30px 40px; 上右下左外边距分别是10px 20px 30px和40px ,顺时针方向从上内边距开始
外边距的典型应用
块元素盒子水平居中
使用方法:
1、盒子必须有宽度
2、盒子的左右外边距设置为auto
行内元素的水平居中
行内元素或者行内块元素水平居中就给父元素加text-align-center;即可
外边距的合并问题
相邻块元素垂直外边距合并
当上面的盒子有下外边距,下面的盒子有上外边距,两个盒子之间的垂直距离会采用较大的外边距值。
嵌套块元素的上外边距塌陷
对于嵌套的块元素,父元素和子元素都有上外边距,实际的上外边距采用它们之间的较大的上外边距值。
解决方案
1、可以给父元素定义上边框
2、给父元素定义上内边距
3、给父元素添加overflow:hidden;
清除内外边距
网页很多的元素的都有默认的内外边距,所以我们一般会在通配符选择其中将这些样式给清除掉。
注意点:行内元素一般不要设置上下的内外边距,进行只设置左右的,如果想设置就将该行内元素转化为行内块元素或者块元素。
6 圆角边框
border-radius属性,可以设置外边框的圆角
属性值:像素值。
注意点:
属性值可以是具体的数值或者百分比,border-radius指的是圆的半径
如果画一个正圆,可以先设置一个正方形的盒子,然后再将border-radius的值设置为50%即可,
如果要画一个椭圆,可以先设置一个长方形的盒子,然后将border-radius的值设置为50%即可
可以通过属性分别设置四个角的圆角边框
7 盒子阴影
使用属性box-shadow来设置盒子阴影
语法 box-shadow: h-shadow v-shadow blur spread color inset;
h-shadow 必须值 控制阴影的水平位置
v-shadow 必须值 控制阴影的垂直位置
blur 可以省略 模糊距离
spread 可以省略 阴影的尺寸
color 可以省略 阴影的颜色
inset 可以省略,控制阴影是外部还是内部阴影,外部阴影为outset,但是如果外部阴影设置之后,阴影属性会失效,一般不做操作。
|