CSS3 学习(二)

 

CSS3 动画

要创建CSS3动画,你将不得不了解@keyframes规则。@keyframes规则是创建动画。 @keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。

例:

@keyframes myfirst { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} }

语法:@keyframes animationname {keyframes-selector {css-styles;}}

animationname:必需的。定义animation的名称。

keyframes-selector:必需的。动画持续时间的百分比。合法值:0-100%、from (和0%相同)、to (和100%相同)

css-styles:必需的。一个或多个合法的CSS样式属性

使用简写属性把 animation 绑定到一个<div> 元素

语法:animation: name duration timing-function delay iteration-count direction fill-mode play-state;

animation-name指定要绑定到选择器的关键帧的名称

animation-duration动画指定需要多少秒或毫秒完成

animation-timing-function设置动画将如何完成一个周期(linear, ease, ease-in, ease-out, ease-in-out, cubic-bezier(n,n,n,n))

animation-delay设置动画在启动前的延迟间隔。

animation-iteration-count定义动画的播放次数。(infinite: 无限次)

animation-direction指定是否应该轮流反向播放动画。(normal: 动画按正常播放, reverse: 动画反向播放, alternate: 动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放, alternate-reverse: 动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放)

animation-fill-mode:规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

animation-play-state指定动画是否正在运行或已暂停。(可以用js控制动画的启动与暂停)

CSS3 多列

columns:语法:columns: column-width column-count;(设置列的宽度和列数)

column-rule:语法:column-rule: column-rule-width column-rule-style column-rule-color;(设置列中之间border的宽度规则和样式规则和颜色规则)

column-gap:指定列与列之间的间隙

column-span:指定元素要跨越多少列(在按列划分的区域内使用标签时起作用)

CSS3 用户界面

resize: 指定一个元素是否是由用户调整大小(none: 用户无法调整元素的尺寸。both: 用户可调整元素的高度和宽度。horizontal: 用户可调整元素的宽度。vertical: 用户可调整元素的高度。)

box-sizing: 允许你以适应区域而用某种方式定义某些元素(content-box设置的宽和高不会将padding和border计算在内。border-box反之)

CSS 图片

图片文字居中:

.center {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    text-align: center;
    font-size: 18px;
	margin-top:-9px;
}
<div class="container">
  <img src="http://www.runoob.com/wp-content/uploads/2016/04/trolltunga.jpg" alt="Norway" width="1000" height="300">
  <div class="center">居中</div>
</div>

CSS3 弹性盒子(Flex Box)(display: flex)

flex-direction: 指定了弹性容器中子元素的排列方式(row: 横向正序排列 row-reverse: 横向反序排列 column: 纵向正序排列 column-reverse: 纵向反序排列)

justify-content: 设置弹性盒子元素在主轴(横轴)方向上的对齐方式(flex-start:默认值。项目位于容器的开头 flex-end:项目位于容器的结尾 center:项目位于容器的中心,居中 space-between:项目位于各行之间留有空白的容器内,不算上边上两个,其他的子项会瓜分所有留白空间,所以左右两边没有留白  space-around:项目位于各行之前、之间、之后都留有空白的容器内,算上所有子项瓜分留白空间,所以左右两边会有中间子项的间距一半的留白,其实是因为所有子项参与瓜分的结果)

align-items: 设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式(stretch:默认值。元素被拉伸以适应容器 center:元素位于容器的中心, 垂直 flex-start:元素位于容器的开头,一般来说会在最上面,从最前面开始排列 flex-end:元素位于容器的结尾,一般来说会在最下面,从最后面开始排列 baseline:元素位于容器的基线上,如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效)

flex-wrap: 设置弹性盒子的子元素超出父容器时是否换行(nowrap:默认值。规定灵活的项目不拆行或不拆列 wrap:规定灵活的项目在必要的时候拆行或拆列 wrap-reverse:规定灵活的项目在必要的时候拆行或拆列,但是以相反的顺序)。

align-content: 修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐(stretch:默认值。元素被拉伸以适应容器,所处位置不会改变 center:各行向弹性盒容器的中间位置堆叠 flex-start:元素位于容器的开头 flex-end: 元素位于容器的结尾 space-between:元素位于各行之间留有空白的容器内 space-around:元素位于各行之前、之间、之后都留有空白的容器内)

flex-flow: flex-direction 和 flex-wrap 的简写

子项属性:

order: 设置弹性盒子的子元素排列顺序

align-self: 在弹性子元素上使用。覆盖容器的 align-items 属性(auto:默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch" stretch:元素被拉伸以适应容器 center:元素位于容器的中心 flex-start:元素位于容器的开头 flex-end:元素位于容器的结尾 baseline:元素位于容器的基线上)

flex: 设置弹性盒子的子元素如何分配空间(flex: flex-grow(一个数字,规定项目将相对于其他灵活的项目进行扩展的量 flex-shrink(一个数字,规定项目将相对于其他灵活的项目进行收缩的量 flex-basis:项目的长度  auto: 与 1 1 auto 相同)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值