html5

html经过了第5次重大改版,增加了一些语义化的标签 高版本浏览器支持,ie9以下不支持, html5是向后兼容的,原来html4的 标签仍然可以用

1、新特性

  • 新增语义化元素

  • 新增表单相关新元素、新属性

  • 新增canvas元素

    • canvas 元素使用JavaScript 在网页上绘制图像

  • 新增了多媒体相关的video和audio元素

  • 地理信息

    • HTML5通过引入Geolocation的API可以通过GPS或网络信息实现用户的定位功能,定位更加准确、灵活

  • 对本地存储的更好支持

    • 本地存储:提供两种客户端存储数据的方法

      • localStorage存储

      • sessionStorage存储

说明:兼容性是指(时间维度)

向后兼容, 就是本设备(或者软件)跟更老的设备比较, 是否可以读取更老设备的数据

向前兼容,就是指本设备跟更新设备比较, 是否可以读取更新设备产生的数据

2、H5新增的语义元素

HTML5新增了页眉、页脚、内容块等文档结构相关的标签,可以使文档结构更加清晰明确。

header

  • 语法

    <header></header>
  • 语义:定义整个文档或文档中一个节段的的头部(页眉)。 表示页面中一个内容区块或整个页面的头部或者标题, 通常可以用来包含logo 搜索框 标题

  • 典型应用:整个页面的头部,某个区块的头部

nav

  • 语法

    <nav></nav>
  • 作用:定义导航链接的部分

  • 典型应用:主导航、侧边栏导航、页内导航、菜单、面包屑导航、分页、目录和索引等

footer

  • 语法:

    <footer></footer>
  • 作用:定义文档或节的页脚

  • 表示页面中一个内容区块或整个页面的脚注 , 包含友情链接、版权等

  • 典型应用:网页中的底部版权信息,相关阅读链接,某个区块底部

article

  • 语法:

    <article></article>
  • 作用:元素表示文档、页面、应用或网站中的独立结构,可以成为可独立分配的或可复用的结构。

  • 典型应用:论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组,或者其他独立的内容项目

  • 注意:

    • 每个article通常包括标题(h1 - h6元素)作为article元素的子元素

    • 可能包含一个或多个section

section

  • 语法:

    <section></section>
  • 作用:

    • 定义文档中的节(页面中内容的区段、文章中的章节)。

  • 典型应用:文章中的章节

  • 一个section元素通常由内容及标题组成

  • <section><h2> 标题一 </h2><p> 内容区域 </p>
    </section>

aside

  • 语法

    <aside></aside>
  • 语义:定义当前页面或文章的附属信息部分

  • 典型应用:侧边栏、标注框、广告等

新增其他标签

  • 1、figure标签

    • figcaption标签,在一个figure标签中只能有一个figcaption标签,一般用于图文

    <figure>被主体内容引用的,相对独立的内容块,如:图表、代码块、图片等<figcaption>定义figure的标题</figcaption><img src="../img/5.jpg" alt="">
    </figure>

块级标记、自带间距

  • 2、<mark>标签

    带有标记的文本

    • 表示页面中突出显示的、高亮的部分,目的吸引用户注意

    • 行级标记;默认自带背景颜色(黄色),自带文字颜色(黑色),可修改

    <mark></mark>mark {background-color: pink;color: red;}
  • 3、<time>日期时间标签

    • 公历日期时间,行级标记

    <time>2020-8-13</time>
    <time datetime="2020-8-13">中秋节</time>datetime属性;日期时间,在time标签中设置日期时间

3、HTML5新标签对IE低版本浏览器的兼容处理

问题概述:IE9以下浏览器中还没有添加对HTML5新标签的支持,当在页面中使用HTML5新标签时,新标签不兼容

1)使用JavaScript新增元素的方法解决

注意:使用javascript新增元素的方法解决,新增的出来的html5标签是行级元素,需要css把行内元素转为块
​//js创建html5标签document.createElement("header");document.createElement("nav");document.createElement("article");document.createElement("section");document.createElement("aside");document.createElement("footer");</script>
​最后在css样式中将新建的header元素转为块级元素
​header,nav,article,section,aside,footer {display: block;}
​
​
<header>我说头部信息</header>

2)使用谷歌提供的html5shiv.js解决

插件功能:用于解决IE8及以下版本的浏览器对HTML5新增元素的不兼容问题
写在网页头部(写在head标签内部)
​<script src="js/html5shiv.min.js"></script>
​
可以使用本地文件也可以使用外部资源库
​
- 百度静态资源库:(国内推荐使用)http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js

4、html5里废弃的一些标签

● <acronym> 定义只取首字母缩写
● <applet> 规定 Java applet 的文件名
● <basefont> 定义文档中所有文本的默认颜色、大小和字体
● <big> 呈现大号字体效果
● <center> 标签控制文本的居中显示
● <dir> <dir> 标签定义目录列表
● <font> 标签规定文本的字体、字体尺寸、字体颜色
● <frame> 标签定义 frameset 中的一个特定的窗口(框架)
● <frameset> frameset 元素可定义一个框架集
● <noframes> noframes标签向浏览器显示无法处理框架的提示文本
● <strike> strike 标签可定义加删除线文本定义。

注意:由于H5是向后兼容的,所以在H5中使用这些标签也不会报错或出现异常,但这些元素在H5中已不被W3C标准推荐,建议尽量不要使用。

5、新增的多媒体元素

HTML5 规定了网页包含视频、音频的标准方法

1、音频audio

  • HTML5种新增的音频的标准方法

  • IE8及更早版本的浏览器中不支持

  • HTML5中支持的音频格式

    • ogg audio/ogg 支持浏览器 chrome、Firefox、Opera10+

    • MP3 audio/MPEG 支持浏览器 chrome、firefox、OPera10+、IE9+、safari

    • wav audio/wav 支持浏览器 chrome、Firefox、Opera、Safari

  • 语法

<audio src="音频文件路径"></audio>
加controls属性才可以播放
<audio src="./file/zhoujie.mp3" controls loop muted></audio>
行内块标签
  • 常用属性

    • src属性:音频文件的路径

    • controls属性:浏览器为音频提供播放控件

    • loop属性;循环播放

    • muted属性;静音

2、视频video

  • HTML5中视频标准方法

  • IE8及更早版本的浏览器中不支持video标签

  • HTML5支持的视频格式:

    • ogg 支持的浏览器chrome、Firefox、Opera

    • MPEG4--mp4 支持的浏览器chrome、Firefox、Safari、IE9+

    • WebM 支持的浏览器chrome、Firefox、Opera

  • 语法

加controls属性才可以播放
<video src="./file/movie.mp4" controls></video>
行内块标签
  • 常用属性

    • src属性:视频文件的路径

    • controls属性:视频播放控件

    • loop属性:循环播放

    • muted属性:静音

    • width属性、height属性:视频播放器的宽度和高度

    • poster属性:预览图片,视频正在下载时显示的图像

    • autoplay属性:自动播放,必须静音后在播放

 <video controls poster="./img/01.jpg" width="200" height="200"></video><videosrc="https://vd2.bdstatic.com/mda-mjvzirggcr2a3c17/sc/cae_h264/1635637675078235418/mda-mjvzirggcr2a3c17.mp4?v_from_s=hkapp-haokan-hbe&auth_key=1637133051-0-0-593bc07d93a97bc192aa780d14e008e7&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest=3000186_1&klogid=2451088368"controls></video>

3、source音频媒介标签

允许使用source标签 引入多个音频、视频资源,浏览器使用第一个可以被识别的格式

     <source src="" type="audio/ogg"><source src="" type="video/mp4">
​<!-- 音频 --><audio controls><source src="../file/movie.ogg" type="audio/ogg"><source src="../file/zhoujie.mp3" type="audio/mp3"></audio>
​<!-- 视频 --><video controls><source src="../file/guo.mp4" type="video/mp4"><source src="../file/movie.webm" type="video/webm"><source src="../file/movie.ogg" type="video/ogg"></video>
​

6、新增表单元素和表单属性

1、表单元素

  • 包含访问协议的完整路径的输入域,在提交表单时,自动验证url域的值

    <input type="url" placeholder="请输入地址" name="userURL">
  • 包含e-mail地址的输入域,在提交表单时,自动验证email域的值

    <input type="email" placeholder="请输入邮箱地址" name="usermail">
  • 用于搜索关键字的文本输入域,多用于手机客户端

    <input type="search">
  • 用于输入电话号码的文本输入域,服务于触屏网页开发,在电脑网页中无效,在触屏网页中点击输入域,显示虚拟电话键盘(0-9、*、#)

    <input type="tel">
  • 用于包含数值的输入域

    <input type="number" max="10" min="0" value="2" step="2">max属性:最大值min属性:最小值step属性:步长,合法的数字间隔,默认步长为1

    注意:当用户输入的数值不在指定范围内,会弹出相关提示,并阻止表单提交

  • 用于生成一个数字滑动条。与number类型比区别在于外观样式不同。range类型的min值默认为0,max属性默认值为100

    <input type="range" max="10" min="0" value="2">
  • 用于生成一个颜色选择器,值为十六进制色值

    <input type="color">
    <input type="color" value="#ffff00">
    value:必须是十六进制,不能简写

时间日期选择器

1、date日期

  • 作用:选择一个日期(年月日)

  • 代码示例

    <input type="date">
    设置默认值
    <input type="date" value="2020-01-01">

2、time时间

  • 作用:选择小时分钟

  • 代码示例

    <input type="time">

3、datetime-local本地时间

  • 作用:选择一个日期和时间 (年月日时分)

  • 代码示例

    <input type="datetime-local">

4、month月份

  • 从日期选择器中选择一个月份,包含年、月

    <input type="month">

5、week周

  • 从一个日期选择器中选择周,包含年、周(全年的第几周)

    <input type="week">

2)表单属性

  • min、max、step属性 最小值、最大值、合法的数字间隔 用于包含数字的input类型,规定数值范围,如:input的number类型等

      <input type="number" step="2" min="4" max="10">
  • placeholder属性 设置文本域的提示信息,当用户开始输入内容,提示信息会消失

  • autocomplete属性 设置表单是否启用自动完成功能,可以加在form标签、input标签中

    • autocomplete="on" 启用自动完成功能

    • autocomplete="off" 不采用自动完成功能

    在input标签中name属性是必要的

    <form action="#"><div><input type="text" name="username" autocomplete="on"><input type="text" name="username2" autocomplete="off"></div><div><input type="submit" value="提交"></div>
    </form>
  • autofocus属性 页面加载时自动获取焦点;一个页面中只能有一个表单元素具有这个属性

    <input type="text" name="username2" autofocus>
  • required属性 提交表单时元素不能为空

    <input type="text" required>
  • pattern属性 验证输入内容——正则表达式

    <input type="text" pattern="[0-9]{3}">
    0-9的三位数字
    ​
    <input type="text" pattern="[0-9]">
    只能输入0-9中的一位数字
  • multiple属性

  - multiple属性可以选择多个值,用于长传域file类型和email类型的文本输入域​<input type="file" multiple>按ctrl键多选

css3基础

1、什么是css3?

  • 是css技术的升级版本,在css2的基础上,新增了许多特性,弥补了css2的不足,使web页面的开发变得更加高效、便捷

  • css3按模块化进行设计,比较重要的css3模块包含、 选择器、框模型、背景和边框、文本效果、2D|3D转换、动画、多列布局、用户界面

  • css3优点: CSS3是完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。

2、浏览器的私有前缀(兼容性前缀)

  • 有些css3的属性还只是最新版的预览版,还没有正式发版, 没有形成标准,只是某些浏览器的专属属性 ,就需要加前缀

  • 当一个属性或规则成为标准,并被主流浏览器的最新版普遍兼容的时候,可以去掉私有前缀

  • 书写顺序:先写私有css属性,然后再写标准css属性

  • 为了兼容老旧版本的浏 览器我们要写以下代码:

  • 浏览器、内核、私有前缀

    浏览器 内核 私有前缀
    chrome、safari webkit -webkit-
    Opera Presto -o-
    Firefox Gecko -moz-
    IE Trident -ms-
  • Autoprefixer是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里,使用Can I Use(caniuse网站)的数据来决定哪些前缀是需要的。

  • autoprefixer

    • 在vscode中安装autoprefixer插件

    • 在外部的css文件中书写相关属性和属性值

    • 按下F1,选择autoprefixer:Run,之后会在css文件中添加私有前缀

    • 注意:若快捷键冲突,点击fn+f1

    input::-webkit-input-placeholder {color: tomato;
    }
    ​
    input::-moz-placeholder {color: tomato;
    }
    ​
    input:-ms-input-placeholder {color: tomato;
    }
    ​
    input::-ms-input-placeholder {color: tomato;
    }
    input::placeholder {color: tomato;
    }
    ​
    ​
    .box1 {width: 100px;height: 100px;background-color: tomato;-webkit-border-radius: 50%;-moz-border-radius: 50%;-o-border-radius: 50%;-ms-border-radius: 50%;border-radius: 50%;
    }

4)修改表单元素的placeholder的样式

web笔记day14相关推荐

  1. python web笔记

    python web笔记 目的:开发一个平台(网站)~ 前端开发:HTML.CSS.JavaScript~ Web框架:接收请求并处理~ Mysql数据库:存储数据的地方快速上手:基于Flask We ...

  2. Web笔记-session及cookie

    此博文笔记并不全(对于像本人这样开发经验不足的已经够了),只是记录了本人目前对session和cookie的理解,以及在开发时,应该注意些什么. 首先看下两个概念: session:对象存储特定用户会 ...

  3. Google IO 16 / Mobile Web 笔记

    移动的 Web IO16 的 Web 技术话题大类直接叫作 "Mobile Web",移动的概念已经涵盖了整个 Web,而非只是 Web 的一部分了. 最近几天看了不少 IO16 ...

  4. html css web笔记,Web/HTML/CSS/的笔记

    一.web基本介绍 1.Web 是 Worl wide web 的缩写,称为全球广域网,俗称www 2.我们可以将Web理解为当前的一种互利网,对于我们来说更多的就是网站服务. 3.网站我们可以认为是 ...

  5. web笔记Error:That IP address

    前言 题主最近在做一个web服务 在实现过程中有苦有乐,现在记录一下,既方便自己以后回顾,也方便后来的人. 具体细节 在实现过程终遇到了下面的问题: >python manage.py runs ...

  6. Web笔记——Filter过滤器

    ○ 概念:Filter表示过滤器,是JavaWeb三大组件(Servlet.Filter.Listener)之一. ○ 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能. ○ 过滤器一般完成一 ...

  7. Java Web笔记之Struts2.1 +Hibernate3.3 +Spring3.0

    2019独角兽企业重金招聘Python工程师标准>>> 1.Struts2 1.1.了解Struts2 Struts2是基于MVC设计模式的Java Web框架技术之一,按照MVC设 ...

  8. Web笔记-session盗用安全问题(Spring Boot获取所有session及提高安全性)

    此处本人的过滤代码如下: 仅仅是判断了这个session有没有被记录,有没有attribute! 某些IT论坛,就是这样的,通过session,就可以进行批量帐号操作,发取http协议. 这里演示如下 ...

  9. Web笔记-使用jsonp解决跨域请求(CROS)问题

    目录 基本概念 代码与实例 基本概念 当我在某web站点,这个站点里面发出了像其他站点的请求(不同链接,或者同一链接的不同端口),是会失败的,因为是浏览器的安全检测问题,当然,这个只是主流浏览器的功能 ...

最新文章

  1. git多人协作冲突解决方法
  2. sqlserver 中的exec问题
  3. 《小美斗地主》:棋牌手游新商业模式启示录
  4. C# 操作其他进程ListView
  5. 彻底解决.net中编码问题的心得
  6. Sublime Text 的快捷方式的用法
  7. 使用C# (.NET Core) 实现命令设计模式 (Command Pattern)
  8. Bootstrap HTML 编码规范之JavaScript生成的标签
  9. C语言中volatile关键字与汇编__volatile__
  10. HCIE Security 防火墙用户管理与认证 备考笔记(幕布)
  11. VB6 如何添加自定义函数 模块 把代码放到一个模块中
  12. Netsparker
  13. 从自走棋代码分析游戏机制--棋池、回蓝、目标判断、掉落概率与新英雄
  14. 机房收费管理系统之退卡
  15. W3school:CSS基础:CSS注释、颜色(颜色、RGB、HEX、HSL)、背景(背景、背景图像、背景重复、背景附着、简写背景属性)
  16. 【综合评价方法 熵权法】指标权重确定方法之熵权法
  17. 第一个项目的大概流程
  18. 手写实现一个本地缓存
  19. Oxygen Eclipse 添加server
  20. 光源类型-CIE标准光源

热门文章

  1. dell计算机运行慢怎么解决方法,如何解决戴尔XPS的Windows 10启动慢的问题
  2. 注意啦!如何通过广告吸引客户直接下单?
  3. 圣修改服务器剑联盟,《英雄联盟》4月9日测服 剑圣再度调整无限火力开测
  4. IOS 11 适配导航栏、状态栏调整
  5. mysql事务数 每秒_TPS(每秒处理事务数)和TPMC(每分钟处理交易量)
  6. URL、URI、域名
  7. 基于鸟群优化的BP神经网络(分类应用) - 附代码
  8. 使用java程序下载远程zip文件并解压文件( 带注释解释代码)
  9. 三只小猪的思路解析及其C语言代码
  10. 投影仪投屏投不上去怎么回事