H5C3

HTML5:

HTML第五次重大修改,增加了新的元素、属性和行为

新特性:

语义特性,本地存储特性,设备兼容特性,连接特性,网页多媒体特性,三维、图形及特效,性能与集成特性,css3特性
广义HTML5包含HTML5本身、css3、js

H5新增语义化标签:

< header>:头部标签
< nav>:导航标签
< article>:内容标签
< section>:块级标签
< aside>:侧边栏标签
< footer>:尾部标签
语义化标签主要针对搜索引擎;新标签页面中可以使用多次;IE9中,需要把这些元素转换为块级元素;它们更适用于移动端

H5新增多媒体标签:

< audio>:音频,支持格式:Ogg Vorbis、MP3、Wav
< audio src=“media/snow.mp3” controls=“controls”>< /audio>
属性
controls:显示控件(比如播放、暂停)不同浏览器的控件不同
autoplay:马上播放 谷歌浏览器把它禁用了
loop:音频结束时重新播放
src:要播放音频的URL

<audio controls="controls">
        <source src="media/snow.mp3" type="audio/mpeg" />
        <source src="media/snow.ogg" type="audio/ogg /">
            您的浏览器不支持播放声音
    </audio>不同浏览器支持的格式不同,所以提供多个格式

< video>:视频,支持格式:Ogg、MP4、WebM

<video src="media/video.mp4" controls="controls"></video>
video muted="muted" loop="loop" poster="media/pig.jpg" controls>
        <source src="media/video.mp4" type="video/mp4" />
        <source src="media/video.ogg" type="video/ogg" />
        您的浏览器不支持播放视频
    </video>

属性:
controls:显示控件
autoplay:马上播放 谷歌浏览器把它禁用了,添加静音属性可以解决
loop:视频结束时重新播放
src:要播放视频的URL
preload:加载完再播放
poster:加载等待的画面图片
muted:静音播放
width:宽度
height:高度

H5新增input表单、表单属性:

邮箱: <input type="email" />
网址: <input type="url" />
日期: <input type="date" />
日期: <input type="time" />
数量: <input type="number" />  e可以输入(科学计数法)
手机号码: <input type="tel" />
搜索: <input type="search" />
颜色: <input type="color" />
<input type="submit" value="提交">//用于检测

属性:
required:表单内容不能为空
placeholder:表单的提示信息,存在默认值将不再显示(占位符)
autofocus:自动聚焦
autocomplete:在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项(需要在表单加入name属性)
multiple:可以多选文件提交

CSS3:

在CSS2的基础上新增样式;移动端支持优于PC端;不断改进中;应用相对广泛

CSS3属性选择器:

属性选择器使用方法:button[disabled] 标签名[属性]

 /* 1.直接写属性 */
        button[disabled] {
            cursor: default;
        }
        /* 2. 属性等于值 */
        input[type="search"] {
            color: pink;
        }
        /* 3. 以某个值开头的 属性值 */
        div[class^="icon"] {
            color: red;
        }
        /* 4. 以某个值结尾的 */
        div[class$="icon"] {
            color: green;
        }
        /* 5. 可以在任意位置的 */
        div[class*="icon"] {
            color: blue;
        }

注意: 类选择器、属性选择器、伪类选择器,权重都为10

CSS3结构伪类选择器

也属于伪类选择器

E:first-child:匹配父元素中第一个子元素E
E:last-child:匹配父元素中最后一个子元素E
E:nth-child(n):匹配父元素中第n个子元素E n可以为数字、关键字、公式(从0计算,0和超出的会被忽略) even偶数 odd奇数
选择父元素里面的第n个孩子,它不管里面的孩子是否同一种类型
E:first-of-type:指定类型E的第一个
E:last-of-type:指定类型E的最后一个
E:nth-of-type(n):指定类型E的第n个

 ul li:first-child {
            background-color: pink;
        }
        ul li:last-child {
            background-color: deeppink;
        }
        /* nth-child(n)  我们要第几个,n就是几  比如我们选第8个, 我们直接写 8就可以了 */
        ul li:nth-child(8) {
            background-color: lightpink;
        }
       /* of-type 选择指定类型的元素 */
        div span:first-of-type {
            background-color: purple;
        }
        div span:last-of-type {
            background-color: skyblue;
        }
        div span:nth-of-type(2) {
            background-color: red;
        }

CSS3伪元素选择器:

::before:在元素内部的前面插入内容
::after:在元素内部的后面插入内容
注意: 必须有content属性;before和after会创建一个元素,属于行内元素,因为在dom中看不到创建的元素,所以称之为伪元素;伪元素和标签选择器权重为1

CSS3 2D转换:

transform,可以实现元素的位移(translate)、旋转(rotate)、缩放(scale)等效果
二维坐标系:x轴水平向右,y轴垂直向下

translate:
transform: translate(x, y);

  1. 我们如果只移动x坐标
    transform: translateX(100px);
  2. 我们如果只移动y坐标
    transform: translateY(100px);

注意: translate最大的优点时不会影响其他元素的位置;百分比单位是相对于自身元素的百分比;对行内标签没有效果

盒子实现水平和垂直居中:

position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);

rotate:
让元素在二维平面内顺时针或是逆时针旋转
注意: 单位时deg(度);角度为正时,顺时针,负时,逆时针;默认旋转中心时元素的中心点
transform-origin:设置元素转换的中心点
transform-origin: x y; 注意: xy使用空格隔开的;默认是50% 50%,可以跟方位名词和数字+像素

scale:
transform: scale(x, y); 参数表示倍数,只写一个参数指两个一样;不会影响其他盒子,可以设置中心点

2D转换综合写法:

transform: translate() rotate() scale();   

注意: 同时有位移和其他属性,需要把位移放到最前面;其顺序会影响转换的效果

CSS3动画:

animation:
可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果;可以改变任意多的次数;相比较与过渡,动画可以实现更多变化,更多控制,连续自动播放等效果
制作动画步骤:

1.定义动画
@keyframes 动画名称 {
            /* 开始状态  from */
            0% {
                
            }
            /* 结束状态  to */
            100% {
               
            }
        }
2.调用动画
	/* 动画名称 */
            animation-name: 动画名称;
               /* 持续时间 */
            animation-duration: 时间;

动画序列

  1. 可以做多个状态的变化 keyframe 关键帧
  2. 里面的百分比要是整数
  3. 里面的百分比就是 总的时间(比如10s)的划分 25% * 10 = 2.5s

动画常用的属性:
@keyframes:规定动画
animation:所有动画属性的简写属性
animation-name:动画名称
animation-duration:完成一个动画的时间,默认0
animation-timing-function:动画的速度曲线,默认ease(慢快慢)linear(匀速)steps(步长)
animation-delay:动画何时开始,默认0
animation-iteration-count:动画播放次数,默认1,infinite 无限
animation-direction:动画是否在下一周期逆向播放,默认normal,反向alternate
animation-play-state:动画是否在运行或暂停,默认running,暂停paused
animation-fill-mode:动画结束后状态,保持forwards,回到起始backwards

动画简写属性:
alternate:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反向 动画起始或结束状态
注意:前两个必写;简写属性不包括暂停,经常在鼠标经过里写

CSS3 3D转换:

特点: 近大远小,物体后面遮挡看不见
三维坐标系:x轴水平向右 y轴垂直向下 z轴垂直屏幕向外

3D位移:
3D位移比2D位移多了一个z轴
translateZ 后面的单位一般跟px,不用百分比
transform: translate3d(0, 100px, 100px); xyz是不能省略的,如果没有就写0

透视perspective:
如果想在网页产生3D效果需要透视;模拟人类的视觉位置,可以安排一只眼去看;透视也称为视距,就是人的眼睛到屏幕的距离;距离视觉点越近的在电脑平面成像越大,越远成像越小;透视的单位是像素
注意: 透视写到被观察元素的父盒子上面,透视的值越小,所观察的物体越大;z是写到被观察的元素身上

3D旋转:
让元素沿着x轴、y轴、z轴或者自定义轴旋转
transform: rotateX(45deg)
transform: rotateY(45deg)
transform: rotateZ(180deg)
transform: rotate3d(x,y,z,deg)
旋转方向的问题可以参考左手准则 左手大拇指沿着轴(x、y、z)的正方向,其余四指弯曲的方向就是度数为正时的旋转方向

3D呈现 transform-style:
控制子元素是否开启三维立体环境
flat:子元素不开启,默认的
preserve-3d:子元素开启
代码写给父级,但是影响的是子盒子

浏览器私有前缀

兼容老版本的写法

-moz-:代表firefox浏览器私有属性
-ms-:代表ie浏览器私有属性
-webkit-:代表safari、chrome浏览器私有属性
-o-:代表opera浏览器私有属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值