第三章HTML基础

学习前端的目的

在这里插入图片描述

  • 对于我们的后端来说,这些标签都是一些字符串,但是这些字符串在经过我们浏览器的处理,就可以显示成我们平时看到的页面

前端开发最核心技术
我们知道,用所谓的网页三剑客已经不能满足需求了,那前端开发究竟要学习什么技术呢?网页最主要由3部分组成:结构、表现(布局和显示效果)和行为(让前端带有逻辑,能动起来)。网页现在新的标准是W3C,目前模式是HTML、CSSJavaScript。

前端开发最核心的3个技术

(1)HTML是什么?
HTML,全称“Hyper Text Markup Language(超文本标记语言)”,简单来说,网页就是用HTML语言制作的。HTML是一门描述性语言,是一门非常容易入门的语言。

(2)CSS
CSS,全称“(层叠样式表)”。以后我们在别的地方看到“层叠样式表”、“CSS样式”,指的就是CSS。

(3)JavaScript
JavaScript是一门脚本语言。

所以对于我们后端开发人员,还是需要稍微了解一下前端的知识

HTML的基础标签

HTML的结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
  • 我们的HTML就是由一个个标签组成的
    • 我们的HTML是一门解释语言,不是编译型的,而且我们的浏览器也是具有容错的
  • 大部分标签都是成对出现的,<body>是开始标签,</body>为结束标签
    • 也有单标签这种特殊的情况 比如<br/> 单标签:开始标签和结束标签是同一个,斜杠放在单词后面
  • 开始标签中可能会带有 " 属性 ". id 属性相当于给这个标签设置了一个唯一的标识符 ( 身份证号码 ).
    • 等于号两边不要有空格

层次结构

在这里插入图片描述

  • html 标签是整个 html 文件的根标签(最顶层标签)

    • head 和 body 是 html 的子标签(html 就是 head 和 body 的父标签)
    • title 是 head 的子标签. head 是 title 的父标签.
    • head 和 body 之间是兄弟关系.
  • head 标签中写页面的属性.

    • title 标签中写的是页面的标题
    • meta charet表示的是字符集
  • body 标签中写的是页面上显示的内容

注释标签

注释不会显示在界面上. 目的是提高代码的可读性.

<!-- 我是注释 -->

ctrl + / 快捷键可以快速进行注释/取消注释.
注释的原则

  • 要和代码逻辑一致.
  • 尽量使用中文.
  • 不要传递负能量.

标题标签: h1-h6

<h1>hello</h1>
<h2>hello</h2>
<h3>hello</h3>
<h4>hello</h4>
<h5>hello</h5>
<h6>hello</h6>
  • 数字越大,字体越小
  • 假如我们写了<h7><h7/>也不会报错,因为我们的HTML是解释型语言,只是没有标题的效果

img标签

  • 在HTML中,图像标签为<img/><img/>是一个自闭合标签。只需要掌握3个属性就可以了:src、alt、title。
    • src属性表示图片文件的路径
    • width和height表示图片的大小
    • alt表示图片的提示(当图片显示不出来的时候)
    • title 鼠标移到图片的时候显示的文字
<img src="rose.jpg" alt="鲜花" title="这是一朵鲜花" width="500px" height="800px"border="5px"> 

注意:

  • 属性可以有多个, 不能写到标签之前
  • 属性之间用空格分割, 可以是多个空格, 也可以是换行.
  • 属性之间不分先后顺序
  • 属性使用 “键值对” 的格式来表示

谈到路径就牵扯到相对路径和绝对路径

对于一个复杂的网站, 页面资源很多, 这种情况可以使用目录把这些文件整理好.
相对路径: 以 html 所在位置为基准, 找到图片的位置.
同级路径: 直接写文件名即可 (或者 ./)

  • 下一级路径: image/1.jpg
  • 上一级路径: …/image/1.jpg

绝对路径: 一个完整的磁盘路径, 或者网络路径. 例如

  • 磁盘路径 D:\rose.jpg
  • 网络路径 https://images0.cnblogs.com/blog/130623/201407/300958470402077.png

段落标签: p

把一段比较长的文本粘贴到 html 中, 会发现并没有分成段落

<p>这是一个段落</p>

不加段落标签的效果

在这里插入图片描述

加了段落标签

<p>
	在css中我们一般使用px作为单位,在桌面浏览器中css的1个像素往往都是对应着电脑屏幕的1个物理像
素,这可能会造成我们的一个错觉,那就是css中的像素就是设备的物理像素。但实际情况却并非如此,css中
的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理像素是不同的。在
为桌面浏览器设计的网页中,我们无需对这个津津计较,但在移动设备上,必须弄明白这点。在早先的移动设
备中,屏幕像素密度都比较低,如iphone3,它的分辨率为320x480,在iphone3上,一个css像素确实是等
于一个屏幕物理像素的。后来随着技术的发展,移动设备的屏幕像素密度越来越高,从iphone4开始,苹果公
司便推出了所谓的Retina屏,分辨率提高了一倍,变成640x960,但屏幕尺寸却没变化,这就意味着同样大
小的屏幕上,像素却多了一倍,这时,一个css像素是等于两个物理像素的。其他品牌的移动设备也是这个道
理。例如安卓设备根据屏幕像素密度可分为ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八
门,安卓设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。
</p>
<p>
	还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中
1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。关于
这点,在文章后面的部分还会讲到。
</p>

在这里插入图片描述

换行标签: br

br 是 break 的缩写. 表示换行.
br 是一个单标签(不需要结束标签)
br 标签不像 p 标签那样带有一个很大的空隙.
<br/>是规范写法. 不建议写成 <br>

格式化标签

  • 加粗: strong 标签 和 b 标签
  • 倾斜: em 标签 和 i 标签
  • 删除线: del 标签 和 s 标签
  • 下划线: ins 标签 和 u 标签
<strong>strong 加粗</strong>
<b>b 加粗</b>
<em>倾斜</em>
<i>倾斜</i>
<del>删除线</del>
<s>删除线</s>
<ins>下划线</ins>
<u>下划线</u>

在这里插入图片描述

超链接标签: a

  • href: 必须具备, 表示点击后会跳转到哪个页面.
  • target: 打开方式. 默认是 _self. 如果是 _blank 则用新的标签页打开.

在这里插入图片描述

链接的几种形式

外部链接——用来跳转到其他网站

<a href="http://www.baidu.com">百度</a>

内部链接: 网站内部页面之间的链接. 写相对路径即可.

<!-- 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>

下载链接: href 对应的路径是一个文件. (可以使用 zip 文件)

<a href="test.zip">下载文件</a>

锚点链接: 可以快速定位到页面中的某个位置

<a href="#one">第一集</a>
<a href="#two">第二集</a>
<a href="#three">第三集</a>
<p id="one">
第一集剧情 <br>
第一集剧情 <br>
...
</p>
<p id="two">
第二集剧情 <br>
第二集剧情 <br>
...
</p>
<p id="three">
第三集剧情 <br>
第三集剧情 <br>
...
</p>

无语义标签: div & span

HTML元素根据浏览器表现形式分为两类:①块元素;②行内元素;

块元素特点:

(1)独占一行,排斥其他元素跟其位于同一行,包括块元素和行内元素;
(2)块元素内部可以容纳其他块元素或行元素;
常见块元素有:h1~h6、p、hr、div等。

行内元素特点:

(1)可以与其他行内元素位于同一行;
(2)行内内部可以容纳其他行内元素,但不可以容纳块元素,不然会出现无法预知的效果;
常见行内元素有:strong、em、span等

列表标签

  • 无序列表 ul li
    • type disc(default) , circle , square
  • 有序列表 ol li
    • 属性:start 表示从*开始,type 显示的类型:A a I i 1(deafult)
  • 自定义列表 dl (总标签) dt (小标题) dd (围绕标题来说明) 上面有个小标题, 下面有几个围绕着标题来展开的.
<h3>无序列表</h3>
<ul>
	<li>咬人猫</li>
	<li>兔总裁</li>
	<li>阿叶君</li>
</ul>
<h3>有序列表</h3>
<ol>
	<li>咬人猫</li>
	<li>兔总裁</li>
	<li>阿叶君</li>
</ol>
<h3>自定义列表</h3>
<dl>
	<dt>我的老婆们</dt>
	<dd>咬人猫</dd>
	<dd>兔总裁</dd>
	<dd>阿叶君</dd>
</dl>

在这里插入图片描述

HTML中的特殊字符

实体:HTML中预留字符串必须被替换成字符实体。如:< > &

水分子的化学式: H<sub>2</sub>O <br/>
氧气的化学式: O<sup>2</sup><br/>
5&lt;10
10&gt;5
5&le;10
10&ge;5
注册商标 &reg;
版权符号 &copy;
&nbsp;表示空格

在这里插入图片描述

  • 我们需要用到的时候进行查询就行

表格标签

基本使用

  • table 标签: 表示整个表格
  • tr: 表示表格的一行
  • td: 表示一个单元格
  • th: 表示表头单元格. 会居中加粗
  • thead: 表格的头部区域(注意和 th 区分, 范围是比 th 要大的)
  • tbody: 表格得到主体区域.

table 包含 tr , tr 包含 td 或者 th.

 <table  border="1" cellpadding="2" cellspacing="0" width="500" height="50" >
        <tr align="center" >
            <th>姓名</th>
            <th>门派</th>
            <th>成名绝技</th>
            <th>内功值</th>
        </tr>
        <tr align="center">
            <td>乔峰</td>
            <td>丐帮</td>
            <td>少林长拳</td>
            <td>5000</td>
        </tr>
        <tr align="center">
            <td>虚竹</td>
            <td>灵鹫宫</td>
            <td>北冥神功</td>
            <td>15000</td>
        </tr>
        <tr align="center">
            <td>扫地僧</td>
            <td>少林寺</td>
            <td>七十二绝技</td>
            <td>未知</td>
        </tr>
    </table>

在这里插入图片描述

表格标签有一些属性, 可以用于设置大小边框等. 但是这些已经被淘汰,一般使用 CSS 方式来设置.
这些属性都要放到 table 标签中.

  • align 是表格相对于周围元素的对齐方式. align=“center” (不是内部元素的对齐方式)
  • border 表示边框. 1 表示有边框(数字越大, 边框越粗), “” 表示没边框.
  • cellpadding: 内容距离边框的距离, 默认 1 像素
  • cellspacing: 单元格之间的距离. 默认为 2 像素
  • width / height: 设置尺寸

合并单元格

  • 跨行合并: rowspan=“n”
  • 跨列合并: colspan=“n”
<hr/>
<table border="1" cellspacing="0" cellpadding="4" width="600">
		<tr>
			<th>名称</th>
			<th>单价</th>
			<th>数量</th>
			<th>小计</th>
			<th>操作</th>
		</tr>
		<tr align="center">
			<td>苹果</td>
			<td rowspan="2">5</td>
			<td>20</td>
			<td>100</td>
			<td>删除</td>
		</tr>
		<tr align="center">
			<td>菠萝</td>
			<td>15</td>
			<td>45</td>
			<td>删除</td>
		</tr>
		<tr align="center">
			<td>西瓜</td>
			<td>6</td>
			<td>6</td>
			<td>36</td>
			<td>删除</td>
		</tr>
			<tr align="center">
				<td>总计</td>
				<td colspan="4">181</td>
			</tr>
		</table>

在这里插入图片描述

表单标签

表单其本质就是一个容器,承载了我们客户端发送给服务器的信息

表单是让用户输入信息的重要途径

分成两个部分:

  • 表单域: 包含表单元素的区域. 重点是 form 标签.
  • 表单控件: 输入框, 提交按钮等. 重点是 input 标签.
<form action="demo04.html" method="post">
	昵称:<input type="text" value="请输入你的昵称"/><br/>
	密码:<input type="password" name="pwd"/><br/>
	性别:<input type="radio" name="gender" value="male"/><input type="radio" name="gender" value="female" checked/><br/>
	爱好:<input type="checkbox" name="hobby" value="basketball"/>篮球
		 <input type="checkbox" name="hobby" value="football" checked/>足球
		 <input type="checkbox" name="hobby" value="earth" checked/>地球<br/>
	星座:<select name="star">
			<option value="1">白羊座</option>
			<option value="2" selected>金牛座</option>
			<option value="3">双子座</option>
			<option value="4">天蝎座</option>
			<option value="5">天秤座</option>
		 </select><br/>
	备注:<textarea name="remark" rows="4" cols="50"></textarea><br/>
	<input type="submit" value=" 注 册 "/>
	<input type="reset" value="重置"/>
	<input type="button" value="这是一个普通按钮"/>
</form>

在这里插入图片描述

form标签

<form action="demo04.html" method="post">
... [form 的内容]
</form>
  • form表单是要提交数据的,这个页面会提交到另一个资源上
    • action=“提交资源的路径”,默认是当前资源,就是将资源提交到什么地方
    • method=“本次提交,采用的是HTTP协议是什么方法”,默认是get 关于get和post的区别,我们在http请求中说明

input 标签

  • name属性必须要指定,否则这个文本框的数据将来是不会发送给服务器的,我们的服务器就是根据name属性来找对应的value属性,尤其是对于单选按钮, 具有相同的 name 才能多选一.

  • value属性 value一般就是用户填写的内容,value=“默认值”,将数据提交给服务器,如果没填写,就是写的默认的值

  • checked: 默认被选中. (用于单选按钮和多选按钮)

  • maxlength: 设定最大长度.

  • type=“类型”,表示这个input标签是什么类型的

    • text 表示单行文本框

    • password表示密码文本框

    • radio 表示单选本文框

      • name属性值保持一致,这样才会有互斥的效果
    • checkbox 表示复选框

      • name属性值建议保持一致,这样将来我们服务器端获取值的时候获取的是一个数组
    • submit表示是提交按钮

    • reset表示是重置按钮

    • button表示是普通按钮

label 标签

搭配 input 使用. 点击 label 也能选中对应的单选/复选框, 能够提升用户体验.

  • for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应. (此时点击才是有用的)
 <label for="male"></label> <input id="male" type="radio" name="sex">
两种方式的效果一样
 <label><input id="male" type="radio" name="sex">
 </label> 

select 标签

下拉菜单

  • option 中定义 selected=“selected” 表示默认选中
星座:<select name="star">
			<option value="1">白羊座</option>
			<option value="2" selected>金牛座</option>
			<option value="3">双子座</option>
			<option value="4">天蝎座</option>
			<option value="5">天秤座</option>
	 </select><br/>

textarea 标签

文本域中的内容, 就是默认内容, 注意, 空格也会有影响.
rows 和 cols 也都不会直接使用, 都是用 css 来改的

<textarea rows="3" cols="50"></textarea>
  • 空格也会变成默认内容,所以用的时候最好不要有任何内容
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

库里不会投三分

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

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

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

打赏作者

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

抵扣说明:

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

余额充值