HTML 入门教程
_Star_Universe_ · · 科技·工程
编写网页需要做的准备。
HTML
HTML(Hyper Text Markup Language)即超文本标记语言,是构建网站的基石,目前 HTML 已发展到第五代。了解更多。
HTML 的核心就是标签,那么笔者就在这篇文章中介绍极小一部分。
来一个示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>欢迎来到我的主页!</title>
<link rel="stylesheet" type="text/css" href="/static/css/index.css">
</head>
<body>
<form action="/save" method="post" enctype="multipart/form-data">
<p>上传头像:<input type="file" name="picture" required></p>
<p>用 户 名:<input name="user" required></p>
<p>密 码:<input type="password" name="pwd" required></p>
<p>再次输入:<input type="password" name="pwd2" required></p>
<p>性 别:
<input name="sex" type="radio" value="girl">女
<input name="sex" type="radio" value="boy">男
</p>
<button>提交</button>
</form>
<h3>{{error}}<h3>
</body>
</html>
观察到,标签是有单双之分的。常用标签 <img> 就是单标签,仅由一个标签组成。而 p 和 h1 等等就是双标签,通常是 <标签>内容</标签> 的格式组成。
接下来就具体的讲一下标签以及更庞大的结构。
首先首尾是 <html lang='en'></html>,暂时不需要改变。
接下来主要有两个部分:<head></head> 和 <body></body>。
head 中包含 <title></title>,里面的内容也就是你浏览网页时显示在最顶端的标签,在网址的上方,另外还有样式表的成分,之后再讲样式表。
body 中的是核心部分,接下来具体讲一讲里面的标签。
p 标签
<p></p> 是用来显示文字的标签,不加任何效果,较为朴素。举个例子:
<p>洛谷是一个知名网站。</p>
显示效果为:
洛谷是一个知名网站。
h1~h6 标签
这六个标签就是一级标题到六级标题。你可以打开网页验证文章 hn。举例:
<h3>四级标题</h3>
<h4>上为三级标题</h4>
显示效果为:
四级标题
上为三级标题
a 标签
这是存放链接的标签。点击网页上的链接可实现跳转,就比如我上文给出的关于 HTML 的资料的链接,其实,背后的 HTML 代码长这样:
<a href="https://baike.baidu.com/item/Html/97049">了解更多</a>
注意这里的 href 属性,要学会与下文的属性区分。
img 标签
引用一张图片:
HTML 长这样:
<img src="https://cdn.luogu.com.cn/upload/image_hosting/gxb1lgqz.png" alt="仙境">
最重要的是 src 属性,后面跟上洛谷上传的图片链接,alt 则是我在编辑文章时添加的备注,也记一记。
audio 标签
<audio>HTML 元素用于在文档中嵌入音频内容。<audio>元素可以包含一个或多个音频资源,这些音频资源可以使用src属性或者<source>元素来进行描述:浏览器将会选择最合适的一个来使用。也可以使用 MediaStream 将这个元素用于流式媒体。<source>是一个空元素,为图片、音乐、视频指定一个或多个媒体资源。
材料来自这里。
常见代码:
<audio controls src="音频路径.mp3"></audio>
input 输入框
有时网页上会用到输入框,这里总结
<input type="text"><!--文本框-->
<input type="radio"><!--单选框-->
<input type="password" name="pwd" required><!--密码框-->
<input type="file" name="xxxing" required><!--按钮框-->
<input type="date"><!--文件框-->
这些输入框经常在 form 表单里出现,就比如你登录洛谷时填写的密码框,记得灵活运用。
form 表单
进入本文的重点了。
form 表单用于获取不同类型的用户输入数据,将用户输入数据提交给 web 服务器,表单使用 http 协议提交数据。
接下来一起认识一堆标签和属性。
- form 是表单标签,用于定义表单。
- action 属性用于设置表单提交的服务器地址。
- method 属性用于设置表单提交的方式,有 get 和 post 两种方式,post 更加安全,你输入密码登录洛谷后并不会在网址栏里看到密码,就是因为 post 请求会隐藏信息,如果使用 get 信息就会暴露。
- label 为双标签,用于定义表单标签的文字标注。
- input 为双标签,在上文已提到过,可使用 type 定义框的种类,name 可有可无。
- textarea 为双标签,用于定义多行文本输入框。
- select 和 option 用于定义下拉列表以及其中的选项。
- button 是提交按钮,一般放在表单的最后,直接按照
<button>提交按钮</button>的格式书写。
之前已经给出了模板代码,你应该发现 p 标签中可以包含 input 标签,其实 label 标签也是在其中使用的,这里给出一段很短的示例代码。
<p>
<label for="">密 码:</label>
<input type="password" name="password">
</p>
再来一个下拉列表的模板:
<select name="problem">
<option value="0">毕业高校</option>
<option value="1">所学专业</option>
</select>
div 与模板语法
div 标签可定义 HTML 文档中的一个分隔区块或者一个区域部分。div 标签常用于组合块级元素,以便通过 CSS 来对这些元素进行格式化。由于它经常与 CSS 组合使用,笔者在下一期中再来介绍。这里给出一段 div 与模板语法结合的代码:
{% for diary in diaries %}
<div class="card mb-3">
<div class="row no-gutters">
<div class="col-md-4">
<img src='static/images/{{ diary["mood"] }}.png' alt="..." title='{{ diary["mood"] }}'>
</div>
<div class="col-md-8">
<div class="card-body">
<h5 class="card-title">{{diary["title"]}}</h5>
<p class="card-text">{{diary["content"]}}</p>
<p class="card-text"><small class="text-muted">{{diary["date"]}}</small></p>
</div>
</div>
</div>
</div>
{% endfor %}
这里运用了循环的模板语法,与 Python 中的循环对比,发现上面语句多了 {%...%},删去了结尾的冒号,并且在下面加上了 {% endfor %}。常见的模板语法标志还有 {{变量名}},表示数学表达式或编程上下文中的变量名称,用于传输变量。
补充说明
笔者一时只能回想起来这么多内容,下一期继续补充。另外展示一些用法。
图标跳转:
<a href="路由名"><img src="图片地址" title="说明文字"></a>
span 标签的用法:
<p>
<span>提示文字</span>
<input type="...">提示文字</input>
</p>
textarea 标签的用法:
<textarea name="content"></textarea>
背景图:
<body style="background-image:url('/static/images/{{last_mood}}背景.jpg');">
文章开头给出的 HTML 需要与 Python 结合使用,这里给出它对应的 Python 代码。之后也会发布相关文章解释这份代码。
鸣谢这篇文章,对本文的创作提供了一些支持。
CSS
下转文章 /sq570kev。