zoukankan      html  css  js  c++  java
  • HTML 学习笔记

    HTML,超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。
    批注:一种数据传输格式,安全,易用,稳定。其解析由浏览器来完成。

    HelloWorld

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
    </body>
    </html>
    

    HTML基础

    标签:

    <!DOCTYPE html> 声明为 HTML5 文档
    <html> 元素是 HTML 页面的根元素
    <head> 元素包含了文档的元(meta)数据。
    <meta charset="utf-8"> 定义网页编码格式为 utf-8。
    <title> 元素描述了文档的标题
    <body> 元素包含了可见的页面内容
    <h1> 元素定义一个大标题
    <p> 元素定义一个段落
    

    基础标签

    <!--  -->
    <!-- 标题 -->
    <h1>这是一个标题。</h1>
    
    <!-- 段落 -->
    <p>这是一个段落 </p>
    
    <!-- 水平线 -->
    <hr>  
    
    <!-- 换行 -->
    <br>
    
    <!-- 超链接 -->
    <a href="url" target="_blank" rel="noopener noreferrer">链接文本</a> <!-- target="_blank"在新标签页显示 --> <!-- rel用于指定当前文档与被链接文档的关系。 -->
    

    文本标签格式化

    <b> 	<!-- 定义粗体文本 -->
    <em> 	<!-- 定义着重文字 -->
    <i> 	<!-- 定义斜体字 -->
    <small> 	<!-- 定义小号字 -->
    <strong> 	<!-- 定义加重语气 -->
    <sub> 	<!-- 定义下标字 -->
    <sup> 	<!-- 定义上标字 -->
    <ins> 	<!-- 定义插入字 -->
    <del> 	<!-- 定义删除字 -->
    

    "计算机输出" 标签

    <code> 	<!-- 定义计算机代码 -->
    <kbd> 	<!-- 定义键盘码 -->
    <samp> 	<!-- 定义计算机代码样本 -->
    <var> 	<!-- 定义变量 -->
    <pre> 	<!-- 定义预格式文本 -->
    

    引文, 引用, 及标签定义

    <abbr> 	<!-- 定义缩写 -->
    <address> 	<!-- 定义地址 -->
    <bdo> 	<!-- 定义文字方向 -->
    <blockquote> 	<!-- 定义长的引用 -->
    <q> 	<!-- 定义短的引用语 -->
    <cite> 	<!-- 定义引用、引证 -->
    <dfn> 	<!-- 定义一个定义项目。 -->
    

    <head> 元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。

    可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <noscript><base>

    title 标题

    • 定义了浏览器工具栏的标题
    • 当网页添加到收藏夹时,显示在收藏夹中的标题
    • 显示在搜索引擎结果页面的标题

    base

    <base> 标签描述了基本的链接地址/链接目标,该标签作为HTML文档中所有的链接标签的默认链接:

    <head>
    <base href="http://www.runoob.com/images/" target="_blank">
    </head>
    

    定义了文档与外部资源之间的关系。
    批注:没懂,大概是引用外部资源的意思吧。

    <head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
    </head>
    

    style

    样式

    <head>
    <style type="text/css">
    body {background-color:yellow}
    p {color:blue}
    </style>
    </head>
    

    meta

    meta标签描述了一些基本的元数据。元数据也不显示在页面上,但会被浏览器解析。通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。

    script

    用于加载脚本文件,如: JavaScript。

    CSS

    CSS (Cascading Style Sheets) 用于渲染HTML元素标签的样式。
    CSS 可以通过以下方式添加到HTML中:

    • 内联样式- 在HTML元素中使用"style" 属性
    • 内部样式表 -在HTML文档头部 <head> 区域使用<style> 元素 来包含CSS
    • 外部引用 - 使用外部 CSS 文件

    内联样式

    <p style="color:blue;margin-left:20px;">这是一个段落。</p>
    

    内部样式表

    当单个文件需要特别样式时,就可以使用内部样式表。你可以在<head> 部分通过 <style>标签定义内部样式表:

    <head>
    <style type="text/css">
    body {background-color:yellow;}
    p {color:blue;}
    </style>
    </head>
    

    外部样式表

    <head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
    </head>
    

    图片

    <img src="url" alt="some_text" width="304" height="228"> 
    

    src 指 "source"。alt,当图片无法显示时会显示alt中的文本。

    表格

    <table border="1">
        <tr>
            <td>row 1, cell 1</td>
            <td>row 1, cell 2</td>
        </tr>
        <tr>
            <td>row 2, cell 1</td>
            <td>row 2, cell 2</td>
        </tr>
    </table>
    

    tr是行,td是列。

    其他属性:

    <table> 	<!-- 定义表格 -->
    <th> 	<!-- 定义表格的表头 -->
    <tr> 	<!-- 定义表格的行 -->
    <td> 	<!-- 定义表格单元 -->
    <caption> 	<!-- 定义表格标题 -->
    <colgroup> 	<!-- 定义表格列的组 -->
    <col> 	<!-- 定义用于表格列的属性 -->
    <thead> 	<!-- 定义表格的页眉 -->
    <tbody> 	<!-- 定义表格的主体 -->
    <tfoot> 	<!-- 定义表格的页脚 --> 
    

    列表

    无序列表

    无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。
    无序列表使用 <ul> 标签。

    <ul>
    <li>Coffee</li>
    <li>Milk</li>
    </ul> 
    

    有序列表

    有序列表始于 <ol> 标签。每个列表项始于 <li> 标签。
    列表项使用数字来标记。

    <ol>
    <li>Coffee</li>
    <li>Milk</li>
    </ol> 
    

    自定义列表

    自定义列表不仅仅是一列项目,而是项目及其注释的组合。

    自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的定义以 <dd> 开始。

    <dl>
    <dt>Coffee</dt>
    <dd>- black hot drink</dd>
    <dt>Milk</dt>
    <dd>- white cold drink</dd>
    </dl> 
    

    区块

    块级元素在浏览器显示时,通常会以新行来开始(和结束)。
    实例: <h1>, <p>, <ul>, <table>

    div

    <div> 元素没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后显示折行。
    块级 (block-level)

    div 元素是用于分组 HTML 元素的块级元素。

    下面的例子使用五个 div 元素来创建多列布局:

    
    <!DOCTYPE html>
    <html>
    <head> 
    <meta charset="utf-8"> 
    <title>菜鸟教程(runoob.com)</title> 
    </head>
    <body>
     
    <div id="container" style="500px">
     
    <div id="header" style="background-color:#FFA500;">
    <h1 style="margin-bottom:0;">主要的网页标题</h1></div>
     
    <div id="menu" style="background-color:#FFD700;height:200px;100px;float:left;">
    <b>菜单</b><br>
    HTML<br>
    CSS<br>
    JavaScript</div>
     
    <div id="content" style="background-color:#EEEEEE;height:200px;400px;float:left;">
    内容在这里</div>
     
    <div id="footer" style="background-color:#FFA500;clear:both;text-align:center;">
    版权 © runoob.com</div>
     
    </div>
     
    </body>
    </html>
    

    float:left 横向布局,默认为纵向布局。

    span

    <span> 元素是内联元素,可用作文本的容器.<span> 元素也没有特定的含义。
    内联元素(inline)

    表单

    表单是一个包含表单元素的区域。
    表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。

    <form action="demo_form.php" method="post/get">
    	<input type="text" name="email" size="40" maxlength="50">
    	<input type="password">
    	<input type="checkbox" checked="checked">
    	<input type="radio" checked="checked">
    	<input type="submit" value="Send">
    	<input type="reset">
    	<input type="hidden">
    	<select>
    		<option>苹果</option>
    		<option selected="selected">香蕉</option>
    		<option>樱桃</option>
    	</select>
    	<textarea name="comment" rows="60" cols="20"></textarea>
    </form>
    
    <form> 	<!-- 定义供用户输入的表单 -->
    <input> 	<!-- 定义输入域 -->
    <textarea> 	<!-- 定义文本域 (一个多行的输入控件) -->
    <label> 	<!-- 定义了 <input> 元素的标签,一般为输入标题 -->
    <fieldset> 	<!-- 定义了一组相关的表单元素,并使用外框包含起来 -->
    <legend> 	<!-- 定义了 <fieldset> 元素的标题 -->
    <select> 	<!-- 定义了下拉选项列表 -->
    <optgroup> 	<!-- 定义选项组 -->
    <option> 	<!-- 定义下拉列表中的选项 -->
    <button> 	<!-- 定义一个点击按钮 -->
    <datalist>New 	<!-- 指定一个预先定义的输入控件选项列表 -->
    <keygen>New 	<!-- 定义了表单的密钥对生成器字段 -->
    <output>New 	<!-- 定义一个计算结果 -->
    

    框架

    通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。
    iframe语法:

    <iframe src="URL" width="200" height="200"></iframe> 
    

    frameborder="0" 可以移除边框。

    颜色

    颜色值由十六进制来表示红、绿、蓝(RGB)。

    每个颜色的最低值为 0(十六进制为 00),最高值为 255(十六进制为FF)。

    十六进制值的写法为 # 号后跟三个或六个十六进制字符。

    三位数表示法为:#RGB,转换为6位数表示为:#RRGGBB。

    RGBA 的意思是(Red-Green-Blue-Alpha)它是在 RGB 上扩展包括了 “alpha” 通道,运行对颜色值设置透明度。

    设置背景颜色:

    <p style="background-color:rgb(255,255,0)">
    通过 rbg 值设置背景颜色
    </p>
    

    脚本

    <script> 标签用于定义客户端脚本,比如 JavaScript。

    <script> 元素既可包含脚本语句,也可通过 src 属性指向外部脚本文件。

    <script>
    document.write("Hello World!");
    </script>
    

    <noscript> 标签提供无法使用脚本时的替代内容,比方在浏览器禁用脚本时,或浏览器不支持客户端脚本时。

    <script>
    document.write("Hello World!")
    </script>
    <noscript>抱歉,你的浏览器不支持 JavaScript!</noscript>
    

    HTML5

    已移除的元素

    以下的 HTML 4.01 元素在HTML5中已经被删除:

    • <acronym>
    • <applet>
    • <basefont>
    • <big>
    • <center>
    • <dir>
    • <font>
    • <frame>
    • <frameset>
    • <noframes>
    • <strike>
    • <tt>

    新的语义和结构元素

    <article> 	<!-- 定义页面独立的内容区域。 -->
    <aside> 	<!-- 定义页面的侧边栏内容。 -->
    <bdi> 	<!-- 允许您设置一段文本,使其脱离其父元素的文本方向设置。 -->
    <command> 	<!-- 定义命令按钮,比如单选按钮、复选框或按钮 -->
    <details> 	<!-- 用于描述文档或文档某个部分的细节 -->
    <dialog> 	<!-- 定义对话框,比如提示框 -->
    <summary> 	<!-- 标签包含 --> details 元素的标题
    <figure> 	<!-- 规定独立的流内容(图像、图表、照片、代码等等)。 -->
    <figcaption> 	<!-- 定义 <figure> 元素的标题 -->
    <footer> 	<!-- 定义 section 或 document 的页脚。 -->
    <header> 	<!-- 定义了文档的头部区域 -->
    <mark> 	<!-- 定义带有记号的文本。 -->
    <meter> 	<!-- 定义度量衡。仅用于已知最大和最小值的度量。 -->
    <nav> 	<!-- 定义导航链接的部分。 -->
    <progress> 	<!-- 定义任何类型的任务的进度。 -->
    <ruby> 	<!-- 定义 ruby 注释(中文注音或字符)。 -->
    <rt> 	<!-- 定义字符(中文注音或字符)的解释或发音。 -->
    <rp> 	<!-- 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。 -->
    <section> 	<!-- 定义文档中的节(section、区段)。 -->
    <time> 	<!-- 定义日期或时间。 -->
    <wbr> 	<!-- 规定在文本中的何处适合添加换行符。 -->
    

    Canvas

    <canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形。

    创建画布

    一个画布在网页中是一个矩形框,通过 <canvas> 元素来绘制.

    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"></canvas>  
    

    使用 JavaScript 来绘制图像

    canvas 的左上角坐标为 (0,0).
    canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    //画矩形
    ctx.fillStyle="#FF0000";
    ctx.fillRect(0,0,150,75); //画矩形
    
    //画路径
    ctx.moveTo(0,0);  //移动坐标
    ctx.lineTo(200,100); //画线
    ctx.stroke(); //画出路径
    
    //画文本
    ctx.font="30px Arial";
    ctx.fillText("Hello World",10,50); 
    
    // 创建渐变
    var grd=ctx.createLinearGradient(0,0,200,0);
    grd.addColorStop(0,"red");
    grd.addColorStop(1,"white");
    // 填充渐变
    ctx.fillStyle=grd;
    ctx.fillRect(10,10,150,80);
    
    //画图片
    var img=document.getElementById("scream");
    ctx.drawImage(img,10,10);
    

    更多参考:https://www.runoob.com/tags/ref-canvas.html

    嵌入SVG

    <!DOCTYPE html>
    <html>
    <body>
     
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190">
      <polygon points="100,10 40,180 190,60 10,60 160,180"
      style="fill:lime;stroke:purple;stroke-5;fill-rule:evenodd;">
    </svg>
     
    </body>
    </html>
    

    MathML

    HTML5 可以在文档中使用 MathML 元素,对应的标签是 <math>...</math>

    MathML 是数学标记语言,是一种基于XML(标准通用标记语言的子集)的标准,用来在互联网上书写数学符号和公式的置标语言。

    <!DOCTYPE html>
    <html>
       <head>
          <meta charset="UTF-8">
          <title>菜鸟教程(runoob.com)</title>
       </head>
        
       <body>
        
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            
             <mrow>
                <msup><mi>a</mi><mn>2</mn></msup>
                <mo>+</mo>
                    
                <msup><mi>b</mi><mn>2</mn></msup>
                <mo>=</mo>
                    
                <msup><mi>c</mi><mn>2</mn></msup>
             </mrow>
                
          </math>
            
       </body>
    </html> 
    

    拖放

    TODO.

    地理定位

    使用 getCurrentPosition() 方法来获得用户的位置。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    <p id="demo">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p>
    <button onclick="getLocation()">点我</button>
    <script>
        var x=document.getElementById("demo");
        function getLocation()
        {
            if (navigator.geolocation)
            {
                navigator.geolocation.getCurrentPosition(showPosition);
            }
            else
            {
                x.innerHTML="该浏览器不支持获取地理位置。";
            }
        }
    
        function showPosition(position)
        {
            x.innerHTML="纬度: " + position.coords.latitude +
                "<br>经度: " + position.coords.longitude;
        }
    </script>
    </body>
    </html>
    

    Video

    <video width="320" height="240" controls>
      <source src="movie.mp4" type="video/mp4">
      <source src="movie.ogg" type="video/ogg">
    您的浏览器不支持Video标签。
    </video>
    

    Audio

    <audio controls>
      <source src="horse.ogg" type="audio/ogg">
      <source src="horse.mp3" type="audio/mpeg">
    您的浏览器不支持 audio 元素。
    </audio>
    

    Input 类型

    color,date,datetime,datetime-local,email,month,number,range,search,tel,time,url,week

    color

    颜色盘。

    <form action="demo-form.php">
        选择你喜欢的颜色: <input type="color" name="favcolor"><br>
        <input type="submit">
    </form>
    

    date

    date 类型允许你从一个日期选择器选择一个日期。

    生日: <input type="date" name="bday">
    

    datetime

    datetime 类型允许你选择一个日期(UTC 时间)。

    <input type="datetime" name="bdaytime">
    

    datetime-local

    datetime-local 类型允许你选择一个日期和时间 (无时区).

    <input type="datetime-local" name="bdaytime">
    

    email

    E-mail: <input type="email" name="email">
    

    其余输入类型参考 https://www.runoob.com/html/html5-form-input-types.html

    表单元素

    datalist

    <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

    <keygen> 元素的作用是提供一种验证用户的可靠方法。

    <keygen> 标签规定用于表单的密钥对生成器字段。

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

    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>
    

    Web 存储

    使用HTML5可以在本地存储用户的浏览数据。
    早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能.

    数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

    localStorage 和 sessionStorage

    客户端存储数据的两个对象为:

    • localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
    • sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

    在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage:

    if(typeof(Storage)!=="undefined")
    {
        // 是的! 支持 localStorage  sessionStorage 对象!
        // 一些代码.....
    } else {
        // 抱歉! 不支持 web 存储。
    }
    

    localStorage 对象

    localStorage存储的数据永久保存。

    localStorage.sitename="菜鸟教程";
    document.getElementById("result").innerHTML="网站名:" + localStorage.sitename;
    

    实例解析:
    使用 key="sitename" 和 value="菜鸟教程" 创建一个 localStorage 键/值对。
    检索键值为"sitename" 的值然后将数据插入 id="result"的元素中。

    不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

    • 保存数据:localStorage.setItem(key,value);
    • 读取数据:localStorage.getItem(key);
    • 删除单个数据:localStorage.removeItem(key);
    • 删除所有数据:localStorage.clear();
    • 得到某个索引的key:localStorage.key(index);
    //保存数据  
    function save(){  
        var siteurl = document.getElementById("siteurl").value;  
        var sitename = document.getElementById("sitename").value;  
        localStorage.setItem(sitename, siteurl);
        alert("添加成功");
    }
    //查找数据  
    function find(){  
        var search_site = document.getElementById("search_site").value;  
        var sitename = localStorage.getItem(search_site);  
        var find_result = document.getElementById("find_result");  
        find_result.innerHTML = search_site + "的网址是:" + sitename;  
    }
    

    sessionStorage 对象

    sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。

    Web SQL

    Web SQL 数据库可以在最新版的 Safari, Chrome 和 Opera 浏览器中工作。

    //打开数据库
    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); 
    var msg;
    
    //查询,创建,插入 
    db.transaction(function (tx) {
        tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
        tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "菜鸟教程")');
        tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "www.runoob.com")');
        msg = '<p>数据表已创建,且插入了两条数据。</p>';
        document.querySelector('#status').innerHTML =  msg;
    });
     
    db.transaction(function (tx) {
    tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
        var len = results.rows.length, i;
        msg = "<p>查询记录条数: " + len + "</p>";
        document.querySelector('#status').innerHTML +=  msg;
     
        for (i = 0; i < len; i++){
            msg = "<p><b>" + results.rows.item(i).log + "</b></p>";
            document.querySelector('#status').innerHTML +=  msg;
        }
    }, null);
    });
    
  • 相关阅读:
    Cordova 配置文件
    Mac 配置gradle环境变量
    React实现TabBar切换,带动画效果
    【Mac】基于Android Studio搭建cordova开发环境
    Spring之IOC控制反转
    Spring Boot笔记三:Spring Boot之日志
    Spring Boot笔记二:Spring Boot配置文件
    java的代理机制
    Spring Boot笔记一:Spring Boot入门
    Spring Boot笔记
  • 原文地址:https://www.cnblogs.com/chendeqiang/p/13173143.html
Copyright © 2011-2022 走看看