H5C3新增特性

语义化标签:header、footer、section、nav、aside、article
增强型表单:input 的多个 type

<form action="form_action.asp" method="get">
  <p>First name: <input type="text" name="fname" /></p>
  <p>Last name: <input type="text" name="lname" /></p>
  <input type="submit" value="Submit" />
</form>

新增表单元素:datalist、keygen、output

output:

<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
   <input type="range" id="a" value="50">100
   +<input type="number" id="b" value="50">
   =<output name="x" for="a b"></output>
</form> 

datalist:

<input list="browsers"> <datalist id="browsers"> <option value="Internet Explorer"> <option value="Firefox"> <option value="Chrome"> <option value="Opera"> <option value="Safari"> </datalist>

keygen:

<form action="demo_keygen.php" method="get">
用户名: <input type="text" name="usr_name">
加密: <keygen name="security">
<input type="submit">

</form>

<form action="demo_keygen.asp" method="get">
  用户名: <input type="text" name="usr_name">
  加密: <keygen name="security">  
  <input type="submit">
</form>

新增表单属性:placehoder、min 和 max

音频视频:audio、video canvas

audio 属性

src:文件路径
autoplay:自动播放
loop:循环
controls:控制条
muted:静音
preload:预加载(当使用autoplay时,preload自动失效)

<audio controls src="http://www.w3school.com.cn/i/song.mp3">
</audio>

video 属性

src:文件路径
autoplay:自动播放
loop:循环
controls:控制条
muted:静音
preload:预加载(当使用autoplay时,preload自动失效)
width:宽度
height:高度
poster:海报

<video src="http://www.w3school.com.cn/example/html5/mov_bbb.ogg" controls>

</video>

拖拽

H5之前没有拖放API,可以使用“鼠标按下 + 鼠标移动”两个事件来模拟用户拖动事件。

H5之后专门提供了七个鼠标拖动相关事件句柄:

         拖动的源对象(source)可能触发的事件:

                dragstart:拖动开始

                drag:拖动中

                dragend:拖动结束

         拖动的目标对象(target)可能触发的事件:

                dragenter:拖动进入

                dragover:拖动悬停

                drop:松手释放

                dragleave:拖动离开

       注意:拖放API事件句柄中所有的事件对象都有一个dataTransfer属性(数据运输对象),用于在源对象和目标对象间传递数据。

       源对象:event.dataTransfer.setData(key, value)

       目标对象:var value = event.dataTransfer.getData(key)

本地存储:localStorage - 没有时间限制的数据存储;sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除

(1)window.sessionStorage:类数组对象,通过key=>value对存储字符串数据——会话级存储
 特点:一次性储存,数据在浏览器关闭后自动删除
 添加数据:sessionStorage['key'] = 'value'
 修改数据:sessionStorage['key'] = 'newValue'
 删除数据:delete sessionStorage['key']
 获得数据:var  v = sessionStorage['key']
 (2)window.localStorage:类数组对象,通过key=>value对存储字符串数据——本地/跨会话级/永久存储
 长期存储数据,浏览器关闭后数据不丢失;
 特点:数据永久存储,没有时间限制;大小限制5M(够用了);只存储字符串
 添加数据:localStorage['key'] = 'value'
 修改数据:localStorage['key'] = 'newValue'
 删除数据:delete localStorage['key']
 获得数据:var  v =localStorage['key']

媒体查询:

        响应式布局
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/567.css" media="screen and (max-width:567px)">
<link rel="stylesheet" href="./css/568.css" media="screen and (min-width:568px)">
<link rel="stylesheet" href="./css/768.css" media="screen and (min-width:768px)">
<link rel="stylesheet" href="./css/992.css" media="screen and (min-width:992px)">
<link rel="stylesheet" href="./css/1200.css" media="screen and (min-width:1200px)">
<style>
    *{
        margin: 0;
        padding: 0;
    }
    .container{
        width: 100%;
        height: 300px;
        border: 1px solid #000;
    }
</style>
</head>
<body>
<div class="container">
</div>
</body>

width = device-width:宽度等于当前设备的宽度

initial-scale:初始的缩放比例(默认设置为1.0)

minimum-scale:允许用户缩放到的最小比例(默认设置为1.0)

maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)

user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)

超小屏幕(手机,小于 768px)
@media (max-width: 768px) { ... }

小屏幕(平板,大于等于 768px)
@media (min-width: 768px) and (max-width: 768px) { ... }

中等屏幕(桌面显示器,大于等于 992px)
@media (min-width: 992px) and (max-width: 992px) { ... }

大屏幕(大桌面显示器,大于等于 1200px)@media (max-width: 768px) {

//手机移动端分辨率

}

@media (min-width: 768px) and (max-width: 992px) {

//PAD中屏分辨率

}

CSS3选择器

“:first-child”选择器表示的是选择父元素的第一个子元素的元素E。

:last-child”选择器选择的是元素的最后一个子元素

“:nth-child(n)”选择器用来定位某个父元素的一个或多个特定的子元素。

“:nth-last-child(n)”从某父元素的最后一个子元 素开始计算,来选择特定的元素。

“:first-of-type”选择器类似于“:first-child”选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素。

“:last-of-type”选择器 他选择是父元素下的某个类型的最后一个子元素

“:nth-of-type(n)”选择器和“:它只计算父元素中指定的某种类型的子元素。

“:nth-last-of-type(n)”选择父元素中指定的某种子元素类型,但它的起始方向是从最后一个子元素开始

“:only-child”选择器匹配的元素的父元素中仅有一个子元素,而且是一个唯一的子元素。

“:only-of-type”选择器用来选择一个元素是它的父元素的唯一一个相同类型的子元素。

:checked选择器

圆角效果

border-radius:10px; /* 所有角都使用半径为10px的圆角

border-radius: 5px 4px 3px 2px; /* 四个半径值分别是左上角、右上角、右下角和左下角,顺时针 */

阴影

box-shadow: X轴偏移量 Y轴偏移量 [阴影模糊半径] [阴影扩展半径] [阴影颜色] [投影方式];

阴影颜色:默认黑色; 投影方式:inset时为内部阴影,省略为外部阴影

为边框应用图片:

border-image:url(borderimg.png) 70 repeat

rgba颜色

background-color:rgba(100,120,60,0.5); 最后的0.5代码透明度

渐变色彩

CSS3 Gradient 分为线性渐变(linear)和径向渐变(radial)。

线性渐变:linear-gradient(to left, red, orange); to left为渐变方向从右到左;to top;to right;to bottom;to top left;to top right 颜色可多个分别为从起始到终止的色彩。

溢出省略

text-overflow:ellipsis; 溢出文字以省略号出现,需要下面三个属性同时使用
text-overflow:ellipsis;
overflow:hidden;
white-space:nowrap;

嵌入字体

@font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体。
@font-face {
font-family : 字体名称;
src : 字体文件在服务器上的相对或绝对路径;
}
使用时:font-family:字体名称

文本阴影text-shadow

text-shadow: X-Offset(水平偏移) Y-Offset(垂直偏移) blur(阴影的模糊程度,其值不能是负值,如果值越大,阴影越模糊,反之阴影越清晰) color;
background-origin设置元素背景图片的原始起始位置:

参数分别表示从边框、或内填充,或者内容区域向外裁剪背景。no-clip表示不裁切,和参数border-box显示同样的效果。
background-size设置背景图片的大小

弹性布局

Flexbox 是 flexible box 的简称(注:意思是“灵活的盒子容器”),是 CSS3 引入的新的布局模式。它决定了元素如何在页面上排列,使它们能在不同的屏幕尺寸和设备下可预测地展现出来。

它之所以被称为 Flexbox ,是因为它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间。与以前布局方式(如 table 布局和浮动元素内嵌块元素)相比,Flexbox 是一个更强大的方式:

  • 在不同方向排列元素

  • 重新排列元素的显示顺序

  • 更改元素的对齐方式

  • 动态地将元素装入容器

           display: flex;
            flex-direction: row;
            /*弹性盒方向:主轴方向X轴  */
            flex-direction: column;
            /* 弹性盒方向:主轴Y轴方向 */
            flex-direction: row-reverse;
            /* 弹性盒方向:主轴方向X轴 倒叙 */
            flex-direction: column-reverse;
             /* 弹性盒方向:主轴Y轴方向 倒叙*/
                 flex-wrap: nowrap;
            /* 弹性盒换行:不换行 默认的 */
            flex-wrap: wrap;
            /* 弹性盒换行:换行 */
            //设置主轴方向子元素排列顺序
              justify-content: flex-start;
            /* 从左到右排列 默认的 */
            justify-content: flex-end;
            /* 从尾部开始排列 不影响子元素排列顺序 */
            justify-content: center;
            /* 从主轴居中对齐 */
            justify-content: space-around;
            /* 平分主轴剩余空间 */
            justify-content: space-between;
            /* 两边对齐,中间评分剩余空间 */
            justify-content: space-evenly;
            /* 间距相同 */
        
    

动画CSS3动画

  • 过渡、线性渐变、径向渐变动画

  • 2D动画

  • 3D动画

  • animation动画

  • animation动画

    一:animation是一个复合属性,一共有8个参数;
    一般是由@keyframes先定义动画,然后animation使用动画。

    1.animation-name:动画名称,由@keyframes定义的
    2.animation-duration:动画的持续时间
    3.animation-timing-function:动画的过渡类型
    4.animation-delay:动画的延迟时间
    5.animation-iteration-count:动画的循环次数
    6.animation-direction:设置动画在循环中是否反向运动
    7.animation-fill-mode:设置动画时间之外的状态
    8.animattion-play-state:设置动画的状态。

    [图片上传失败...(image-401d11-1618139092247)]

动画运动曲线

animation-timing-function 属性规定动画的速度曲线。

animation-timing-function 属性可接受以下值:

ease - 指定从慢速开始,然后加快,然后缓慢结束的动画(默认)

linear - 规定从开始到结束的速度相同的动画

ease-in - 规定慢速开始的动画

ease-out - 规定慢速结束的动画

ease-in-out - 指定开始和结束较慢的动画

代码如下:

#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}

css2动画转换属性:

translate()

rotate()

scaleX()

scaleY()

scale()

skewX()

skewY()

skew()

matrix()

translate() 方法从其当前位置移动元素(根据为 X 轴和 Y 轴指定的参数)。

下面的例子把 <div> 元素从其当前位置向右移动 50 个像素,并向下移动 100 个像素:

代码如下:

div {
  transform: translate(50px, 100px);
}

rotate() 方法根据给定的角度顺时针或逆时针旋转元素。下面的例子把 <div> 元素顺时针旋转 20 度:

div {
  transform: rotate(20deg);
}

scale() 方法

scale() 方法增加或减少元素的大小(根据给定的宽度和高度参数)。

div {
  transform: scale(2, 3);
}

以下例子把 <div> 元素缩减为其原始宽度的一半:

div {
  transform: scaleX(0.5);
}

scaleY() 方法

scaleY() 方法增加或减少元素的高度。

下面的例子把 <div> 元素增大到其原始高度的三倍:

div {
  transform: scaleY(3);
}

下面的例子把 <div> 元素缩减为其原始高度的一半:

div {
  transform: scaleY(0.5);
}

skewX() 方法

skewX() 方法使元素沿 X 轴倾斜给定角度。

下例把 <div> 元素沿X轴倾斜 20 度:

div {
  transform: skewX(20deg);
}

skewY() 方法

skewY() 方法使元素沿 Y 轴倾斜给定角度。

下例把 <div> 元素沿 Y 轴倾斜 20 度:

div {
  transform: skewY(20deg);
}

skew() 方法

skew() 方法使元素沿 X 和 Y 轴倾斜给定角度。

下面的例子使 <div> 元素沿 X 轴倾斜 20 度,同时沿 Y 轴倾斜 10 度:

div {
  transform: skew(20deg, 10deg);
}

如果未指定第二个参数,则值为零。因此,下例使 <div> 元素沿 X 轴倾斜 20 度:

div {
  transform: skew(20deg);
}

拖放是一种常见的特性,即捉取对象以后拖到另一个位置。
在html5中,拖放是标准的一部分,任何元素都能够拖放。

true是可以拖拽flase是不可以拖拽
<div draggable="true"></div>
当元素拖动时,我们可以检查其拖动的数据。

<div draggable="true" ondragstart="drag(event)" class="ruy"></div>
<script>
function drag(event) {
console.log(event);
}
drag(event)
</script>
拖放是一种常见的特性,即捉取对象以后拖到另一个位置。
在html5中,拖放是标准的一部分,任何元素都能够拖放。

true是可以拖拽flase是不可以拖拽
<div draggable="true"></div>
当元素拖动时,我们可以检查其拖动的数据。

<div draggable="true" ondragstart="drag(event)" class="ruy"></div>
<script>
function drag(event) {
console.log(event);
}
drag(event)
</script>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 1, 新增选择器 p:nth-child(n){color:rgba(0,0,0,0.8)}2,弹性盒模型 dis...
    明天F阅读 225评论 0 0
  • 选择器 @Font-faceFont-face 可以用来加载字体样式,而且它还能够加载服务器端的字体文件,让客户端...
    shengqz阅读 2,196评论 0 19
  • HTML5 1.HTML5新元素 HTML5提供了新的元素来创建更好的页面结构: 标签描述 定义页面独立的内容区域...
    L怪丫头阅读 2,801评论 0 4
  • 简介 CSS 即层叠样式表(Cascading Stylesheet)。Web 开发中采用 CSS 技术,可以有效...
    猴逃逃阅读 185评论 0 0
  • 欢迎访问我的博客https://qqqww.com/,祝所有码农同胞们早日走上人生巅峰,迎娶白富美~~ 详细请移步...
    这里王工头阅读 1,586评论 0 16