zoukankan      html  css  js  c++  java
  • 前端学习笔记(一)HTML入门

    我从昨天开始学习前端技术。想要以博客的形式,记录一下自己的学习内容,并且把自己认为有用的部分记录下来,以便于自己以后查询,同时也希望能够帮助到其他学习者。

    我的前端学习路径参考了知乎Web 前端怎样入门?问题下汪小黑的回答。学习资料目前主要使用w3school。按照汪小黑的学习路径,我目前花费一天半时间学习了w3school上面的HTML教程,包括“HTML基础教程”的“HTML教程”到“HTML列表”部分,以及“HTML表单”部分。其中大部分代码示例,我都照着打了一遍,以加深记忆和使用理解。

    编辑器方面,我根据知乎上面的测评,选择了bracket。因为这款编辑器开源免费,并且有实时预览功能(虽然有些HTML表单内容似乎并不能实时预览),调试起来方便直观。而且可以在HTML中间编辑CSS。
    下文主要是我在HTML入门学习中的一些简单理解和记忆点。更多完整的示例代码在w3school上全部搜索得到,所以只贴了一点点。部分标签会影响到markdown格式编写的博客的格式,所以我加了空格,例如< a/ >。

    1.HTML(超文本标记语言)不是编程语言,而是标记语言,用标记标签来描述网页。HTML文档就是网页,包括HTML标签和纯文本。

    2.HTML标题通过< h1 >-< h6 >标签定义。
    HTML段落通过< p >标签定义。
    HTML链接通过< a >标签定义。在href中指定链接的地址。URL意为同一资源定位符,即网络地址。
    HTML图像通过< img >标签定义。图像的名称和尺寸以属性形式提供。

    3.HTML文档由HTML元素定义。大多数HTML元素可拥有属性。
    大多数HTML元素可以嵌套。(元素的内容可以是元素)
    没有内容的HTML元素是空元素,< br />是关闭空元素的正确方法。

    4.HTML标签有属性,在start tag中规定。
    例:链接的地址在href属性中指定。
    align for h1, bgcolor for body, border for table.(前两者其实现在都被style取代了,慎用)。
    Style属性用于改变HTML元素的样式。
    属性值在双引号内,如果属性值中有双引号,则用单引号。
    适用于大多数元素的属性:class,id,style,title

    5.HTML标题:只用于标题,不能用于粗体or大字!!
    搜索引擎使用标题为网页的结构和内容编制索引。

    6.< hr />用于创建水平线。
    < !-- This is a comment -->为注释,可以用条件注释,定义只有Internet Explorer执行的HTML标签。
    用< br / >插入空行,不要< p >< p/ >
    < br / >可以不产生新段落换行。
    不要省略结束标签,可能导致错误。
    显示页面时,浏览器会移除源代码中多余的空格和空行。(看起来一般只保留一个空格,回车也视作一个空格)

    前几部分的示例代码如下:

     
    <html>
    <body style = "background-color: powderblue">
        
    <h1 style = "background-color: yellow">This is a heading</h1>
    <h2 style = "text-align: center">This is a heading</h2>
    <h3>This is a heading</h3>
    
    <a href="#tips">跳到Tips</a>
        
    <p>This is a paragraph.<p/>
    <hr />
    <p>This is another paragraph.</p>
        
    <p>This is <br /> another paragraph.</p>
    
    <p>This is        another
    paragraph.</p>
        
    <a href = "http://www.w3school.com.cn" target="_blank">This is a link</a>
    <br />
    <br />
    <img src = "w3school.jpg" width = "104" height = "142" alt="w3school"/>
        
    <!-- This is a comment-->
    
    <br />
    
    <a name="tips">Tips:</a>
        
    <p style = "font-family: verdana; color: red">
    This text is in Verdana and red</p>
        
    <p style = "font-family: times; color: green">
    This text is in Times and green</p>
        
    <p style = "font-size: 30px">
    This text is 30 pixels high</p>
        
    </body>
    </html>

    7.文本格式化:HTML可定义很多供文本格式化输出的元素,包括粗体、大字、小字、斜体、删除线、下划线、长引用、短引用、缩写、文字方向,等等。示例代码如下:

     
    <html>
    <body>
    
    <b>This text is bold</b>
    <br />
    
    <strong>This text is strong</strong>
    <br />
    
    <big>This text is big</big>
    <br />
    
    <em>This text is emphasized</em>
    <br />
    
    <small>This text is small</small>
    <br />
    
    This text contains
    <sub>subscript</sub>
    <br />
    
    This text contains
    <sup>superscript</sup>
        
    </body>
    </html>

    8.< dfn >元素使用比较复杂,建议直接当做< abbr >用,或者只用< abbr >

    9.可以通过< head >部分的样式信息(或在其中用< link >标签链接到外部样式表)来对HTML进行格式化。
    1) 当样式要被应用到很多界面时,使用外部样式表。这样可以通过更改一个文件来更改整个网页的外观。
    2) 当单个文件需要特别样式时,使用内部样式表。可以在head部分通过< style >标签定义内部样式表。
    3) 当特殊样式要应用到个别元素时,使用内联样式。使用方法是在相关的标签中使用样式属性。样式属性可以包含任何CSS属性。
    示例代码如下:

     
    <html>
    
    <head>
    <style type = "text/css">
        h1{color:red}
        p {color:blue}
    </style>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="Content-Language" content="zh-cn" />
    </head>
        
    <body>
    <h1>header 1</h1>
    <p>paragraph</p>
    <a href="http://www.w3school.com.cn" style="text-decoration: none">这是一个链接</a>
    <p style="color: red; margin-left: 20px">This is a paragraph</p>
    </body>
     
    </html>

    10.超文本的基本特征就是可以超链接文档。
    超链接标准叫法叫锚(anchor)。可以通过它跳到同文档中的某个主题,或是跳到其他文档。
    使用< a >的两种方式:
    1) href属性:指向另一个文档的链接
    2) name属性:创建文档内的书签(然后可以通过href=#namexxx来指向该锚)
    如果使用target属性,可以设定被打开的链接在哪里显示。例如,把target设为“_blank”,则该链接会在新窗口中打开。

    11.图像标签< img >是空标签,只包含属性,并且没有闭合标签。必须使用源属性(src)才能显示图像。源属性的值是图像的URL地址。
    图像标签可用alt属性来定义一串预备的可替换文本。图片无法显示时,会显示这串文本。
    HTML页面可以添加背景图片。
    可以排列图像位置(默认为bottom)。可以将图片浮动至段落的左边/右边。
    可以使用< map >和< area >定义图像地图和其中的可点击区域。

    12.表格中的每个单元格里面可以嵌套其他元素(元素内显示元素)包括表格、列表、段落等等。示例代码如下:

     
    <html>
    <body>
        
    <h4>表头:</h4>
    <table border="1" frame="vsides">
    <caption>标题</caption>
    <tr>
        <th>姓名</th>
        <th>电话</th>
        <th>电话</th>
    </tr>
    <tr>
        <td>Bill Gates</td>
        <td>123 123</td>
        <td>123 123</td>
    </tr>
    </table>
    
    <h4>垂直表头:</h4>
    <table border = "2">
    <tr>
        <th>姓名</th>
        <td>Bill Gates</td>
    </tr>
    <tr>
        <th>电话</th>
        <td>123 123</td>
    </tr>
    <tr>
        <th>电话</th>
        <td>123 123</td>
    </tr>
    </table>
    
    <br />
        
    <table border="1" cellspacing="10">
    <tr>
        <th>姓名</th>
        <th colspan="2">电话</th>
    </tr>
    <tr>
        <td>Bill Gates</td>
        <td>123 123</td>
        <td>123 123</td>
    </tr>
    </table>
        
    <br />
        
    <table border = "2" cellpadding="10">
    <tr>
        <th>姓名</th>
        <td>Bill Gates</td>
    </tr>
    <tr>
        <th rowspan="2">电话</th>
        <td>123 123</td>
    </tr>
    <tr>
        <td>123 123</td>
    </tr>
    </table>
    
    </body>
    </html>

    13.列表包括有序(< ol >)和无序(< ul >)。列表中可嵌套列表。示例代码如下:

     
    <html>
    <body>
    
    <ol start="10">
        <li>Coffee</li>
        <li>Milk</li>
        <li>Tea</li>
    </ol>
    
    <ul type="circle">
        <li>Coffee</li>
        <li>Milk</li>
        <li>Tea</li>
    </ul>    
        
    <dl>
        <dt>计算机</dt>
        <dd>用来计算的机器</dd>
        <dt>显示器</dt>
        <dd>以视觉方式显示信息的装置</dd>
    </dl>
    
    </body>
    </html>

    14.HTML表单用于收集用户输入。
    < input >元素有很多形态,根据不同的type属性。常用的包括text,radio,date,number,submit等。
    Chrome、Firefox 或 Internet Explorer 不支持 type="datetime",不支持输入类型时,输入类型会显示为text。
    url和email类型与普通文本的区别:支持这些功能的浏览器会自动对电子邮件地址/url字段进行自动验证。
    Search类型与普通文本类似。Tel类型只有Safari8支持。

    15.Action属性定义在提交表单(通常是使用submit按钮)时执行的动作。通常,表单会被提交到web服务器上的网页。GET为默认处理方法,适合少量数据的提交,没有敏感信息。POST适用于表单正在更新数据或包含敏感信息(如密码)。POST的安全性更好,因为在页面地址栏中被提交的数据是不可见的。
    如果想要正确地被提及,则每个输入字段必须设置一个name。
    < fieldset >用于组合表单中的相关数据,< lenged >用于为< fieldset >元素定义标题。

    16.表单input的属性
    1) Value:输入字段的初始值。
    2) Readonly:只能读不能改。readonly不需要值,它等同于readonly=“readonly”。
    3) Disabled:禁用该输入字段。被禁用的元素不可用,不可点击,不会被提交。也不需要值,同上。
    4) Size:输入字段的尺寸。
    5) Maxlength:输入字段允许的最大长度。
    6) Autocomplete:表单和单独的输入字段都可以选择是否开启/关闭自动补全功能。当开启时,浏览器会基于用户之前的输入值自动填写值。
    7) Novalidate:< form >的属性,设置了的话则提交表单时不对表单数据进行验证。
    Formovalidate则是用于单个input的属性,设置了的话则提交表单时不对该input数据进行验证
    8) Target:form的属性,指示提交表单后在何处显示接收到的响应。
    Formtarget则是单个input的该属性。
    9) Autofocus:自动获得输入焦点。其实意思是运行网页时,光标初始会直接落在这个地方。
    10) Form:在form有id的情况下,< input >元素的form决定了它属于哪个表单。这样,输入字段即使外观上在某个表单之外,输入内容却仍可以属于该表单。
    11) Formaction:只适用于type为submit或者image。它的值应为当提交表单时处理该输入的文件的url。
    12) Formenctype:规定当提交表单数据时如何对其编码(仅针对method=“post”的表单
    13) Formmethod:只适用于type为submit或者image。和form的method属性本质一样,当有多个submit时,可用于规定某单个submit的提交方法。
    14) Height和width:image input的尺寸。(一定要规定,否则页面会在图像加载时闪烁)
    15) List:引用的datalist中包含了input list元素的预定义选项。
    16) Min和max:输入的最大值和最小值。适用于number、range、date、datetime、datetime-local、month、time 以及 week。
    17) Multiple:如果设置了该属性,则允许输入超过一个input元素。(只适用于email和file)
    18) Pattern:用于检测input元素值的正则表达式。
    19) Placeholder:在输入前的显示的提示。(最常见的,“请输入搜索内容”这种。)适用于以下输入类型:text、search、url、tel、email 以及 password。
    20) Required:必须填写输入字段才能提交表单。适用于以下输入类型:text、search、url、tel、email、password、date pickers、number、checkbox、radio、and file.
    21) Step:input数字的间隔。适用于number、range、date、datetime、datetime-local、month、time 以及 week。
    Date – 缺省是1天
    Week – 缺省是1周
    Month – 缺省是1月
    Time – 缺省是1分钟
    DateTime – 缺省是1分钟
    DateTime –local– 缺省是1分钟

    表单示例代码如下:

     
    <html>
    <body>
    <form action = "action_page.php" method = "post">
        
        <fieldset>
        <legend>Personal Information</legend>
        
        First name:
        <br />
        <input type = "text" name = "firstname", value = "Mickey" autofocus>
        <br />
        Last name:
        <br />
        <input type = "text" name = "lastname", value = "Mouse">
        <br />
        
        <input type = "radio" name = "sex" value = "male" checked>Male
        <br />
        <input type = "radio" name = "sex" value = "female">Female
        <br />
            
        <select name = "cars">
        <option value = "volvo">Volvo</option>
        <option value = "saab">Saab</option>
        </select>
        <br />
            
        <textarea name = "message" rows = "10" cols = "60">The cat was playing in the garden.
        </textarea>
        <br />
            
        <button type = "button" onclick = "alert('Hello World')">Click Me!</button>
        <br />
        
        <input list = "browsers">
        <datalist id = "browsers">
            <option value = "IE">
            <option value = "Chrome">
        </datalist>
        <br />
            
        Quantity (between 1 and 5):
        <input type = "number" name = "quantity" min = "1" max = "5">
        <br />
            
        Birthday:
        <input type = "date" name = "bday" step = "2">
        <br />
            
        Favorite color:
        <input type = "color" name = "favcolor">
        <br />
            
        <input type = "range" name = "points" min = "0" max = "20">
        <br />
            
        Time:
        <input type = "datetime-local" name = "usr_time">
        <br />
            
        E-mail:
        <input type = "email" name = "email">
        <br />
            
            
        <br />
        <input type = "submit" value = "Submit">
            
        </fieldset>
    </form>
            
    </body>
    </html>

    今天下午开始学习基础CSS,希望好运!

  • 相关阅读:
    vue中watch的详细用法
    Golang实现请求限流的几种办法
    观察者模式
    原创-阿里云上SLB暴露K8S服务-四层协议/七层协议
    K8S-HPA创建指南
    阿里云k8s-nas挂载指南
    非原创--mysql语言分类
    mysql命令
    MongoDB从节点支持读请求
    MongoDB用户权限管理
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13275140.html
Copyright © 2011-2022 走看看