HTML-基础
关于前端web开发的正经笔记,这篇是不含css的HTML基础
一、网页基础知识
1.1 HTML模板
新建或者打开一个.html
文件,输入!
后按空格会出现一个模板
1 |
|
1.2 HTML的lang属性
- 决定浏览器是否自动弹出翻译框
- 弹出:
en
,代表是英文网页(不管后续写的内容是不是英文) - 不弹出:
zh-cn
,代表网页是一个中文网页
1.3 注意一些书写规范
- 标签、属性名以及相关符号书写均在英文半角状态下的小写
- id、class必须以字母开头
- 所有双标签必须闭合
- 属性值必须带引号,单双引号都可以
二、标签
2.1 meta (辅助标签)
meta标签写在head标签中,具体设置网页设置的标签
2.2 div (块标签) (division分开分隔)
- 独占一行(上下分割)
2.3 H系列标题标签(heading)
h1~h6
标签用于表示网页内容的标题,不同程度的加粗与增大。- 在一个网页中**
h1标签
最好是有且仅有一个**(有利于SEO
优化)
2.4 排序标签
2.4.1
ul
无序列表标签 (unordered list不排序的列表)- 其子标签必须是
<li>
。 - 默认实心圆点符号,修改type属性可改变符号
1
2
3
4
5
6
7
8
9
10
11<!--
type="disc" 实心圆点
type="circle" 空心圆点
type="square" 实心方块
type="none" 不显示符号
-->
<ul type="circle">
<li>第一行</li>
<li>第二行</li>
<li>第三行</li>
</ul>- 其子标签必须是
2.4.2
ol
有序列表标签 (ordered list有序表)- 其子标签必须是
<li>
。 - 默认有数字符号,修改type属性可改变符号
1
2
3
4
5
6
7
8
9
10<!--
type="1" 数字顺序
type="A" 或者 type="a" 字母顺序
type="I" 或者 type="i" 罗马数字顺序
-->
<ol type="A">
<li>第一点</li>
<li>第二点</li>
<li>第三点</li>
</ol>- 其子标签必须是
2.5 p段落标签 (paragraph)
1 | <p> p标签中通常用来放置一段文字。 |
2.6 a标签 (超链接 / 锚点)
2.6.1 超链接
通过添加
target
属性可以指定打开链接的位置target=”_blank” 新标签页打开
target=”_new” 新标签页打开,但所有的new只会打开一个新标签页
target=”_self” 默认,在当前标签页打开
1
<a href="https://blindarbiter.github.io" target="_blank">点我跳转到BlindArbiter的博客</a>
2.6.2 锚点 (anchor锚)
跳到页面中的对应位置,锚点还可配合name属性使用
1
2<a href="#abc">点我页面滚动到name为abc的标签位置></a>
<a name="abc">滚到这里</a>
2.7 img
标签 (image图像)
单标签,可用 /
作为结尾
1 | <img src="xxx"> |
两种写法都可以
在HTML5的新标准中,明确的指出了不需要/
来结束单标签,所以,更推荐大家不写/
一些常用属性:
src
:指定图片资源路径- 相对路径:或者直接以文件名或目录名开头。
./
相当于当前路径../
返回到该文件的上一级路径
- 绝对路径:一个从根目录出发的路径或者一个完整的网络地址。
/
项目根目录
所有写路径的地方都适用相对路径和绝对路径的写法,比如上面讲过的a标签
herf
属性。- 相对路径:或者直接以文件名或目录名开头。
width
height
:指定img
显示大小能为
img
图片预留对应的空间从而不影响其他布局1
2
3
4<img src="xxx" width="200px" height="100px">
像素单位px
<img src="xxx" width="50vw" height="50vh">
可视区域的单位view width/height:1vh=1%屏幕占比tip:width与height一般情况下和图片原始尺寸保持一致,不过不一致也是允许的,但即使使用width和height缩小图片,仅仅是视觉上的缩小,浏览器还是需要加载原始的图片资源(并不能减轻请求压力),所以有图片缩放的需求时,应当提前用图片处理软件处理好了之后,再引入图片。
alt属性:告知搜索引擎当前图片表示
当img的src地址出错时,alt属性的值能显示出来(或许能让用户/浏览者得到不那么糟糕的体验(?))
1
2
3<img
href="https://github.com/BlindArbiter/BlindArbiter.github.io/blob/master/img/hexo_blog/cover1.jpg"
alt="烟花"title
:在img标签里,当鼠标指针移动到图片上时,title能够显示出提示文字(增强用户/浏览者体验)
tip:仅限于网络图片打不开,当别人做了安全验证时
way:在我们要用图片的html
页面的head中,加入以下代码(解除限制)
1 | <meta name="referrer" content="no-referrer"> |
2.8 其他标签
一些与内容同化的标签
标签名称 | 写法 | |
---|---|---|
b标签 | <b></b> |
文字加粗,strong还能够被搜索引擎检索 |
i标签 em标签 |
<i></i> <em></em> |
文字斜体,i标签仅为视觉上斜体 em还能被搜索引擎检索 |
br标签 | <br/> |
文本换行 |
hr标签 | <hr> |
横线分隔 |
sup标签 sub标签 |
<sub></sub> <sup></sup> |
上角标 下角标。 |
del标签 | <del></del> |
删除线 |
span标签 | <span></span> |
本身没有特殊效果,可配合css添加样式 |
1 | <span style='color:red'>红色</span> |
三、表格
table双标签 <table></table>
tr
定义表格的行,内容都写在行里面th
(thead) 行里面,字体加粗,表示头部标题td
(tbody) 行里面,表示表格具体每一项1
2
3
4
5
6
7
8<table>
<tr>
<th>表格标题</th>
<td>表格内容</td>
...
</tr>
...
</table>
3.1 边框和边距属性
属性 / 样式 | 作用 |
---|---|
border | 每个单元格都加上边框(但该数值大小只影响外围边框粗细) |
cellpadding | 单元格内容与边框的距离 |
cellspacing | 单元格之间间隙大小 |
align | 设置文字对齐方式(类似于text-align) |
border-collapse:collapse(css样式) | 相邻单元格的边框合并(style=’ ‘/用选择器) |
- css样式的style行内样式写法
1 | <style> |
- css样式选择器写法
1 | <table style="border-collapse:collapse"> |
3.2 单元格合并
纵向合并:rowspan
规定单元格纵跨的行数
1 | <td rowspan="2"></td> |
横向合并:colspan
规定单元格横跨的列数
1 | <td colspan="2"></td> |
tip:合并后记得删除多余单元格
其它补充:
tbody
即使不写,默认也会添加这个标签去包裹所有内容;caption
表格标题
四、表单
由表单域、表单控件和提示信息组成
作用:收集客户端信息
4.1 form标签
form标签是一个存储表单元素的区域,里面提供数据输入和采集的是很多表单控件元素完成的。
写法
1
2
3<form action="url地址" method="提交方式" target="打开方式" name="表单名">
<!--各种表单控件元素-->
</form>action
— 表单提交地址method
— 表单提交数据的方式(get 和 post)target
— 打开方式 即后端返回的新页面 (同上述a标签的target)name
— 表单名
4.2 表单控件
属性 | |
---|---|
type | 表单类型 |
name | 赋值属性 |
value | 设置表单控件的值 |
placeholder | 提示文本 |
checked | 默认选择,单选或多选时,可以指定初始默认的已被选中的项 |
disabled | 禁止使用,规定input禁止使用 |
hidden | 隐藏视图 |
表单控件的作用是采集用户的数据然后提交到后端,所有的控件都必须有name及value属性
,并且除了单选多选外,所有的控件name都不能相同
。
input
单标签,标签属性type不同,意义不同:
- value的值随便定义,后面添加文字补充说明
- 空按钮一般用js添加功能事件
属性 示例 text 单行文本框 <input type="text" name="名字" placeholder="提示文字" />
password 密码输入框 <input type="password" name="名字" />
radio 单选按钮 <input type="radio" name="sex" value="男" />男
<input type="radio" name="sex" value="女" />女
checkbox 多项选择 <input type="checkbox" name="hobby" value="1" />羽毛球
<input type="checkbox" name="hobby" value="2" />乒乓球
<input type="checkbox" name="hobby" value="3" />网球
button 空按钮 <input type="button" value="按钮" />
<button type="button">按钮</button>
reset 重置按钮 <input type="reset" />
file 上传文件 <input type="file" name="f" />
hidden 隐藏 <input type="hidden" name="hide" value="1" />
submit 提交 <input type="submit" />
<button>提交按钮</button>
number 数字输入框 <input type="number" />
(min最小 max最大 step倍数)range 数字滑块 <input type="range" />
(min最小 max最大 step倍数)time
date
month
week时间
年月日
年月
年周<input type="time" />
<input type="date" />
<input type="month" />
<input type="week" />
color 颜色 <input type="color" />
label
辅助input进行选择。
我们可以通过给文字加上label标签然后将文字和input关联起来。
一个label只服务一个表单控件
1
2
3
4
5
6label的for属性与input的id属性对应:
<input type="radio" name="sex" value="1" id="sex1" /><label for="sex1">男</label>
<input type="radio" name="sex" value="2" id="sex2" /><label for="sex2">女</label>
或者:
<label> <input type="radio",name="sex",value="男">男 </label>
<label> <input type="radio",name="sex",value="女">女 </label>下拉选框
select 和 option配合实现下拉选框
1
2
3
4
5
6
7
8
9
10
11<!-- name规定给select value规定给option并且不能相同 -->
<select name="days">
<option value="none">---请选择星期---</option> <!--或 value="" -->
<option value="1">星期一</option>
<option value="2">星期二</option>
<option value="3">星期三</option>
<option value="4">星期四</option>
<option value="5">星期五</option>
<option value="6">星期六</option>
<option value="0">星期日</option>
</select>select标签的
size
属性:规定下拉时最多显示几个option标签的
selected
属性:规定默认显示哪个option
文本域
textarea
多行文本输入框,rows标签属性定义高度,cols标签属性定义宽度;
如果需要用来传值,同样的需要制定name属性。
表单控件分组
fieldset
和 legend配合将多个表单控件根据需要分组;fieldset
分组,legend定义组标题。1
2
3
4
5
6
7
8
9
10
11
12
13<form action="" medthod="" name="">
<fieldset>
<legend>注册信息</legend>
用户名:<input type="text" name="user" />
密 码:<input type="text" name="pwd" />
</fieldset>
<fieldset>
<legend>个人信息</legend>
姓名:<input type="text" name="name" />
年龄:<input type="text" name="age" />
性别:<input type="radio" name="sex" value="0" />男<input type="radio" name="sex" value="1" />女
</fieldset>
</form>
4.3 一些补充
表单相关选择器
:focus
表单获得焦点时被选中。
:focus-within
表单自身或者表单后代元素焦点时被选中触发