外边距典型应用:
可以让块级盒子水平居中,盒子必须指定宽度(width),盒子左右的外边距必须设置为auto。
margin-left:auto;
margin-right:auto;
margin:auto;
margin:0 auto;
<div class="header"></div>
如果想让行内块、行内元素水平居中,给其父元素添加text-align:center;即可。
外边距合并:使用margin定义元素的垂直外边距,会出现外边距的合并/塌陷
1:transprant(透明边框)为父元素定义上边框
2:为父元素定义上内边距
3:为父元素添加overflow:hidden;
清除网页元素的内外边距:
谷歌有个默认8px的外边距的距离,
ul有默认40px的内边距
*{(*是通配符选择器,选择页面中所有元素)
padding:0;
margin:0;
}
行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边边距,但是转换为块级和行内元素就可以了。
盒子阴影:
用box-shaadow属性添加阴影
box-shadow:h-shadow v-shadow blur spread color inset;
h-shadow:必须,水品阴影的位置,允许负值
v-shadow:必须,垂直阴影的位置,允许负值
blur:可选,模糊距离(数值越大越模糊)
spread:可选,阴影的尺寸
color:可选,阴影的颜色
insert:可选,将外部阴影(outset)改为内部阴影。
border-shadow:10px 10px 10px 10px black;
rgba(0,0,0,3)(半透明)
原先盒子没有阴影,当鼠标经过盒子添加阴影效果:
div:hover{
border-shadow:10px 10px 10px 10px black;
}
阴影不影响盒子大小,不占用空间
text-shadow设置文字阴影,应用于文本
text-shadow:h-shadow v-shadow blur color;\
h-shadow:水平阴影的位置,允许负值
v-shadow:垂直阴影,允许负值
blur:模糊的距离
color
圆角边框,边框变圆角
border-radius:length(10px/50%);
数值越大,圆角越明显
50%就是宽度和高度的一半
CSS盒子模型:
4个组成部分
利用边框的复合型写法添加边框
计算盒子的实际大小
利用盒子模型布局模块案例
给盒子设置圆角边框
给盒子添加阴影
给文字添加阴影
网页布局三大核心:盒子模型,浮动,定位
盒子包括:边框(border),外边框(margin),内边距(padding),实际内容(content)
边框:border(粗细,样式,颜色)
border-width:5px;
border-style:solid(实线(默认黑色))|dashed(虚线)|dotted(点线);
border-color:pink;
边框的复合型写法:
border:1px solid red;(没有先后顺序)
border-top:1px solid red;(上边框)
border-bottom:1px solid red;(下边框)
border-left:1px solid red;
border-right:1px dashed blue;
border-collapse:collapse;表示相邻边框合并在一起
边框会影响盒子的大小
内边距:padding,边框与内容之间的距离。
padding-left
padding-right
padding-top
padding-bottom
padding简写可以有一到四个属性值
padding:5px;(上下左右)
padding:5px 10px;(上下,左右)
padding:5px 10px 20px;(上,左右,下)
padding:5px 10px 20px 30px;(上 右 下 左)
padding也会影响盒子的大小(如果盒子有了高度和宽度,再加padding会撑大盒子)
(内容和边框有了距离)
如果盒子本生没有指定width/height属性那么padding不会撑开盒子大小
margin外边距(盒子与盒子之间的距离)
margin-left:
margin-right:
margin-top:
margin-bottom:
传统页面布局的三种方式
本质:用css来摆放盒子
布局方式:
普通流(标准流/文档流 ,标签按照规定好的默认方式排列 )--最基本的布局方式
块级元素会独占一行,从上向下排列
浮动
浮动的作用:多个块级元素一行排列显示
如何让多个块级盒子(div)水平排列成一行
:行内块元素(之间会默认有空隙)
:
如何让两个盒子左对齐,右对齐
float;left;
float:right;
float属性用于创建浮动框,将其移动到另一边或另一个浮动框的边缘
选择器{float:属性值;}
float:none;不浮动
float:right;向左浮动
float:right;向右浮动
浮动特性:
1:浮动元素脱离标准流:脱标
浮动的盒子不再保留原来的位置,会被标准的盒子占
如果多个盒子都设置了浮动,则会按照属性值一行内显示并且顶端对齐排列
2:浮动元素会一行显示并且元素顶部对齐
3:浮动的元素具有行内块元素的属性