第六章 盒子模型
1.盒子模型组成
边框(border)
外边距(margin)
内边距(padding)
盒子的内容(content)
2.边框
border-color:边框颜色
border-top-color 上边框颜色
border-right-color右边框颜色
border-bottom-color 下边框颜色
border-left-color 左边框颜色
border-width:边框的宽度
border-top-width
border-right-width
border-bottom-width
border-left-width
border-style:边框样式
border-top-style
border-right-style
border-bottom-style
border-left-style
常见样式:
none
hidden
dotted
dashed
solid
double
border:边框简写
同时设置边框的颜色、粗细和样式
例:border: 1px dashed red;
3.外边距margin(CSS外边距是围绕在元素边框的空白区域)
margin-top
margin-right
margin-bottom
margin-left
margin
注意:margin:0px auto;可以使元素居中对齐
4. 内边距padding(元素的内边距在边框和内容区之间)
margin-top
margin-right
margin-bottom
margin-left
margin
5. 盒子模型的尺寸
盒子模型总尺寸=border+padding+margin+内容宽度
6.box-size
content-box:默认值,盒子的总尺度
border-box:盒子的宽度或高度等于元素内容的宽度或高度
inherit:元素继承父元素的盒子模型模式
7.圆角边框(border-radius)
7.1 border-radius:x y z m;
例:border-radius: 20px 10px 50px 30px
注意:四个属性值按顺时针排列
7.2 圆形
a.元素的宽度和高度必须相同
b.圆角的半径为元素宽度的一半,或者直接设置圆角半径值为50%
例:div{
width: 100px;
height: 100px;
border: 4px solid red;
border-radius: 50%;
}
7.3 半圆
a.制作上半圆或下半圆时,元素的宽度是高度的2倍,而且圆角半径为元素的高度值
b.制作左半圆或右半圆时,元素的高度是宽度的2倍,而且圆角半径为元素的宽度值
7.4 扇形
a.“三同”是元素宽度、高度、圆角半径相同
b.“一不同”是圆角取值位置不同
7.5 盒子阴影
box-shadow:inset x-offset y-offset blur-radius color;
inset:阴影类型内阴影
x-offset:X轴位移,指定阴影水平位移量
y-offset:Y轴位移,用来指定阴影垂直位移量
blur-radius:阴影模糊半径阴影向外模糊的模糊范围
color:阴影颜色,定义绘制阴影时所使用的颜色
第七章
1.标准文档流
1.1 标准文档流:指元素根据块元素或行内元素的特性按从上到下,从左到右的方式自然排列。这也是元素默认的排列方式
1.2 标准文档流组成
a.块级元素(block)
<h1>…<h6>、<p>、<div>、列表
b.内联元素(inline)
<span>、<a>、<img/>、<strong>...
注意:内联标签可以包含于块级标签中,成为它的子元素,而反过来则不成立.
2.display属性
2.1 属性值
block:块级元素的默认值,元素会被显示为块级元素,该元素前后会带有换行符
inline:内联元素的默认值。元素会被显示为内联元素,该元素前后没有换行符
inline-block:行内块元素,元素既具有内联元素的特性,也具有块元素的特性
none:设置元素不会被显示
2.2 display特性
a.块级元素与行级元素的转变(block、inline)
b.控制块元素排到一行(inline-block)
c.控制元素的显示和隐藏(none)
3.浮动float
3.1 浮动属性值
left:元素向左浮动
right:元素向右浮动
none:默认值。元素不浮动,并会显示在其文本中出现的位置
3.2 清除浮动
left:在左侧不允许浮动元素
right:在右侧不允许浮动元素
both:在左、右两侧不允许浮动元素
none默认值。允许浮动元素出现在两侧
4.父边框塌陷
4.1 原因
浮动元素脱离标准文档流就可能导致父边框塌陷.
4.2 解决方案
a.浮动元素后面加空div
例:<div id="father">
<div class="layer01"><img src="image/photo-1.jpg" alt="日用品" /></div>
<div class="layer02"><img src="image/photo-2.jpg" alt="图书" /></div>
<div class="layer03"><img src="image/photo-3.jpg" alt="鞋子" /></div>
<div class="layer04">浮动的盒子……</div>
<div class="clear"></div>
</div>
.clear{ clear: both; margin: 0; padding: 0;}
b.设置父元素的高度
#father {height: 400px; border:1px #000 solid; }
c.父级添加overflow属性
#father {overflow: hidden;border:1px #000 solid; }
d.父级添加伪类after
<div id="father" class="clear">
<div class="layer01"><img src="image/photo-1.jpg" alt="日用品" /></div>
<div class="layer02"><img src="image/photo-2.jpg" alt="图书" /></div>
<div class="layer03"><img src="image/photo-3.jpg" alt="鞋子" /></div>
<div class="layer04">浮动的盒子……</div>
</div>
.clear:after{
content: ''; /*在clear类后面添加内容为空*/
display: block; /*把添加的内容转化为块元素*/
clear: both; /*清除这个元素两边的浮动*/
}
5.溢出处理overflow
visible: 默认值。内容不会被修剪,会呈现在盒子之外
hidden:内容会被修剪,并且其余内容是不可见的
scroll:内容会被修剪,但是浏览器会显示滚动条以便查看其余内容
auto:如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容
第八章 定位网页元素
1.定位position
static:默认值,没有定位
relative:相对定位
absolute:绝对定位
fixed:固定定位
2.static属性值
没有定位,以标准流方式显示
3.relative属性值
3.1 偏移设置:top、left、right、bottom
注意:left和top正、负取值的方向
3.2 规律:
a.设置相对定位的盒子会相对它原来的位置,通过指定偏移,到达新的位置
b.设置相对定位的盒子仍在标准文档流中
c.设置相对定位的盒子原来的位置会被保留下来
4.absolute属性值
4.1 偏移设置:top、left、right、bottom
4.2 规律
a.使用了绝对定位的元素以它最近的一个“已经定位”的“祖先元素” 为基准进行偏移
b.如果没有已经定位的祖先元素,会以浏览器窗口为基准进行定位
c.绝对定位的元素从标准文档流中脱离,
d.元素位置发生偏移后,它原来的位置不会被保留下来
注意:1)设置了绝对定位但没有设置偏移量的元素将保持在原来的位置。
在网页制作中可以用于需要使某个元素脱离标准流,而仍然希望它保持在原来的位置的情况
2)绝对定位需要设置left或者top才会生效.
5.fixed属性值
5.1 偏移设置: left、right、top、bottom
5.2 规律
类似绝对定位,不过区别在于定位的基准不是祖先元素,而是浏览器窗口
6.属性应用场景
6.1 相对定位的使用场景
相对定位一般情况下很少自己单独使用,都是配合绝对定位使用,为绝对定位创造定位父级而又不设置偏移量
6.2 绝对定位使用场景
一般情况下,绝对定位用在下拉菜单、焦点图轮播、弹出数字气泡、特别花边等场景
6.3 固定定位使用场景
一般在网页中被用在窗口左右两边的固定广告、返回顶部图标、吸顶导航栏等
注意:偏移量不会随滚动条的移动而移动
7.z-index
1).调整元素定位时重叠层的上下位置
2).z-index属性值:整数,默认值为0
3).设置了positon属性时,z-index属性可以设置各元素之间的重叠高低关系
z-index值大的层位于其值小的层上方
8.元素透明度
1)opacity:x //x值为0~1,值越小越透明
2)filter:alpha(opacity=x) //x值为0~100,值越小越透明
第九章 CSS3动画制作
1.CSS3变形transform
语法:transform:[transform-function] *;
设置变形函数,可以是一个,也可以是多个,中间以空格分开
2.变形函数
2.1 translate(tx,ty):平移函数,基于X、Y坐标重新定位元素的位置
translateX(tx):表示只设置X轴的位移
translateY(ty:表示只设置Y轴的位移
2.2 scale(tx,ty):缩放函数,可以使任意元素对象尺寸发生变化
scaleX(sx):表示只设置X轴的缩放
scaleY(sy):表示只设置Y轴的缩放
2.3 rotate(a):旋转函数,取值是一个度数值
参数a单位使用deg表示
参数a取正值时元素相对原来中心顺时针旋转
2.4 skew(ax,ay):倾斜函数,取值是一个度数值
skewX(ax):表示只设置X轴的倾斜
skewY(ay):表示只设置Y轴的倾斜
注意:rotate( )函数只是旋转,而不会改变元素的形状
skew( )函数是倾斜,元素不会旋转,会改变元素的形状
3.过渡transition
3.1 transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等
语法:transition:[transition-property transition-duration transition-timing-function transition-delay ]
3.2 过渡属性( transition-property )
1)定义转换动画的CSS属性名称
2)取值
属性名称:指定的CSS属性(width、height、background-color属性等)
all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all
3.3 过渡所需的时间( transition-duration )
定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)
3.4 过渡动画函数( transition-timing-function )
1)指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式
2)取值
ease:速度由快到慢(默认值)
linear:速度恒速(匀速运动)
ease-in:速度越来越快(渐显效果)
ease-out:速度越来越慢(渐隐效果)
ease-in-out:速度先加速再减速(渐显渐隐效果)
3.5 过渡延迟时间( transition-delay )
1)指定一个动画开始执行的时间,当改变元素属性值后多长时间去执行过渡效果
2)取值
正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发
负值:元素过渡效果会从该时间点开始显示,之前的动作被截断
0:默认值,元素过渡效果立即执行
3.6 过渡触发的机制
1)伪类触发
:hover
:active
:focus
:checked
2)媒体查询:通过@media属性判断设备的尺寸,方向等
3)JavaScript触发:用JavaScript脚本触发
3.7 使用步骤
a.在默认样式中声明元素的初始状态样式
b.声明过渡元素最终状态样式,如悬浮状态
c.在默认样式中通过添加过渡函数,添加一些不同的样式
4. animation动画
4.1 实现动画的组成部分
a.通过类似Flash动画的关键帧来声明一个动画
b.在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果
4.2 设置关键帧
语法一:
@keyframes name {
from {/*CSS样式写在这里*/}
percentage {/*CSS样式写在这里*/}
to {/*CSS样式写在这里*/}
}
语法二:
@keyframes name {
0% {width:0;}
33% {width:23px;}
66% {width:46px;}
100% {width:69px;}
}
注意:写兼容的时候浏览器前缀是放在@keyframes中间
例如:@-webkit-keyframes、@-moz- keyframes
4.3 调用关键帧
animation:animation-name animation–duration animation-timing-function
animation-delay animation-iteration-count animation-direction
animation-play-state animation-fill-mode;
animation-name:由@keyframes创建的动画名称
animation–duration:动画时间
animation-timing-function:动画方式
animation-delay:延迟时间
animation-iteration-count :动画的播放次数
animation-direction :动画的播放方向
animation-play-state :动画的播放状态
animation-fill-mode:动画开始之前和结束之后发生的操作
1)动画的播放次数(animation-iteration-count)
a.值通常为整数,默认值为1
b.特殊值infinite,表示动画无限次播放
2)动画的播放方向(animation-direction)
a.normal,动画每次都是循环向前播放
b.alternate,动画播放为偶数次则向前播放
3)动画的播放状态(animation-play-state)
a.running将暂停的动画重新播放
b.paused将正在播放的元素动画停下来
4)动画发生的操作(animation-fill-mode)
a.forwards表示动画在结束后继续应用最后关键帧的位置
b.backwards表示会在向元素应用动画样式时迅速应用动画的初始帧
c.both表示元素动画同时具有forwards和backwards的效果