12.HTML5下一代的HTML标准介绍与初识尝试

2023-11-20

549c54ca9ac2db1ded6529803171c7f5.jpeg

d918bfc6dbbc890e76e733283e03985e.gif

关注回复【学习交流群】加入【安全开发运维】答疑交流群

请朋友们【多多点击文中的广告】,支持作者更新更多文章


目录:

fbc0bf391f975a2c8839b72f4867a896.png

本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 [master@weiyigeek.top] 中我将及时回复。


0x00 前言简述

描述: 实际上在前面学习HTML系列入门课程时,都已经涉猎到HTML5领域(标签元素),从本章开始算是作为HTML5的一个复习总结与新增知识点学习,一是为了加深各位学习者的学习印象,二是对比其到底其与其前几个HTML版本有何差异,三是HTML5的标签有那些,四是如何在我们应用中使用HTML5技术。

HTML5 是 HTML 的最新稳定版本, 它将 HTML 从用于构造一个文档的一个简单标记,到一个完整的应用程序开发平台,除其他功能外,HTML5 还包括新元素和用于增强存储、多媒体和硬件访问的 JavaScript APIs (此处CSS/JS,我们还未正式学习后续会一一介绍,所以说请大家持续关注作者吧)。


0x01 介绍 HTML5

什么是 HTML5?

描述: HTML5 是下一代的 HTML 标准, 相比于 HTML , HTML 4.01的上一个版本诞生于 1999 年,自从那以后,Web 世界已经经历了巨变。

HTML5 其设计目的是为了在移动设备上更好的支持多媒体, 除此之外 HTML5 设计者想实现减少对外部插件的需求(比如 Flash),更多取代脚本的标记 (精简代码),更优秀的错误处理,开发进程应对公众透明等几个方向进行发展。

发展历史
HTML5 是 W3C 与 WHATWG 合作的结果, WHATWG 其致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0,在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。

并在2014年10月由万维网联盟(W3C)完成标准制定,不过当前 HTML5 仍处于完善之中,随着其不断的发展完善,当前大部分现代浏览器已经具备了某些 HTML5 支持。

编者注:W3C 指 World Wide Web Consortium,万维网联盟
编者注:WHATWG 指 Web Hypertext Application Technology Working Group,网页超文本技术工作小组

浏览器支持:
最新Edge、Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性,Internet Explorer 9 将支持某些 HTML5 特性(不过当前还用IE的基本都是)。

前端常说的 HTML5 有何特点 ?

HTML5引入了许多新的特性,以下是其中一些主要的新特性:

  • 1.语义化标签:HTML5引入了一些新的语义化标签,如<header>、<nav>、<footer>、<section>、<article>等,可以更清晰地定义网页的结构和内容。

  • 2.视频和音频:HTML5新增了<video><audio>标签,可以直接在网页中嵌入视频和音频,并通过JavaScript进行控制和交互。

  • 3.画布:HTML5的<canvas>标签可以在网页上绘制图形、动画和游戏,提供了更强大的绘图功能。

  • 4.地理定位:HTML5的Geolocation API可以获取用户的地理位置信息,可以用于定位服务、导航等应用。

  • 5.本地存储:HTML5提供了本地存储的能力,如localStoragesessionStorage,可以在浏览器端存储和读取数据,方便离线应用和数据缓存。

  • 6.Web Workers:HTML5的Web Workers允许在后台运行脚本,可以提高网页的性能和响应速度。

  • 7.Web Socket:HTML5的Web Socket提供了实时的双向通信,可以用于实时聊天、游戏等应用。

  • 8.表单增强:HTML5的表单元素提供了更多的输入类型和验证功能,如<input type="date">、<input type="email">、<input type="number">等,可以提升用户体验和数据的准确性。

  • 9.CSS3支持:虽然CSS3并非HTML5的一部分,但HTML5的普及也促使了CSS3的应用,CSS3提供了更多的样式选择器、动画效果和布局功能,可以让网页更加美观和交互。

这只是HTML5的一些新特性,HTML5还有许多其他的新特性和API,可以为网页提供更丰富的功能和用户体验。

作为一名初学者,如何学习HTML5?

学习HTML5可以按照以下步骤进行:

  • 1.了解HTML基础:HTML是超文本标记语言,是构建网页的基础。学习HTML标签和语法,了解如何创建结构化的网页。

  • 2.学习CSS样式:HTML负责网页的结构,而CSS负责网页的样式。学习CSS的选择器、属性和值,了解如何为网页添加样式。

  • 3.掌握HTML5新增的元素和特性:HTML5引入了一些新的元素和特性,如语义化标签(如<header>、<nav>、<footer>),多媒体标签(如<video>、<audio>),表单增强(如<input type="date">、<input type="email">),Canvas等。学习这些新的元素和特性,可以使你的网页更加现代化和丰富。

  • 4.学习JavaScript:HTML5和JavaScript紧密结合,JavaScript可以为网页添加交互和动态效果。学习JavaScript的基础语法、DOM操作和事件处理等,可以为你的网页增加更多的功能。

  • 5.实践和项目:通过实践和实际项目,将所学的知识应用到实际中。可以尝试构建简单的网页,如个人简历、博客等,并逐渐挑战更复杂的项目。

  • 6.持续学习和探索:HTML5是一个不断发展的技术,新的标准和特性不断涌现。要保持持续学习的态度,阅读相关的教程、文档和博客,参与技术社区的讨论,跟随行业的最新动态。

记住,学习HTML5需要时间和实践,不要急于求成,持续学习并坚持下去,你会逐渐掌握和熟练运用HTML5的技能。


偷偷的告诉你哟?极客全栈修炼】微信小程序已开放

可直接在微信里面直接浏览博主文章哟,后续将上线更多有趣的小工具。


0x02 初识 HTML5

代码规范

描述: 在2000年至2010年,许多Web开发人员从 HTML 转换到 XHTML, 很多 Web 开发人员对 HTML 的代码规范知之甚少, 使用 XHTML 开发人员逐渐养成了比较好的 HTML 编写规范。

而针对于 HTML5 ,我们应该形成比较好的代码规范,以下提供了几种规范的建议:

  • 1.使用正确的文档类型,其文档类型声明位于HTML文档的第一行<!DOCTYPE html>.

  • 2.使用小写作为元素名, 虽然HTML5在解析元素名时不区分大小写,但是在实际开发中应该小写命名。

  • 3.建议尽量闭合的HTML元素,在 HTML5 中你不一定要关闭所有元素 (例如 <p>元素),但我们建议每个元素都要添加关闭标签。

  • 4.建议尽量关闭空的HTML元素,虽然HTML5中针对于空的元素不一样要闭合, 但是在 XHTML 和 XML 中斜线 (/) 是必须的,所以还是应该保持空元素闭合, 例如: <meta charset="utf-8" />

  • 5.使用使用小写属性名,虽然HTML5在解析属性名时不区分大小写,但是在实际开发中应该小写命名。

  • 6.建议为元素的属性值加上双引号,其属性与属性值之间尽量少用空格。

  • 7.建议为img元素设置 alt 属性并定义好图片尺寸。

  • 8.应该避免一行代码过长,每行代码尽量少于 80 个字符。

  • 9.正确的使用空行和缩进,缩进使用两个空格不建议使用TAB键(由于不同编辑器对其解析有个不一致),元素之间也应尽量避免空行。

  • 10.不要省略文档中<html><body>标签,如果省略 <html> 或<body>, 可能会在 DOM 和 XML 软件中会崩溃。

  • 11.必须设置元数据,HTML5 中 <title> 元素是必须的,标题名描述了页面的主题,其次 meta 设置便于浏览器的解析与SEO收录。

  • 12.应使用简洁的语法来载入外部的样式表 ( type 属性不是必须的),短的规则可以写成一行,长的规则可以写成多行。

  • 13.使用简洁的语法来载入外部的脚本文件 ( type 属性不是必须的 )。

  • 14.建议使用小写文件名,这是为了保持程序的兼容性,必须保持统一的风格。

  • 15.应尽量使用.html作为网页文档扩展名而不是使用.htm, 虽然浏览器针对其处理是一致的,但是在服务器中通常设置的默认文件为index.html

网页文档

描述: 如果我们想让浏览器知道我们想让其使用HTML5标准进行渲染晚归,则 <!doctype> 声明必须位于 HTML5 文档中的第一行使用非常简单, 例如,下面是一个简单的HTML5文档结构:

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Title Page | 网页标签</title>


    <!-- Bootstrap CSS -->
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">


    <!-- IE9 以下版本浏览器兼容HTML5的方法,使用本站的静态资源的html5shiv包 ( 不过应该基本用不到) -->
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.3/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1 class="text-center">Hello World! | HTML5 </h1>


    <!-- jQuery -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Bootstrap JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  </body>
</html>

温馨提示: 对于中文网页需要使用 <meta charset="utf-8"> 声明编码,否则会出现乱码。


0x03 小试牛刀

HTML5 之常用标签

描述: HTML5引入了许多新的元素标签,以下是一些常用的HTML5元素标签及其作用(标签详细的使用请查看前面作者总结的HTML对应的功能标签文章):

  • <header>:定义文档或节的页眉,常用于文章头部。

  • <nav>:定义导航链接的容器

  • <main>:定义文档的主要内容

  • <article>:定义独立的自包含文章内容

  • <section>:定义文档中的节,比如章节、头部、底部或者文档的其他区域

  • <aside>:定义页面的侧边栏内容, 其包含的内容应该与附近的内容相关

  • <footer>:定义文档或节的页脚,通常包含文档的作者、版权信息、使用条款链接、联系信息等等。

  • <figure>:定义独立的媒体内容,如图像、图表、照片等,其内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。

  • <figcaption>:定义 <figure>元素的标题,该元素应该被置于 "figure" 元素的第一个或最后一个子元素的位置

  • <video>:用于嵌入视频的标签

  • <audio>:用于嵌入音频的标签

  • <canvas>:用于绘制图形、动画等的标签

  • <progress>:显示任务的进度条

  • <meter>:显示度量衡的标签,如温度、速度等

  • <datalist>:定义输入字段的选项列表, 用于描述文档或文档某个部分的细节。

  • <output>:显示计算结果的标签

  • <mark>:定义需要突出显示的文本

  • <time>:定义日期或时间的标签

  • <ruby>:用于显示注释或字符的标签,通常用于东亚文字。

  • <rp>:在 ruby 中使用,以定义不支持 ruby 元素的浏览器所显示的隐藏内容。

  • <rt>:定义字符(中文注音或字符)的解释或发音。

  • <bdi> : 标签允许您设置一段文本,使其脱离其父元素的文本方向设置。

  • <details>:定义额外的细节或折叠内容

  • <summary>:定义 <details> 元素的摘要或标题

  • <command>: 定义命令按钮,比如单选按钮、复选框或按钮。

  • <dialog>: 标签定义对话框或窗口(暂时Google Chrome Browser 支持)

  • <embed> : 标签定义嵌入的内容,比如swf、视频资源等。

  • <wbr> : 标签规定在文本中的何处适合添加换行符, Word Break Opportunity 单词换行时机。

除此之外HTML5还引入了更多的新标签和特性,可以根据需要进一步学习和探索。

部分标签示例:

<article>
<header>
  <h1>注释:可以输出文章头部标题的区域</h1>
  <p>文章简单的摘要和描述</p>
</header>
  <p>The rest of my home page...</p>
</article>


<section>
  <h5>注释:定义了文档的某个区域,比如,章节、头部、底部或者文档的其他区域 </h5>
  <p>欢迎访问博主个人主页:https://blog.weiyigeek.top</p>
</section>


<footer>
  <p>注释: 包含文档的作者、版权信息、使用条款链接、联系信息等</p>
  <address>Address:ChongQing</address>
  <p>Contact information: <a href="mailto:master@weiyigeek.top">master@weiyigeek.top</a>.</p>
</footer>


<p>注释: aside 标签定义其所处内容之外的内容</p>
<aside>
  <h6>WeiyiGeeker</h6> 
  <p>一个想成为全栈的男人.</p>
</aside>


<details>
  <summary>注释:"summary" 元素应该是 "details" 元素的第一个子元素</summary>   
  <p style="color:lightblue;font-size:12px;">欢迎关注【全栈工程师修炼指南】公众号</p>
</details>


<menu>
  <p>注释: 只有当 command 元素位于 menu 元素内时,该元素才是可见的暂不支持! </p>
  <command type="button" label="command 标注">Click Me!</command>
</menu>


<p>注释: 定义对话框或窗口</p>
<button onclick="openDialog()">打开对话框</button>
<dialog id="myDialog">
  <p>这是一个对话框的内容。</p>
  <button onclick="closeDialog()">关闭</button>
</dialog>
<script>
function openDialog() {
  var dialog = document.getElementById("myDialog");
  dialog.showModal(); // 打开对话框
}
function closeDialog() {
  var dialog = document.getElementById("myDialog");
  dialog.close(); // 关闭对话框
}
</script>


<p>注释: 标签定义嵌入的内容主要是多媒体.</p>
<embed src="/i/helloworld.swf" type="application/x-shockwave-flash" />


<p>注释: 作用是将图片与其标题/描述关联起来</p>
<figure>
  <p>全栈入门学习系列笔记</p>
  <img src="image.jpg" alt="描述图片的文字">
  <figcaption>作者:WeiyiGeek ,更新时间:2023年7月3日 10:27:25</figcaption>
</figure>


<p>注释: 定义带有记号的文本</p>
<p>Do not <mark>forget</mark>  to buy <mark>milk</mark> today.</p>


<p>注释:请结合 `<progress>` 标签与 JavaScript 一同使用,来显示任务的进度</p>
<p>下载进度:</p>
<progress value="50" max="100">50%</progress>
<p>下载完成:</p>
<progress></progress>
<p>音量控制:</p>
<meter value="0.7" min="0" max="1">70%</meter>


<p>注释: ruby 元素由一个或多个需要解释/发音的字符和一个提供该信息的 rt 元素组成,还包括可选的 rp 元素</p>
<ruby>
  漢 <rp>(</rp><rt>han</rt><rp>)</rp>
  字 <rp>(</rp><rt>zi</rt><rp>)</rp>
    
  汉 <rt>han</rt>
  字 <rp>(<rt>zi</rt>)</rp>
</ruby>


<p>我们在每天早上 <time>9:00</time> 开始营业。</p>
<p>为了迎接<time datetime="2023-06-22">端午节</time>的客户</p>


<p>这是一个较长的单词,可能会在中间换行:<wbr>supercal
ifragilisticexpialidocious</p>

执行结果展示:
2545969d6df6980caf15afa3a04280dc.png

HTML5 之媒体标签

描述: 此处的 <video> 和 <audio> 标签我们在 9.HTML多媒体对象标签元素介绍文章中已做详细介绍,此处不再累述了,有需要的朋友请自行取走。

相关的 HTML5 标签:

  • media 标签 : 规定媒体资源的类型(文件是为何种媒体/设备进行了优化)。

  • video 标签 : 包含视频的标签元素,支持三种格式ogg/mepg4/WebM。

  • audio 标签 : 该元素能够播放声音文件或者音频流,支持三种格式ogg、Mp3、Wav。

简单示例:

<source src="movie.ogg" type="video/ogg" media="screen and (min-width:320px)"> 


<video width="100%" height="240" controls="controls" src="/i/movie.ogg">
<video width="100%" height="240"controls="controls" autoplay="true" loop="true" >
  <source src="/i/movie.ogg" type="video/ogg"> <!--firefox浏览器-->
  <source src="/i/movie.mp4" type="video/mp4"> <!--safari浏览器-->
Your browser does not support the video tag.
</video>


<audio controls="true" autoplay="true" loop="true" src="/i/song.ogg">
<audio controls="controls" autoplay="true" loop="true">
  <source src="/i/song.ogg" type="audio/ogg">
  <source src="/i/song.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>

温馨提示: 请参阅 IANA MIME 类型,获取完整的标准 MIME 类型列表[ https://www.iana.org/assignments/media-types/media-types.xhtml ]

亲,文章就要看完了,不关注一下【全栈工程师修炼指南】吗?

HTML5 之拖放标签

描述: 拖放(Drag 和 drop)是 HTML5 标准的组成部分, 它是是一种常见的特性,即抓取对象以后拖到另一个位置,在 HTML5 中任何元素都能够拖放。

相关的 HTML5 标签:

ondrag : 元素被拖动时运行的脚本。(每350ms执行一次)

ondragstart : 在拖动操作开端运行的脚本。
ondragend : 在拖动操作末端运行的脚本。

ondragover : 当元素在有效拖放目标上正在被拖动时运行的脚本。
ondragenter : 当元素已被拖动到有效拖放区域时运行的脚本。
ondragleave : 当元素离开有效拖放目标时运行的脚本。

ondrop : 当被拖元素正在被拖放时运行的脚本(拖放)。

流程思路

  1. 设置元素为可拖放首先,为了使元素可拖动,把 draggable 属性设置为 true :<img draggable="true" />

  2. 拖动什么 -> ondragstart (事件)和 setData(),然后,规定当元素被拖动时,会发生什么。
    在上面的例子中,ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据,dataTransfer.setData() 方法设置被拖数据的数据类型和值:

function drag(ev){
  ev.dataTransfer.setData("Text",ev.target.id);
}

在这个例子中,数据类型是 "Text" 值是可拖动元素的 id ("drag1")。

  1. 放到何处 -> ondragover事件规定在何处放置被拖动的数据。
    默认地,无法将数据/元素放置到其他元素中,如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

这要通过调用 ondragover 事件的 event.preventDefault() 方法:event.preventDefault(); 使其取消默认事件

  1. 进行放置 -> ondrop事件当放置被拖数据时,会发生 drop 事件。
    在上面的例子中,ondrop 属性调用了一个函数,drop(event):

function drop(ev){ 
  // 避免浏览器对数据的默认处理(drop实践的默认行为是以链接形式打开的)
  ev.preventDefault();
  // 获取被拖拽的数据,也可获取setData()方法中设置为相同类型的任何数据。
  var data=ev.dataTransfer.getData("Text");
  // 将被拖拽的元素使用appendChild()方法追加到放置元素(目标元素)中。
  ev.target.appendChild(document.getElementById(data));
}

综合示例:

<!DOCTYPE html>
<html>
<head>
  <style>
    #dragElement {
      width: 100px;
      height: 100px;
      background-color: red;
      color: white;
      text-align: center;
      line-height: 100px;
      cursor: move;
    }
    #dropElement {
      width: 200px;
      height: 200px;
      background-color: lightblue;
      margin-top: 20px;
      text-align: center;
      line-height: 200px;
    }
</style>
</head>
<body>
    <div id="dragElement" draggable="true">拖动我</div>
    <div id="dropElement"></div>


    <script>
        var dragElement = document.getElementById("dragElement");
        var dropElement = document.getElementById("dropElement");


        dragElement.addEventListener("dragstart", function(event) {
            event.dataTransfer.setData("text/plain", event.target.id);
        });


        dropElement.addEventListener("dragover", function(event) {
            event.preventDefault();
        });


        dropElement.addEventListener("drop", function(event) {
            event.preventDefault();
            var data = event.dataTransfer.getData("text/plain");
            var draggedElement = document.getElementById(data);
            event.target.appendChild(draggedElement);
        });
</script>
</body>
</html>

执行结果:

f7ea551d58106422049cd64b72e2c58b.png

本文至此完毕,更多技术文章,尽情等待下篇好文!

原文地址: https://blog.weiyigeek.top/2023/7-3-756.html

【 如果此篇文章对你有帮助,请你将它分享给更多的人! 】

5c6424bb58862bfa3c0176190b041cae.gif

53e1d12908e9a00add9b5712c3778cfe.png 学习书籍推荐 往期发布文章 e2e7ca88ef380215f8f4d40b13f7cec6.png

回复【0014】获取【Nginx学习之路汇总】

回复【0015】获取【Jenkins学习之路汇总】

回复【10005】获取【adb工具刷抖音赚米】

回复【0011】获取【k8S二进制安装部署教程】

回复【10001】获取【WinServer安全加固脚本】

回复【0008】获取【Ubuntu22.04安装与加固脚本】

回复【10006】获取【CentOS8安全加固脚本】

回复【10002】获取【KylinOS银河麒麟安全加固脚本】

 热文推荐  

按(扫描)二维码 关注 【全栈工程师修炼指南】(^U^)ノ~YO

e8fe6e8a5c210c4a291fc973857bbc0c.gif

欢迎添加作者微信【weiyigeeker】,一起入坑吧!

关注回复【学习交流群】即可加入【安全开发运维沟通交流群

      各位亲爱的读者,现在公众号更改了推送规则,如果您需要第一时间看到我们推送的好内容。

一定要记得给公众号星标,经常点赞、在看、转发、分享和留下您的评论 !

点击【"阅读原文"】获取更多有趣的知识

                                           若有帮助请点个【在看 赞 】吧

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

12.HTML5下一代的HTML标准介绍与初识尝试 的相关文章

  • 如何在 Safari 上打开本地 html 文件?

    我想打开本地 html 文件Safari集成到我的Swift 3应用 我知道如何使用网址来做到这一点 这是我用来执行此操作的代码 let encodedString url addingPercentEncoding withAllowed
  • 使用无图像按钮有哪些优点?

    讨论关于这个答案 https stackoverflow com questions 520640 how can i use googles new imageless button how could i reverse enginee
  • 如果执行了锚点 href 链接,则禁用 onClick 事件

    我有一张桌子 每一行都是一个由 js 调用的某个页面 例如 google com 的链接 onClick window open 方法 tr class tr 在最后一栏中我有一个锚点链接链接到其他页面 例如 jsfiddle td cla
  • 下拉 24 小时选项值和 12 小时显示

    我需要创建一个时间数组 以便在 HTML 下拉列表中使用 数组键应采用 24 小时格式 值应采用 12 小时制 包含 am 和 pm 在数据库中我想存储 24 小时格式 有没有一种快速的方法来创建数组而不是每小时键入 example 00
  • 所有事件的 HTML5 EventSource 监听器?

    我使用 EventSource 在 JavaScript 客户端应用程序中推送通知 我可以像这样附加事件监听器 source addEventListener my custom event type function e console
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • Gmail 和 Google Chrome 12+ 中的“从剪贴板粘贴图像”功能如何工作?

    我注意到一个来自 Google 的博文 http gmailblog blogspot com 2011 06 pasting images into messages just got html其中提到 如果您使用的是最新版本的 Chro
  • CSS 动画自定义属性/变量

    一段时间以来我一直在努力让它发挥作用 关键是内部 div 将具有某种形状 并且可能会不止一个 这就是为什么我使用nth child选择器 这个内部 div 应该显示然后再次隐藏一段时间 问题是 我想在一个动画中为所有 后来的 多个内部 di
  • 响应式2列2行布局

    我一直在试图弄清楚如何创建这个布局 我有一个 2 列布局 左列有 1 行 右侧有 2 行 我试图让它流畅地调整 我遇到的问题是 我希望右侧顶部图像的顶部与左侧图像的顶部对齐 而底部图像的底部与左侧图像的底部保持对齐 我应该使用桌子吗 这是我
  • 优化 CSS 交付 - Google 的建议

    谷歌建议在 head 中使用非常重要的 CSS 内联 并在内部使用其他 CSS
  • 在 Blogger 中使用相对链接

    我正在使用博主 当我需要在我的博客文章中提到一个链接并且该链接实际上是我自己的博客文章的链接时 我在其旁边提到标签 www my blog name blogspot in 12 2013 how to do html if i chang
  • 如何使网页中出现的图标闪烁/闪烁

    几天前我开始研究高级java 我知道太晚了 我被困在使图标 出现在任务栏上 闪烁的特定任务上 这种闪烁应该根据特定条件发生 这意味着可以使用以下方法来实现javascript 我已经搜索了一段时间了 但是有没有办法让图标每隔 1 秒左右出现
  • CSS 中的边框图像开头

    MDN 是这样定义的边框图像开始 https developer mozilla org en docs Web CSS border image outset border image outset 属性描述了边框的数量 图像区域超出边框
  • 获取画布上下文的最后一个点的坐标

    我想创建一个arrowTo功能与CanvasRenderingContext2D prototype 为此 我需要获取最后一个点的坐标 例如 var ctx someCanvas getContext 2d ctx moveTo 10 40
  • onclick 函数上的 CSS 选择器

    有没有办法让CSS选择器onclick function 您可以在onclick https stackoverflow com questions 24365416 select element which have specific a
  • HTML代码可以像CSS文件一样附加到HTML页面吗?

    HTML 代码可以像 CSS 文件一样附加到 HTML 页面吗 这样 如果所有页面中都复制了部分 HTML 代码 我可以将其放在一个文件中 然后轻松修改它 谢谢 Ahmed 是的 可以 使用框架 但不推荐 Example 此代码将允许您重用
  • 清理 html 字符串中的所有脚本

    HTML5 剪贴板很棒 但我正在寻找一种使其安全的方法 用户正在将文本 html 粘贴到我的网页中 这允许他们粘贴图像 表格等 我正在寻找一种方法 在将粘贴的内容添加到页面之前删除所有脚本 我需要删除
  • 左对齐图像和居中文本在 div 内的同一级别?

    HTML br div class UpperTitle img src align left CableSolve Web Dashboard Version 0 1 1 div br CSS UpperTitle text align

  • 有多少像素? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 一个有多少像素 br 标签添加 我知道 br 高度可以通过CSS控制line height财产 不同浏览器的值是否相同 它会添加与浏览
  • 背景大小:封面在视网膜显示屏上看起来像素化

    可以看到我正在开发的网站here http ourcityourstory com dev 如果你查看 iPad 3 或 iPhone 4 上的 关于 或 联系 部分 背景看起来全都是疯狂的像素化 我有background size set

随机推荐

  • Qt界面制作简单教程,调用python代码

    利用Qt5design或Qt5Creator制作界面的布局 包括设置按钮的个数 布局和大小等 注意记得为每个按钮添加槽函数 保存生成 ui文件 利用pyuic5 xxx ui gt xxx py或pyuic5 xxx ui o xxx py
  • 最全的雅思8000词汇pdf_助力9分

    词汇是雅思学习的基础 对此我们特别设立 9分词汇 小栏目 专门分享词汇相关干货 包括但不限于 高频词解析 场景词汇总结 熟词辟义 同义替换等等 如果你还有其他有关词汇想要学习了解的 欢迎给我们留言 一定及时为大家补充 雅思听力part 1
  • html点击收缩展开菜单栏,jquery实现点击向下展开菜单项(伸缩导航)效果

    本文实例讲述了jquery实现点击向下展开菜单项 伸缩导航 效果 分享给大家供大家参考 具体如下 这里演示基于jquery打造的向下展开的多级导航条效果 纵向垂直排列 风格非常的简洁 鼠标点击时候展开菜单的二级项 再次点击的时候又向上合拢
  • Spring事务传播属性

    参考文献 Spring事务传播属性和隔离级别 https www cnblogs com eunice sun p 11024584 html spring事务传播机制总结 https blog csdn net m18330808841
  • GBA编程和汉化常用软件汇总

    内容来自GBA吧中的痴狂小黑 本人只是做个汇总和搬运 1 简易图片导入导出套装 PicSimpleImEx AutoPicRock Ver1 0 这两个软件是用C 写的 想要用 先装dotNetFx40 Full x86 x64 exe 然
  • 算法问题实战策略

    算法问题实战策略 基本信息作者 韩 具宗万 译者 崔盛一出版社 人民邮电出版社ISBN 9787115384621上架时间 2015 2 4出版日期 2015 年3月开本 16开页码 738版次 1 1 内容简介 算法问题实战策略 本书收录
  • 手动搭建torch2.0环境

    一 下载相关whl 1 从Previous PyTorch Versions PyTorch检查相互版本是否兼容 否则会出现无法使用cuda的问题 2 从https download pytorch org whl torch stable
  • 阶乘质因子分解(唯一分解定理)

    阶乘质因子分解 题目描述 对N 进行质因子分解 输入输出格式 输入格式 输入数据仅有一行包含一个正整数N N lt 10000 输出格式 输出数据包含若干行 每行两个正整数p a 中间用一个空格隔开 表示N 包含a个质因子p 要求按p的值从
  • Python JS逆向篇(一)

    Python JS逆向篇 一 效果实现 思路 最后一步 逆向 p a HmacSHA256 t s a state commonStore cupid sign key JS实现 py实现 先苦后甜 逆向主题 51job请求头headers
  • 【NodeJS】Express框架快速入门

    简介 作为前端开发 Nodejs已经成了很多公司对我们这一岗位的硬性要求 而 Express 框架则是其中知名度最高 也是最受欢迎的Nodejs开发框架 它帮助我们封装了Nodejs底层的API 屏蔽了大量的繁琐的细节 让我们只需要关注业务
  • Mybatis框架解析

    一 Mybatis框架简介 MyBatis框架是一个开源的数据持久层框架 它的内部封装了通过JDBC访问数据库的操作 支持普通的SQL查询 存储过程和高级映射 几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索 MyBatis作为
  • PAM机制

    一 PAM简介 Linux PAM linux可插入认证模块 是一套共享库 使本地系统管理员可以随意选择程序的认证方式 换句话说 不用 重新编写和 重新编译一个包含PAM功能的应用程序 就可以改变它使用的认证机制 这种方式下 就算升级本地认
  • 无监督低照度图像增强网络ZeroDCE和SCI介绍

    目录 简介 Zero DCE 算法介绍 模型代码 无监督loss介绍 小结 Self Calibrated Illumination SCI 模型介绍 无监督loss介绍 小结 总结 简介 当前有较多深度学习的方法来做图像效果增强 但多数都
  • 量化投资学习-31:如何评判专家的战法是否真的有效还是瞎蒙?

    每逢牛市 都会冒出各种股神 各种专家 在牛市大趋势的东风下 各种专家鱼龙混杂 如何如何评判专家的战法是否真的有效还是瞎蒙 所谓牛市 就是高点越来越高 即使在任何一个时间点买入 短暂的亏损后 股价也再创新高 一样能赚钱 因此 在牛市的大势下
  • 三个闭环负反馈PID调节系统:电流环、速度环和位置环的关系

    三个闭环负反馈PID调节系统 电流环 速度环和位置环的关系 伺服电机为了达到生产的精准控制 电机一般采用三环控制 这主要是为了使伺服电机系统形成闭环控制 所谓三环就是3个闭环负反馈PID调节系统 电压映射电流变化 电流映射转矩大小 转矩大小
  • Sql语句中的DML语句

    一 什么是DML语句 DML语句就是数据库操作语句 二 DML语句的分类 Insert 插入 Update 修改更新 Delete 删除 Select 选择 三 insert语句 Delete from 表名名称 where 条件 DELE
  • windows下配置Mysql-5.7.9服务

    第一步 从官方网站下载 mysql 5 7 9 winx64 zip 第二步 解压缩 在根目录下复制my default ini 改名为my ini 第三步 初始化mysql目录 bin mysqld initialize user mys
  • 在渗透测试中,扫描器原理是什么

    在渗透测试中 扫描器原理是什么 渗透测试中的扫描器是一种自动化工具 用于识别目标系统中的漏洞 弱点或配置错误 扫描器通过发送特定的网络请求或使用其他技术手段来检查目标系统的安全性 并生成报告以供分析和修复 以下是扫描器的一般原理 1 信息收
  • 一眼看懂promise与async await的区别

    promise方法 let p1 new Promise resolve reject gt setTimeout gt resolve 我是p1 4000 let p2 new Promise resolve reject gt setT
  • 12.HTML5下一代的HTML标准介绍与初识尝试

    关注回复 学习交流群 加入 安全开发运维 答疑交流群 请朋友们 多多点击文中的广告 支持作者更新更多文章 目录 本文为作者原创文章 为尊重作者劳动成果禁止非授权转载 若需转载请在 全栈工程师修炼指南 公众号留言 或者发送邮件到 master