• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    萌新的HTML5 入门指南

    发布者: 天下网吧 | 发布时间: 2025-6-16 12:28| 查看数: 94| 评论数: 0|帖子模式

    1. 本文由葡萄城技术团队原创并首发
    2. 作者:<a rel="external nofollow" target="_blank" href="https://www.grapecity.com.cn/">葡萄城官网</a>,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
    复制代码
    HTML5的发展改变了互联网技术趋势,前端热度依旧不减,所以对于应用开发人员前端技术也成了必备技能之一,本篇文章的目的是为了帮助萌新的入门指导,也同时希望能为老鸟起到一定查漏补缺的作用,那么让我们开始吧。
    什么是HTML5?
    广义上的HTML5是HTML最新的修订版本,由万维网联盟(W3C)于2014年10月完成标准制定。目标是取代1999年所制定的HTML 4.01和XHTML 1.0标准,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求。
    但我们在日常中常说的HTML5技术,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。
    开发人员在开发过程中为了提高开发效率,常常会用到各种组件工具例如:jQuery,BootStrap,webpack,或者前端框架,如:VUE等。除了学习各种工具框架的使用,HTML5的基础知识也是需要了解掌握,这样有助于更好的理解工具框架的设计以及使用。
    后面我们将结合一系列文章,深入浅出的介绍关于HTML,CSS和JavaScript的常用功能及编程技巧。
    那么首先来了解下HTML5都更新了那些内容:
    什么样的网页是HTML5网页?
    只要html页面第一行是 <!DOCTYPE html> 浏览器就会按照HTML5标准去解析网页,无论页面中是否使用了HTML5新增内容
    HTML5新增了哪些内容?
           • 更好的语义化标签
           结构元素:article、aside、header、hgroup、footer、figure、section、nav。
           其他元素:video、audio、canvas、embed、mark、progress、meter、time、command、details、datagrid、keygen、output、source、menu、ruby、wbr、bdi、dialog。
           一些语义化标签如section、nav在使用时和传统div并无大的区别,但这种标签更有利于搜索引擎的索引整理,利于智能手机、Pad等小屏设备适配,以及方便残障人士使用。
           同时也有些标签为浏览器增加了新的功能,如audio、video。
           • 应用程序接口(API)
                 1. Canvas,可以获取canvas标签元素的上下文对象,然后使用该上下文对象中的绘图功能进行绘制。https://www.w3schools.com/html/html5_canvas.asp
    1. <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
    2. </canvas>
    3. <script>
    4.     var c = document.getElementById("myCanvas");
    5.     var ctx = c.getContext("2d");
    6.     ctx.moveTo(0, 0);
    7.     ctx.lineTo(200, 100);
    8.     ctx.stroke();
    9. </script>
    复制代码
        2. 音频和视频,使用audio和video元素,浏览器无需安装播放插件,同时提供了播放控制API。
                 3. 地理位置,通过使用navigator相关API在用户授权情况下,可以获取用户位置信息。
                 4. 新的表单元素,tel、email、url、search、range、number、color、datetime、datetime-local、time、date、week、month。随着浏览器的支持,很多表单控件将成为历史
                 5. 新的表单特性和函数:placeholder、autocomplete、autofocus、spellcheck、list特性、datalist元素、min和max、step、required
                 6. 拖放API:draggable属性、拖放事件(dragstart、drag、dragenter、dragleave、dragover、drap、dragend)、dataTransfer对象
                 7. WebSocket,一种浏览器与服务器间进行全双工通讯(full-duplex)的网络技术,可以传输基于信息的文本和二进制的数据
                 8. Web Workers,JavaScript单线程,复制js需算会导致页面出现假死。如果js操作不需要访问页面window,那么可以放在web worker中并行处理。
           • 废除元素
           废除一些纯变现以及兼容性不好的元素如:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt。
    浏览器支持
           IE9开始支持,IE10后支持较好。
           Chrome,Firefox,Safari,Opera支持较好。
           以上便是一些常用的HTML5新增的一些特性,接下来,我们一起看一看在HTML5在页面布局方面有什么变化吧。
    HTML5页面布局
    常用的页面布局方式有很多种,比如
         
    • 最早的静态表格布局   
    • 通过栅栏划分页面的流式布局   
    • 根据屏幕大小自动调整内容的自适应布局   
    • 融和流式布局和自适应布局的响应式布局
    以上布局主要通过使用css中display、position和float属性相配合来实现,在确定位置以及清除浮动时,常常会遇到棘手问题(例如:垂直居中,屏幕适应)。
    CSS3中提供了一种更简单的布局方式Flex布局(弹性布局)。
    下面我们通过一个例子来展示Flex布局的易用性,下图是一个典型的单页应用样式,结构上分为header,aside,footer和main四部分。header和footer自适应宽度,aside固定宽度并可收缩,main区域自动根据剩余空间填充。



    我们首先使用自适应布局来实现上图的结构
         
    • HTML
    1. <body>
    2. <div class="header"></div>
    3. <div class="container">
    4.   <div class="aside"></div>
    5.   <div class="main"></div>
    6. </div>
    7. <div class="footer"></div>
    8. </body>
    复制代码
         
    • CSS
    1. html,body {
    2.       margin: 0;
    3.       padding: 0;
    4.   height: 100%;
    5.   background: black;
    6. }
    7.   
    8. .header, .footer{
    9.   height:80px;
    10.   background: white;
    11. }
    12.   
    13. .container{
    14.   height: CALC(100% - 160px);
    15.   background: pink;
    16.   padding: 10px 0;
    17. }
    18.   
    19. .aside{
    20.   width: 20%;
    21.   height: 100%;
    22.   float: left;
    23.   background: gold;
    24. }
    25. .main{
    26.   width: 80%; 
    27.   height: 100%;
    28.   float: left;
    29.   background: gray;
    30. }
    复制代码
    页面分为上中下三部分,中间部分container高度通过使用CALC计算,浏览器高度变化时自动调整。container中aside为浮动元素,宽度20%。main根据剩余宽度调整。

    这样的布局方式存在一些问题,就是当header、footer高度发生变化后,需要重新设置container高度,另外如果container中并列元素较多时,浮动难以控制。
    接下来,我们看一下如何使用Flex布局实现上面的效果:
         
    • html:
    1. <body>
    2. <header><h1>Welcome to HTML5 World!</h1></header>
    3. <section class="designerContainer">
    4. <aside class="designerAside">
    5. <div style="width:180px">Aside</div>
    6. </aside>
    7. <main class="designerMain">
    8. </main>
    9. </section>
    10. <footer><h3>Copyright © 2020 GrapeCity inc.</h3></footer>
    11. </body>
    复制代码
         
    • css:
    1. html, body{
    2.       margin: 0;
    3.       padding: 0;
    4.     }
    5.     body{
    6.         height: 100vh;
    7.         display: flex;
    8.         flex-direction: column;
    9.     }
    10.     h1, h2, h3 {
    11.       font-family: Avenir, Helvetica, Arial, sans-serif;
    12.       text-align: center;
    13.       color: #2c3e50;
    14.       margin-block-start: 0;
    15.       margin-block-end: 0;
    16.       padding: 15px;
    17.     }
    18.     .designerContainer{
    19.       padding: 10px;
    20.       flex: 1;
    21.       display: flex;
    22.       background: gray;
    23.     }
    24.     .designerAside{
    25.       text-align: center;
    26.       background: gold;
    27.     }
    28.     .designerMain{
    29.       display: flex;
    30.       flex: 1 100%;
    31.       padding: 0 0 0 10px;
    32.       background: pink;
    33.     }
    复制代码
    效果如下:

    对比自适应布局,上面的代码有以下特点:
         
    • 页面使用HTML5语义化标签,页面各部分功能清晰。   
    • body设置高度 100vh, 这里使用了CSS3 的新单位vh,即 view height 视窗高度,100vh相当于html, body 高度100%,同样还有vw代表视窗宽度   
    • body设置flex布局,方向从上到下叠放   
    • designerContainer 设置flex 1,自动充满header和footer之外剩余空间   
    • container内部依旧flex布局,designerMain 设置 flex 1,自动充满aside剩余空间
    Flex兼容性注意事项:
    l  IE9不支持FLEX,建议IE11
    l  Safari 和 IOS 需要加 -webkit-
    之前我们也写过FlexBox教程,更多的内容欢迎大家查看这篇文章了解:https://www.cnblogs.com/powertoolsteam/p/10000927.html
    后面我们将会为大家介绍JavaScript相关的内容,希望大家持续关注。
    以上就是萌新的HTML5 入门指南的详细内容,更多关于HTML5 入门指南的资料请关注脚本之家其它相关文章!

    来源:https://www.jb51.net/html5/751217.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表