初识HTML
一 HTML
HTML(Hyper Text Markup Language),超⽂本标记语⾔.
超文本:⽐⽂本要强⼤.通过链接和交互式⽅式来组织和呈现信息的⽂本形式.不仅仅有⽂本,还可能包含图⽚,⾳频,或者⾃已经审阅过它的学者所加的评注、补充或脚注等等.
标记语言:由标签构成的语⾔。
1.HTML代码是由“标签”组成的。
标签名(body)放到< >中
• ⼤部分标签成对出现.<h1> 为开始标签, </h2> 为结束标签.
• 少数标签只有开始标签,称为"单标签".
• 开始标签和结束标签之间,写的是标签的内容.
• 开始标签中可能会带有"属性".id属性相当于给这个标签设置了⼀个唯⼀的标识符(⾝份证号码)
<h3>我是三级标题</h3>
<h3 id="myId">我是三级标题</h3>
2.HTML文件基本结构
<html>
<head>
<title>第⼀个⻚⾯</title>
</head>
<body>
hello world
</body>
</html>
• html标签是整个html⽂件的根标签(最顶层标签)
• head标签中写⻚⾯的属性.
• body标签中写的是⻚⾯上显⽰的内容
• title标签中写的是⻚⾯的标题
3.标签层次结构
• ⽗⼦关系
• 兄弟关系
<html>
<head>
<title>第⼀个⻚⾯</title>
</head>
<body>
hello world
</body>
</html>
其中:
• head和body是html的⼦标签(html就是head和body的⽗标签)
• title是head的⼦标签.head是title的⽗标签.
• head和body之间是兄弟关系
PS:可以使⽤chrome的开发者⼯具查看⻚⾯的结构.
F12或者右键审查元素,开启开发者⼯具,切换到Elements标签,就可以看到⻚⾯结构细节。
4.标签之间的结构关系,构成了⼀个DOM树。
DOM是Document Object Mode(⽂档对象模型)的缩写
5.HTML开发工具
Visual Studio Code(简称"VS Code")是Microsoft在2015年4⽉30⽇Build开发者⼤会上宣布的⼀款跨平台源代码编辑器.可以运⾏在Windows,macOS和Linux上.它具有对JavaScriptTypeScript和Node.js的内置⽀持,并具有丰富的其他语⾔(例如C++,C#,Java,Python,PHP,Go)。
6.快速开发
在VS Code中创建⽂件 xxx.html ,直接输⼊ ! ,按Enter或tab键,此时能⾃动⽣成代码的主体架.
<!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>
</body>
</html>
在<body></body>标签中,任意书写⽂字,按Ctrl+s保持⽂件,通过浏览器访问即可。
7.HTML常见标签
1)标题标签h1-h6,有六个,从h1-h6.数字越⼤,则字体越⼩.
<h1>hello</h1>
<h2>hello</h2>
<h3>hello</h3>
<h4>hello</h4>
<h5>hello</h5>
<h6>hello</h6>
2)段落标签:p
在HTML中,段落,换⾏符,空格都会失效,如果需要分成段落,需要使⽤专⻔的标签,p表示一个段落
<p>这是⼀个段落</p>
<p>这是⼀个段落</p>
• p标签描述的段落,前⾯没有缩进.(未来CSS会学)
• ⾃动根据浏览器宽度来决定排版.
• html内容⾸尾处的换⾏,空格均⽆效.
• 在html中⽂字之间输⼊的多个空格只相当于⼀个空格.
• html中直接输⼊换⾏不会真的换⾏,⽽是相当于⼀个空格
3)换⾏标签:br
br是break的缩写.表⽰换⾏.
• br是⼀个单标签(不需要结束标签)
• br标签不像p标签那样带有⼀个很⼤的空隙.
• <br/> 是规范写法.不建议写成<br>
这是⼀个br标签<br/>
这是⼀个br标签<br/>
这是⼀个br标签<br/>
ps:p是段落,<br/>是换行
4)图⽚标签:img
img标签必须带有src属性.表⽰图⽚的路径.
<img src="xx.jpg">
此时要把xx.jpg这个图⽚⽂件放到和html中的同级⽬录中.img标签的其他属性
• width/height:控制宽度⾼度.⾼度和宽度⼀般改⼀个就⾏,另外⼀个会等⽐例缩放.否则就会图⽚失
衡.
• border:边框,参数是宽度的像素.但是⼀般使⽤CSS来设定
<img src="xx.jpg" width="500px" height="800px" border="5px">
ps:
. 属性可以有多个,不能写到标签之前
. 属性之间⽤空格分割,可以是多个空格,也可以是换⾏.
. 属性之间不分先后顺序
. 属性使⽤"键值对"的格式来表⽰.
5)目录结构
---相对路径:以html所在位置为基准,找到图⽚的位置.
• 同级路径:直接写⽂件名即可(或者./)
• 下⼀级路径:image/1.jpg
• 上⼀级路径:../image/1.jpg
--- 绝对路径:⼀个完整的磁盘路径,或者⽹络路径.例如:
• 磁盘路径 D:/rose.jpg (最好使⽤/ ,不要使⽤ \ )
• ⽹络路径
6)超链接:a
•href:必须具备,表⽰点击后会跳转到哪个⻚⾯.
• target:打开⽅式.默认是_self.如果是_blank则⽤新的标签⻚打开
<a href="http://www.baidu.com">百度</a>
•链接的几种形式:
外部链接:href引⽤其他⽹站的地址
<a href="http://www.baidu.com">百度</a>
内部链接:⽹站内部⻚⾯之间的链接.写相对路径即可.
在⼀个⽬录中,先创建⼀个1.html,再创建⼀个2.htm
<!-- 1.html -->
我是 1.html
<a href="2.html">点我跳转到 2.html</a>
<!-- 2.html -->
我是 2.html
<a href="1.html">点我跳转到 1.html</a>
空链接:使⽤#在href中占位
<a href="#">空链接</a>
7)表格标签
• table标签:表⽰整个表格
• tr:表⽰表格的⼀⾏
• td:表⽰⼀个单元格
• thead:表格的头部区域
• tbody:表格的主体区域.
---table包含tr,tr包含td
表格标签有⼀些属性,可以⽤于设置⼤⼩边框等.但是⼀般使⽤CSS⽅式来设置.
这些属性都要放到table标签中.
• align是表格相对于周围元素的对⻬⽅式.align="center" (不是内部元素的对⻬⽅式)
• border表⽰边框.1表⽰有边框(数字越⼤,边框越粗)," "表⽰没边框.
• cellpadding:内容距离边框的距离,默认1像素
• cellspacing:单元格之间的距离.默认为2像素
• width/height:设置尺⼨
注意,这⼏个属性,vscode都提⽰不出来
<Table align="center" border="1" cellpadding="20" cellspacing="0" width="500" height="500">
<tr>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
</tr>
<tr>
<td>朔间凛月</td>
<td>男</td>
<td>18</td>
</tr>
<td>朔间零</td>
<td>男</td>
<td>20</td>
</Table>
8)表单标签
表单是让⽤⼾输⼊信息的重要途径.
分成两个部分:
• 表单域:包含表单元素的区域.重点是form标签.
• 表单控件:输⼊框,提交按钮等.重点是input标签
8.1)form标签
<form action="test.html">
... [form 的内容]
</form>
描述了要把数据按照什么⽅式,提交到哪个⻚⾯中,需要结合后端代码理解。
8.1)input标签
各种输⼊控件,单⾏⽂本框,按钮,单选框,复选框
• type(必须有),取值种类很多,button,checkbox,text,file,image,password,radio等
• name:给input起了个名字.尤其是对于单选按钮,具有相同的name才能多选⼀
• value:input中的默认值.
• checked:默认被选中.(⽤于单选按钮和多选按钮)
常用类型:
文本框
<input type="text">
密码框
<input type="password">
单选框
性别:
<input type="radio" name="sex">男
<input type="radio" name="sex" checked="checked">⼥
ps:单选框之间必须具备相同的name属性,才能实现多选⼀效果
复选框
爱好:
<input type="checkbox"> 吃饭 <input type="checkbox"> 睡觉 <input
type="checkbox"> 打游戏
普通按钮
目前点击无反应,需要搭配JS使用
<input type="button" value="我是个按钮">
<input type="button" value="我是个按钮" onclick="alert('hello')">
提交按钮
<form action="test.html">
<input type="text" name="username">
<input type="submit" value="提交">
</form>
提交按钮必须放到form标签内.点击后就会尝试给服务器发送请求
8.2)select标签
下拉菜单
• option中定义selected="selected"表⽰默认选中
<select>
<option>北京</option>
<option selected="selected">上海</option>
</select>
8.3)textarea标签
textarea rows="3" cols="50">
</textarea>
-⽂本域中的内容,就是默认内容,注意,空格也会有影响.
-rows和cols也都不会直接使⽤,都是⽤css来改的
8.4)⽆语义标签:div&span
div标签,division的缩写,含义是分割
span标签,含义是跨度
就是两个盒⼦.⽤于⽹⻚布局
• div是独占⼀⾏的,是⼀个⼤盒⼦.
• span不独占⼀⾏,是⼀个⼩盒⼦.
<div>
<span>朔间零</span>
<span>朔间零</span>
<span>朔间零</span>
</div>
<div>
<span>朔间凛月</span>
<span>朔间凛月</span>
<span>朔间凛月</span>
</div>
<div>
<span>礼濑真宵</span>
<span>礼濑真宵</span>
<span>礼濑真宵</span>
</div>