<电子幽灵>前端第一件:HTML进阶笔记

HTML进阶笔记

介绍

费曼学习法最重要的部分,即把知识教给一个完全不懂的孩子——或者小白。
为了更好的自我学习,也为了让第一次接触某个知识范畴的同学快速入门,我会把我的学习笔记整理成电子幽灵系列。
提示:文章的是以解释-代码块-解释的结构呈现的。当你看到代码块并准备复制复现的时候,最好先保证自己看过了代码块前后的解释。


作为对<电子幽灵>前端第一件:HTML基础笔记上<电子幽灵>前端第一件:HTML基础笔记下的补充,这篇文章将介绍HTML中区块、框架和表单的用法,并且简单介绍脚本和字符实体。


本篇笔记主要来源于对 菜鸟教程:HTML教程的学习。

约定规范

HTML区块

在HTML中,大部分标签被分类成 块级元素内联元素

<!--该段代码部分由AI Fitten Code生成并已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>这是一个标题</h1>
    <p>这是一个段落</p>
    <div style="color:aqua">
        <h3>这是一个div中定义的标题</h3>  
        <p>这是一行在div中定义的文本</p>
    </div>
    <p>接下来是span标签的使用实例:</p>
    <p>她梳着两个<span style="color:red">红色的长辫子</span></p>
    <p>漂亮的晚霞把城市染成了<span style="color:deeppink">洋红色</span></p>
</body>
</html>
  1. 块级元素:块级元素出现的时候,通常会以新的一行作为开始。比如p、table、ol/ul等。
  2. 内联元素:显示的时候通常不以新的一行作为开始,如img,b,a,td等。
div/span:大块和小部分

div用来分割HTML文件中的不同区块,属于块级元素。无特殊属性。

span则用来对部分文本设置特殊的样式属性,属于内联元素。无特殊属性。

div和span的是对浏览器进行布局和属性设置的老式手法。随着HTML的发展,他们更多的和CSS、JavaScript一同使用,创建更丰富多彩的页面。

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

通常像这样用div实现一个网站布局比较耗时,可以搜索一些网站布局模板;而且把样式放在div标签当中,网站很大时会难以维护,因此现在更多使用CSS进行网页的布局和渲染等工作。

HTML框架

HTML框架为我们提供了一种方式,可以在一个浏览器页面中显示多个网页页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <iframe src = "https://www.csdn.net/",width = 1000,height = 800></iframe>
    <p>实际上,iframe标签还可以和a标签有联动,比如说:</p>
    <iframe src = "https://www.csdn.net/" width = 1000 height = 800 name = "frame_1"></iframe>
    <br/>
    <a href = "https://www.runoob.com/" target = "frame_1">点下这个链接,上面的iframe中就会显示菜鸟教程界面。</a>
</body>
</html>
iframe:框架标签

iframe是一个内联标签,用来在网页中新定义一个框架。在这个框架中,可以显示另外一个HTML页面。

iframe的常用属性
  1. height:规定iframe的高度
  2. width:规定iframe的宽度
  3. src:规定iframe中页面的URL
  4. name:规定iframe的名称

HTML表单

很多时候,我们都需要通过网页注册一些账号、搜索一些东西等等。为此,我们输入一些信息,并得到相应的结果。存储并传输我们信息的HTML网页部分就叫做表单。表单让HTML的交互性更加强大而灵活。

<!--该案例部分从菜鸟教程拷贝而来,部分由AI FittenCode生成,已经过验证-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>表单示例</p>

    <form action="" method="post">
        <label for="name">姓名:</label>
        <input type="text" id="name" name="name" required><br/><br/>

        <label for="email">邮箱:</label>
        <input type="email" id="email" name="email" required><br/><br/>

        <label for="phone">手机号码:</label>
        <input type="tel" id="phone" name="phone" required><br/><br/>

        <label for="message">留言:</label>
        <textarea id="message" name="message" required></textarea><br/><br/>

        <label>性别:</label>
        <input type="radio" id="male" name="gender" value="male" checked>
        <label for="male"></label>
        <input type="radio" id="female" name="gender" value="female">
        <label for="female"></label>
        <br/><br/>

        <label>爱好:</label>
        <input type="checkbox" id="reading" name="hobby[]" value="reading">
        <label for="reading">阅读</label>
        <input type="checkbox" id="swimming" name="hobby[]" value="swimming">
        <label for="swimming">游泳</label>
        <input type="checkbox" id="hiking" name="hobby[]" value="hiking">
        <label for="hiking">登山</label>
        <input type="checkbox" id="others" name="hobby[]" value="others">
        <label for="hiking">其他</label>
        <br/><br/>
      
        <label for="country">国家:</label>
        <select id="country" name="country">
            <option value="cn">CN</option>
            <option value="usa">USA</option>
            <option value="uk">UK</option>
        </select>
        <br/><br/>

        <label for="国家">国家:</label>
        <input list = cnlist>
        <datalist id="cnlist">
            <option value="cn">CN</option>
            <option value="usa">USA</option>
            <option value="uk">UK</option>
        </datalist>
        <label for="file">上传文件:</label>
        <input type="file" id="file" name="file"><br/><br/>

        <input type="submit" value="提交">
    </form>
</body>
</html>

HTML表单相关的标签提供了很多种交互方式,涉及到多个标签。

HTML表单相关标签
form:创建表单标签

form标签用于创建一个可供用户输入的表单,其中有各种各样的(至少一个)表单元素,比如input、label等等。

form的常用属性
  1. method:规定用于发送该表单数据的HTTP方法。可选值:get、post
  2. name:规定表单名称
  3. action:规定当提交表单是要向哪里提交数据。值为URL
  4. target:在哪里打开action中指向的URL。值同标签a。
label:表单元素标签

label只是为input标签提供相应的解释;但是在点击label标签对应的文本时,浏览器也会将注意力转移到和它相关的input上——例如直接勾选相关input的方框等。

label的常用属性
  1. for:规定该label应当和哪个input绑定。值应当为某个input的id。
input:输入框创建标签

input获取用户的输入,只有用户在input中输入内容时,才会被表单提交。

input可以根据type属性进行多种变化。

input是空标签。

input的常用属性
  1. type: 规定要显示的input元素的类型。
    值有:
    1. button
    2. text
    3. email
    4. checkbox
    5. file
    6. submit
    7. ratio
    8. password
    9. url
    10. date
    11. time
    12. image
  2. value:指定input当中的默认值
  3. accept:指定可被上传的文件类型(仅针对type = "file"时)
  4. width:指定input的宽度(仅针对type = "image"时)
  5. height:指定input的高度(仅针对type = "image"时)
  6. src:指定input的来源url(仅针对type = "image"时)
  7. alt:指定input的替代文本(仅针对type = "image"时)
  8. form:规指定nput所属的一个/多个表单
  9. required:指定是否是必填项
  10. name:指定input元素的名字
  11. list:指明该input元素是不是一个下拉列表。值为相对应的datalist的id值。
  12. multiple:是否可以输入多个(仅针对type = "email"或"file"时)
  13. max/min:规定输入的最大/小值。
  14. maxlength:规定输入的字符串最大长度。
select/option/datalist:下拉列表标签

有两种下拉列表输入数据的方式:select+option标签,或者input+datalist+option标签,实现的效果不同。

其中,select兼具input的功能,datalist需要当input的type = "list"时被调用,option主要是用做select或者datalistlist的其中一个选项。

当使用select时,输入只能是option中给定的几个选项之一;当使用input的时候,datalist中的选项只有参考和快捷输入的作用,实际上可以随意填写。

select的常用属性
  1. name:定义下拉列表的名称
  2. form:指明select所属的一个或多个表单
  3. size:指明下拉列表中可见选项的个数
datalist的常用属性

datalist没有特殊的属性,但是为了被input等标签调用,它应当有一个id属性,表明自己的身份、便于被调用。

option的常用属性
  1. value:当该option被选中时,被交付的将会是value中的数据。
  2. selected:表单中将默认选中该option。

HTML脚本

前端三大件:HTML、CSS、JavaScript。这三者之间是递进的关系,在学习的时候也应该递进的学习。CSS、JavaScript都可以用来修饰、赋能HTML,那么他们该如何出现在HTML文件当中呢?答案是:脚本。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
    document.write("Hello, World!");
</script>
<noscript>如果浏览器不支持JavaScript,这行字就会出现。</noscript>
<body>
  
</body>
</html>
HTML脚本相关标签

HTML中,脚本语句写在script当中。当然,如果脚本中的内容不为浏览器所支持,还可以用noscript中的替代文本来显示。

script:脚本设置标签

script放在body当中,其中的元素既可以是脚本代码,也可以通过src属性指向外部的脚本文件。

script的常用属性
  1. src:指定外部的脚本URL
  2. async:异步执行脚本文件(仅当脚本为外部文件时)
  3. defer:页面完成解析后再执行脚本(仅当脚本为外部文件时)
  4. charset:规定在脚本中使用的字符编码
  5. type:指定脚本中的MIME类型
noscript:脚本替代标签

noscript一般放在script后面,如果浏览器不支持script中的语言,noscript中的内容就会替代script出现。

body中正常可以出现的内容,在noscript中都可以出现。

noscript的常用属性

noscript没有特殊属性。

总结

至此,HTML的大致用法已经在三个博客里展现出来了。我尽量省略了细枝末节的内容,而把大体的框架和常用的部分放在了文章里,为的就是让任何一个对前端感兴趣的人可以快速上手,写出较为完整的、可以直接简单实用的程序。至于使用是需要注意的细节,可以去其他的教学网站、视频、文档当中寻找;而如果想快速过完三大件,为自己的前端知识迅速打底,也恭喜你,基本完成了第一大件:HTML的学习。但是在如今这完全不够。看完这篇文章后,作为一个前段初学者更应该做的是,立即开始阅读下一篇文章——<电子幽灵>前端第二件:CSS基础笔记上

谢谢。

所有的真理都具有时效性。根据集合论,似乎所有的所谓“真理”最后都会导出矛盾。因此,运动性而非机械性的思考是非常重要的。

上一篇:HTML基础笔记下
下一篇:CSS基础笔记上

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

靈镌sama

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值