웹 프론트엔드 HTML 튜토리얼 初识 HTML5(一)

初识 HTML5(一)

Jun 16, 2016 am 08:39 AM

  H5其实就是H4的一个增强版本,我们在利用H5进行网页的构造会更简便,标签语义更简洁明了。首先,我们要理解HTML4,它是HTML的标记+css2+JavaScript的一些基本应用,简言之,就是API+语法;而H5无非就是在原先的基础上面提供了一些新的功能。

1、H5的语义标签
  1):html 的定义 ,它的一个文档声明 
   语法跟html4 差不多,w3c 提供了一个网站可以用来检测html 的语法.
   https://validator.w3.org/
  2)html 的语义标签,多了很多新的语义标签. 这些标签用起来跟div 和span 差不多。
<span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><span style="color: #800000;">nav</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示导航
</span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;"><span style="color: #800000;">header</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示页眉
</span><span style="color: #008080;"> 3</span> <span style="color: #0000ff;"><span style="color: #800000;">footer</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示页脚
</span><span style="color: #008080;"> 4</span> <span style="color: #0000ff;"><span style="color: #800000;">section</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示区块
</span><span style="color: #008080;"> 5</span> <span style="color: #0000ff;"><span style="color: #800000;">article</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示文章 如文章、评论、帖子、博客
</span><span style="color: #008080;"> 6</span> <span style="color: #0000ff;"><span style="color: #800000;">aside</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示侧边栏 如文章的侧栏
</span><span style="color: #008080;"> 7</span> <span style="color: #0000ff;"><span style="color: #800000;">figure</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示媒介内容分组 与 ul > li 做个比较
</span><span style="color: #008080;"> 8</span> <span style="color: #008000;"><!--</span><span style="color: #008000;">以上是常用到的</span><span style="color: #008000;">--></span>
<span style="color: #008080;"> 9</span> <span style="color: #0000ff;"><span style="color: #800000;">mark</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示标记 (带用“UI”,不怎么用)
</span><span style="color: #008080;">10</span> <span style="color: #0000ff;"><span style="color: #800000;">progress</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示进度 (带用“UI”,不怎么用)
</span><span style="color: #008080;">11</span> <span style="color: #0000ff;"><span style="color: #800000;">time</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 表示日期
</span><span style="color: #008080;">12</span> <span style="color: #0000ff;"><span style="color: #800000;">hgroup</span><span style="color: #0000ff;">></span><span style="color: #000000;"> 标题列表 (据说已废弃)
</span><span style="color: #008080;">13</span> <span style="color: #0000ff;"><span style="color: #800000;">details</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">14</span> <span style="color: #0000ff;"><span style="color: #800000;">bdi</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">15</span> <span style="color: #0000ff;"><span style="color: #800000;">command</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">16</span> <span style="color: #0000ff;"><span style="color: #800000;">summary</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">17</span> <span style="color: #0000ff;"><span style="color: #800000;">rp</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">18</span> <span style="color: #0000ff;"><span style="color: #800000;">rt</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">19</span> <span style="color: #0000ff;"><span style="color: #800000;">ruby</span><span style="color: #0000ff;">></span>
<span style="color: #008080;">20</span> <span style="color: #008000;"><!--</span><span style="color: #008000;">尽量避免全局使用header、footer、aside等语义标签。</span><span style="color: #008000;">--></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
로그인 후 복사

  3)兼容处理

    ①在不支持HTML5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,将其转换成块元素(block)即可;
    ②在IE9版本以下,并不能正常解析这些新标签,但是可以识别通过document.creatElement('tagName')创建的自定义标签
    ③实际开发中,我们采用的是通过检测IE浏览器的版本来加载三方的一个JS库来解决兼容问题。
<span style="color: #008000;"><!--</span><span style="color: #008000;"> [if lte IE 8]>
    <script src="./js/html5shiv.min.js"></script>
<![endif]</span><span style="color: #008000;">--></span>
로그인 후 복사

【注意】

这个是html5 里面的标记,相当于div,只不过有语义;然后放在ie6 里面,它会把这个footer 这个不认识的标记当做行内元素来处理;所以我们就需要屏蔽兼容性,这个时候我们就需要导入一个js 库。

 html5shiv.min.js

  2、表单

——form 是用来声明表单. input 是用来表示表单项,type 是用来控制表单项的类型.(html5 在表单上面进行一些增强)

1)输入类型(表单类型、表单元素、表单属性、表单事件)

<span style="background-color: #00ffff;"><span style="color: #008080;"> 1</span> <span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span> <span style="color: #0000ff;">/></span>
<span style="color: #008080;"> 2</span> <span style="color: #000000;">email    输入email格式
</span><span style="color: #008080;"> 3</span> <span style="color: #000000;">tel    手机号码
</span><span style="color: #008080;"> 4</span> <span style="color: #000000;">url    只能输入url格式
</span><span style="color: #008080;"> 5</span> <span style="color: #000000;">number    只能输入数字
</span><span style="color: #008080;"> 6</span> <span style="color: #000000;">search    搜索框
</span></span><span style="color: #008080;"> 7</span> <span style="color: #000000;">range    范围
</span><span style="color: #008080;"> 8</span> <span style="color: #000000;">color    拾色器
</span><span style="color: #008080;"> 9</span> <span style="color: #000000;">time    时间
</span><span style="color: #008080;">10</span> <span style="color: #000000;">date    日期 不是绝对的
</span><span style="color: #008080;">11</span> <span style="color: #000000;">datetime    时间日期
</span><span style="color: #008080;">12</span> <span style="color: #000000;">month    月份
</span><span style="color: #008080;">13</span> week    星期</span>
로그인 후 복사

部分类型是针对移动设备生效的,且具有一定的兼容性,在实际应用当中可选择性的使用

2)新增了一些标签

       ① 数据列表: 

        ②用来做安全的表单提交数据传输的安全:

        ③用来做度量: 

        ④想表单里面输出,没什么作用:

3)新增了一些属性:

<span style="color: #008080;">1</span> <span style="color: #000000;">placeholder 占位符
</span><span style="color: #008080;">2</span> <span style="color: #000000;">autofocus 获取焦点
</span><span style="color: #008080;">3</span> <span style="color: #000000;">multiple 文件上传多选或多个邮箱地址
</span><span style="color: #008080;">4</span> <span style="color: #000000;">autocomplete 自动完成,用于表单元素,也可用于表单自身
</span><span style="color: #008080;">5</span> <span style="color: #000000;">form 指定表单项属于哪个form,处理复杂表单时会需要
</span><span style="color: #008080;">6</span> novalidate 关闭验证,可用于<span style="color: #0000ff;"><span style="color: #800000;">form</span><span style="color: #0000ff;">></span><span style="color: #000000;">标签
</span><span style="color: #008080;">7</span> <span style="color: #000000;">required 验证条件,必填项
</span><span style="color: #008080;">8</span> <span style="color: #000000;">pattern 正则表达式 验证表单
</span><span style="color: #008080;">9</span> 手机号:<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="tel"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="tel"</span><span style="color: #ff0000;"> required</span><span style="color: #0000ff;">="required"</span><span style="color: #ff0000;">       pattern</span><span style="color: #0000ff;">="^(\+86)?1[3,5,8](\d{9})$"</span><span style="color: #0000ff;">></span></span></span>
로그인 후 복사

【PS】我们用新增的这些属性,可以来完成我们之前要使用js 才能实现的效果.

4)表单里面的事件

    ①监听文本框的数据的输入: oninput 事件

    ②当验证不通过的时候触发: oninvalid

   ③进度这个标记,我们使用 progress

 

3、多媒体

  1)早之前我们做网页播放器

        ①我们是通过js 去调用windows 里面自带的一个播放器  media player  操作系统捆绑的

        ②adobe 的这样的一个flash ,基本上面每个用户电脑上面都会安装.

        ③后期我们出现了一个东西,每个电脑上面都可以装一个快播,js 调用快播.

【javascript 里面的内容】  javascript 分为三部分:

            ①ECMAScript

                (定义了js 的语法,变量,语句)

            ②BOM 浏览器对象模型

                (我们可以通过浏览器的自带的一些对象,可以调出浏览器的功能.)

            ③Dom  文档对象模型

            我首先有一个html 文件,我通过浏览器去打开这个html 文件;浏览器会去解析这个html 文件,把这个文件解析之后放在一个document 对象里面; 我以后要操作html 里面的内容,我就直接操作document 就可以

<span style="color: #008080;">1</span> <span style="color: #000000;">      //(操作dom 就是熟练dom   的api)
</span><span style="color: #008080;">2</span> <span style="color: #000000;">        //    (操作dom 的前期,要操作dom 必须先得到dom)
</span><span style="color: #008080;">3</span> <span style="color: #000000;">             document.getElementById("");
</span><span style="color: #008080;">4</span>              document.getElementsByTagName("");
로그인 후 복사

2) html5 可以提供一些标签来完成播放.

        我们做这种音频文件,以及视频文件,最麻烦地方就是解码【音频文件,以及视频文件,都有格式,各种各样的格式】

        1:假设你网站的视频资源是自己产生的

        2:假设网站的资源是用户上传上去的,我们需要在用户上传的时候对这个资源进行转码.

【H5中】这个h5 在这个的基础上面进行了扩展,提供了一些更加强大的方法.
<span style="color: #000000;">//根据class 的值去获取
             document.getElementByClassName("")
// 这个里面支持css 里面的选择器
//这里返回的是第一个元素..
             document.querySelector(".username")
//获取的所有的,返回的是一个集合.
             document.querySelectorAll(".username>li");</span>
로그인 후 복사

【表单的总结】我现在有一个表单,定义属性,什么时候id ,什么是时候使用name,什么时候使用class

   ① 我为一个元素加id 的目的,为了js 方便去获取这个元素

   ②name :如果我要跟服务器进行交互,服务器到时候要获取客户端表单提交的数据.它是根据name 的值去获取   

<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="username"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="zhangsan"</span><span style="color: #0000ff;">></span><span style="color: #000000;">
// username=zhangsan</span></span>
로그인 후 복사

 ③class 一般,如果我要通过样式去批量控制元素,我就为元素添加class 属性.

    我们以后做案例:第一步,我要把页面的基本布局画好(html,css)

                                  第二步:分析功能,根据功能找到对应的事件

                                  第三步:事件出来了,方法就出来了

【ps】我看要完成什么功能,一般情况下我们都是操作dom; 获取dom,操作dom (api 操作.);即使调试,一个案例,都是调出来的

【小结】  html5 概念:就是在html4 上面的一个增强版本。在 标签,css,js 上面的一个增强。

 标签:出现了一些新的比较具有颠覆性的标记.

       1:html5 的声明

       2:语义标签(大家当做div ,或者span 来理解就可以.)

       3:兼容性处理,需要导入一个js 库.

       4:表单,我们传统的表单,难以完成比较复杂的页面应用

            4.1:新增了一些类型 type=""

            4.2: 新增了一些标签  datalist

            4.3: 新增了属性  (文档)

            4.4:事件  oninput

          小案例:*,案例.

多媒体处理:

        audio  针对mp3 音频

        video   针对视频的

 解码;做客户端不用处理.

dom 的处理

        新增了一些api ,来让我们去获取页面上面的内容.

        document.getElementByTagName

        document.querySelector();

        document.querySelectorAll();

        新增了属性操作:

         document.getElementById("").classList.add();

         document.getElementById("").classList.remove();

         document.getElementById("").classList.toggle();

         document.getElementById("").classList.contains();

        自定义属性:

          我可以为元素自定义属性 我们是在元素上面加  data-itcast-name="";

          遵守驼峰命名法则

          tabs 选项卡切换.(就是属性api )

 

4、CSS3 与 JS 的区别

1)css:出现了css3,支持3d 效果.

   js:定位(直接在网站里面可以嵌入地图.),重力感应

2)css3 肯定可以使页面的显示更加的丰富效果

  javascript 新增了一些api,定位(百度地图),重力感应  js 的一些对象

 

 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? 공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? Mar 04, 2025 pm 12:32 PM

공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? 웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? Mar 04, 2025 pm 02:39 PM

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

& lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

& lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? Mar 12, 2025 pm 04:05 PM

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

& lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

See all articles