Css3和H5

css3 基础

1.圆角 border-radius

 - 值 百分比 50% 100%

 - 值 像素值 根据圆的直径算角的弧度

 - 如果是合并角 先写上下 再写左右

   border-bottom-left-radius:50px;对

   border-left-bottom-radius:50px;错

2.背景渐变

  - 线性渐变 background:linear-gradient(red,green);

    颜色占比 background:linear-gradient(red 40%,green 30%);

    方向改变,默认从上往下 ,从左往右 to right

    background:linear-gradient(to right,red 40%,green 30%);

  - 径向渐变

    background:radial-gradient(red,green);

    颜色占比 background:radial-gradient(red 40%,green 30%);

 

 border-image 边框图片

补充内容:

盒子阴影box-shadow

apx bpx cpx dpx e;

a阴影水平的位置,当a的为0 阴影就是水平左右平均

b阴影垂直的位置,当b的为0,阴影就垂直上下都平均

c阴影模糊程度,c值越大模糊程度越大

d阴影的范围,d值越大阴影范围越大

e阴影的颜色 直接写色值或者16进制

 

文字阴影text-shadow 只有4个值

text-shadow: 0px 1px 7px #293D6B;

 第一个值 阴影水平位置 0 就是左右均等,正数往右,负数往左

 第二个值 阴影垂直位置 0 上下均等,正数往下,负数往上

 第三个值 模糊程度  0 是完全不模糊,值越大模糊程度越大

第四个值 阴影的色值

 

3.过渡 transition

  transition:3s;

  transition:all 3s;所有属性都过渡3秒

 

2d转换只有两个轴X轴和Y轴,3d转换右3个轴 X,Y,Z

 

4.2d转换 transform

- 位移 translate

  transform:translate(100px,200px)第一个值是X轴的坐标,第二个值是Y轴坐标

  transform:translateX(100px) 水平位移向右100px,正值往右,负值往左

  transform:translateY(100px) 垂直位移向下100px,正值往下,负值往上

- 旋转 rotate 单位是度数 deg

  transform:rotate(200deg);正数顺时针,负数逆时针

  transform:rotateX(200deg); x轴顺时针旋转200度

  transform:rotateY(-200deg);Y轴逆时针旋转200度

- 缩放 scale

  0.1-0.9是缩小的倍数,1-无穷大正整数放大的倍数

  transform: scale(2,3);X放大两倍,Y轴放大3倍

  transform: scaleX(0.5);X缩小0.5倍

  transform: scaleY(0.1);Y轴缩小的0.1倍

- 倾斜 skew  单位度数deg

  transform:skew(60deg,60deg);X Y轴同时倾斜60deg

  transform:skewX(60deg);X轴倾斜60deg

  transform:skewY(60deg);Y轴倾斜60deg

 

- 矩阵 matrix(n,n,n,n,n,n) 定义2d转换用6个值

  矩阵是通过算法将上面4个 位移,旋转,缩放,倾斜效果同时写出来

要实现位移,旋转,缩放,倾斜同时的效果写法:  transform: translate(600px,100px) rotate(-360deg) scale(2,0.5) skew(60deg,60deg);

 

 

3d空间显示的2个必要条件

1.透视 perspective (近大远小,数值大距离远就小,数值小距离近就大)

  -透视基点 perspective-origin:left/right/center/top/bottom;

2.transform-style: preserve-3d;让子元素在3d空间显示

 

3d转换是3个轴 X Y Z 都互相垂直

2d和3d属性相同

5.3d转换 transform

3d转换 transform

- 位移 translate

  transform:translate3d(100px,200px,100px)第一个值是X轴的坐标,第二个值是Y轴坐标,第三个值z轴坐标

  transform:translateX(100px) 水平位移向右100px,正值往右,负值往左

  transform:translateY(100px) 垂直位移向下100px,正值往下,负值往上

  transform:translateZ(100px) 前后位移向下100px,正值往前,负值往后

- 旋转 rotate 单位是度数 deg

  transform:rotate3d(1,1,1,280deg);正数顺时针,负数逆时针

  transform:rotateX(200deg); x轴顺时针旋转200度

  transform:rotateY(-200deg);Y轴逆时针旋转200度

  transform:rotateZ(-200deg);Z轴逆时针旋转200度

 transform:rotate3d(1,1,1,280deg);正数顺时针,负数逆时针

 前面三个数分别是X,Y,Z旋转的矢量值,范围0-1

- 缩放 scale

  0.1-0.9是缩小的倍数,1-无穷大正整数放大的倍数

  transform: scale3d(2,3,0.5);X放大两倍,Y轴放大3倍,z缩小一半

  transform: scaleX(0.5);X缩小0.5倍

  transform: scaleY(0.1);Y轴缩小的0.1倍

  transform: scaleZ(0.5);Z缩小0.5倍

- 倾斜 skew 单位度数deg 3d中的倾斜没有z轴,与2d一样

  transform:skew(60deg,60deg);X Y轴同时倾斜60deg

  transform:skewX(60deg);X轴倾斜60deg

  transform:skewY(60deg);Y轴倾斜60deg

 

动画

1.关键帧  @keyframes

2个状态

 @keyframes name{

    from{}

    to{}

 }

 谷歌兼容  谷歌兼容前缀-webkit-

 @-webkit-keyframes name{

    from{}

    to{}

 }

 @keyframes name{

    0%{}

    100%{}

 }

3个或多个状态

 @keyframes name{

    0%{}

    50%{}

    100%{}

 }

 

 

2.动画属性

- 动画调用

  animation动画

  infinite 循环播放,放到秒数后

  默认linear播放一次

- 动画方向animation-direction

  正序 animation-direction: normal;

  倒序 animation-direction: reverse;

  交替 animation-direction: alternate;

  反向交替animation-direction:alternate-reverse;

- 动画延迟animation-delay

  animation-delay:秒数; 

- 动画填充模式animation-fill-mode

  保持最后一帧 animation-fill-mode: forwards;

  返回第一帧 animation-fill-mode: backwards;

- 动画播放状态 animation-play-state

  播放 animation-play-state: running;

  暂停 animation-play-state: paused;

- 动画时间函数animation-timing-function

  animation-timing-function: ease;默认

  开始慢速,中间匀速,后面快速

  animation-timing-function: ease-in;

  进入时慢速

  animation-timing-function: ease-out;

  出去时慢速

  animation-timing-function: ease-in-out;

  进入和出去时慢速

  animation-timing-function: linear;

  匀速

 

 H5新增

移动端适配

<meta name="viewport" content="width=device-width,initial-scale=1.0" />等比适配

750px

<meta name="viewport" content="width=750px,initial-scale=0.5" />

rem根据 html根目录设置,整个页面随屏幕变化而变化

 

H5新增标签

<header></header> 头部信息

<footer></footer>  底部

<nav></nav> 导航

<Section></Section> 区域

<canvas></canvas>画布

canvas是画布,没有绘画能力,仅仅是个绘画容器,使用时需结合js脚本使用。

<progress></progress>进度条

<aside></aside>侧边栏

<figure></figure>  图表

<figure>

    <figcaption>2020年GDP总值</figcaption>

    <img src="img/timg.jpeg" />

</figure>

figcaption图表标题

<dialog></dialog> 对话框 

默认带display:none隐藏属性,如果想显示可以结合js改变display属性display:block;就显示了

<details></details>详细信息列表

<article></article>文章

 

<video></video>视频

video必须属性src=“视频路径”,

contorls 不写视频不显示播放按钮

autoplay自动播放 当设置完muted就可以自动静音播放

loop循环播放

muted 静音播放

preload=“auto”刷新网页加载视频可加载也可以不加载

preload=“metadata”刷新网页加载视频

preload=“none”刷新网页不加载视频

与audio不同的属性

poster=“图片路径”图片路径不会自动提示,视频封面

 

<audio></audio>音频

audio必须属性src=“音频路径”。只有写controls属性播放插件才显示。

循环播放loop=“loop”

自动播放autoplay=“autoplay”自动播放现在被限制,可以通过js控制使用

静音播放muted=“muted”  无声音播放

页面刷新是否加载音频

preload="auto" 网速好就先加载,不好就先不加载

preload="metadata" 不管网速好坏都先加载音频

preload="none"不管网速好坏都先不加载音频

 

px,rem区别

都是单位,px是固定值,rem是相对值。

rem是根据html根目录字体font-size大小倍数

px是相对于屏幕分辨率

posted @ 2021-06-30 20:49  小黄耗子  阅读(77)  评论(0编辑  收藏  举报