一:显示相关的HTML基础知识
1. 推荐的前端编写工具
2. VScode的html速写规则(从a标签开始再用)
①、!:代表生成html的基本框架元素
②、html元素:直接书写html,不需要加<>,按回车会自动生成
③、{}:配合②快捷键,在{}中书写文本,会直接在html元素标签内生成文本,里面可以添加 一个 一个 一个符号代表0-9
④、*N:N代表个数,配合上述儿②、③可以一次生成多个html元素
⑤、>:向html的下一级生成html元素
⑥、+:同级下生成不同的html元素
3. html5保留的元素
框架元素
<!DOCTYPE html><html><head><meta charset="utf-8" ><title>hello</title></head><body></body></html>
二:HTML元素
<!-- H1到H6的代码样例 --><h1>疯狂JAVA讲义</h1><h2>疯狂JAVA讲义</h2><h3>疯狂JAVA讲义</h3><h4>疯狂JAVA讲义</h4><h5>疯狂JAVA讲义</h5><h6>疯狂JAVA讲义</h6><hr><span>span测试01</span><span>span测试02</span><span>span测试03</span><br><div>divtest1</div><div>divtest2</div><div>divtest3</div><p>ptest001</p><p>ptest002</p><p>ptest003</p>
重点:span和div的布局特征及原理
看到的布局表象特征:div是竖着布局,span是横着布局
div、h1-h6、p等都是块级元素(块级盒子),块级元素特征:独占一行,对宽度和高度是支持的
span、a等都是内联级元素(内联级盒子),内联级元素特征:不独占一行,对宽度和高度不支持
a元素
①、超链接
<a href="http://www.baidu.com" target="_blank">跳转到百度</a>
相关属性:
href:跳转的资源路径
target:代表打开资源的方式,默认值是_self,本窗口打开,其他值:_blank,新窗口打开,_parent,跳出父级框架打开,_top跳出顶级框架打开,结合框架之后,可以自定义值
②、锚点
<a name="h_element">H1到H6</a>
相关属性:
name:代表锚点的名称
相关方法:
如何跳转到指定锚点位置?注意:记得加上 #锚点name属性的值
<a href="#h_element">跳转到H相关的元素上</a>
跳转到不同页面上的指定锚点
<a href="test.html#a_element">跳转到A相关的元素上</a>
③、固定锚点效果
相关css:
position:设置定位模式,其值有relative,absolute,fixed,static 默认值为static,其中relative是相对定位,absolute是绝对定位,fixed是固定,
left:代表是主体居左的距离
right:代表是主体居右的距离
top:代表是主体居上的距离
bottom:代表是主体居下的距离
left、right、top、bottom的使用有效,必要要让position的值是relative,absolute,fixed三种中的一种
<div style="position:fixed;bottom:10px;right:10px;"> <div><a href="#h_element">跳转到H相关的元素上</a></div> <div><a href="#a_element">跳转到A相关的元素上</a></div></div>
列表相关元素
①、无序列表(常用)
<ul> <li>sdaklgj</li> <li>sdaklgj</li> <li>sdaklgj</li></ul>
注意:ul里面只能包含li
②、有序列表(不常用)
<ol start="3" type="a"> <li>sdaklgj</li> <li>sdaklgj</li> <li>sdaklgj</li></ol>
相关属性:
start:代表从第几个开始排序
type:使用哪种编码方式,其值有 1、A、a等等
注意:ol里面只能包含li
③、列表(标题+摘要)
<dl> <dt>新闻1</dt> <dd>新闻1的摘要1</dd> <dd>新闻1的摘要2</dd> <dt>新闻2</dt> <dd>新闻2的摘要</dd></dl>
注意:dl里只能包含dt,dd;dt后紧跟至少一个dd,dt是列表项,dd是列表项的详情说明
④、无序列表卡片效果
额外知识点:
①、引入css样式,需要使用标签
相关属性:
rel : 代表引入的资源角色,stylesheet代表样式单【必要】
href : 代表引入的资源路径,可用相对路径和绝对路径【必要】
②、添加HTML的通用属性,比如:id,class
1、使用id属性,在书写css时,需要使用#前缀;使用class属性,在书写css时,需要使用.前缀;
2、使用id属性,属性值要求唯一的;使用class属性,属性值可以重复。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>test</title> <link rel="stylesheet" href="css/index.css"></head><body> <div class="news_box"> <div class="title"> <span class="lf_sp">新闻动态</span> <span class="rt_sp">more+</span> </div> <ul> <li> <span>2020-12-23</span> <img src="images/1.png" alt="1"> <h3>军训常识——管理篇</h3> <p>军事理论学习科生的必事理论理论学事理论课考试,记2个学分,记入学生教学档案。军事技能训练考评和军事理论考试。</p> </li> <li> <span>2020-12-23</span> <img src="images/1.png" alt="1"> <h3>军训常识——管理篇</h3> <p>军事理论学习是我校本科生的必修课,完成军训并通过军事理论课考试,记2个学分,记技能训练考评和军事理论考试。</p> </li> <li> <span>2020-12-23</span> <img src="images/1.png" alt="1"> <h3>军训常识——管理篇</h3> <p>军事理论学习是我校本科生的必修课,完成军训并通过军事理论课考试,记2个学分,记技能训练考评和军事理论考试。</p> </li> <li> <span>2020-12-23</span> <img src="images/1.png" alt="1"> <h3>军训常识——管理篇</h3> <p>军事理论学习是我校本科生的必修课,完成军训并通过军事理论课考试,记2个学分,记技能训练考评和军事理论考试。</p> </li> </ul> </div></body></html>
css代码:
*{ margin:0; padding: 0; transition: all 0.5s ease;}.news_box{ background-color:rgb(243, 243, 243); margin-top:100px; padding-bottom:30px;}.news_box .title{ width:80%; margin:0 auto 20px; padding-bottom:13px; padding-top: 10px; border-bottom:1px #ddd solid; font-size:21px;}.news_box .title .lf_sp{ border-bottom:2px #D93124 solid; padding-bottom:12px;}.news_box .title .rt_sp{ float: right; font-size:14px; color:rgb(170, 170, 170); margin-top: 11px; margin-right: 10px;}.news_box .title .rt_sp:hover{ color:#910000; cursor: pointer;}.news_box ul{ overflow: hidden; width:80%; margin:0px auto; }.news_box ul li{ list-style: none; float:left; width:23%; background-color: rgb(255, 255, 255); margin:0 1%; position: relative;}.news_box ul li img{ width:100%;}.news_box ul li h3{ color:#D93124; font-size:15px; font-weight: 200; padding:5px;}.news_box ul li p{ color:#919191; font-size:13px; padding:5px; line-height: 23px;}.news_box ul li:hover p{ color:#D93124;}.news_box ul li span{ position: absolute; left:0; top:0; background-color: #F78C83; color:#fff; padding:4px; font-size:12px;}.news_box ul li span:hover{ padding: 6px;}
最终效果
table元素
①、简单的table
<table border="1" style="width:300px;border-collapse: collapse;"> <tr> <td>1sdgasdgasdgeasgsd</td> <td>2</td> <td>3</td> </tr> <tr> <td>4</td> <td>5</td> <td>6</td> </tr> </table>
相关html元素:
tr:代表行
td:普通单元格
th:表头单元格,特征:内容居中,加粗
col:代表列,可以对指定列整体做样式、属性处理,span属性可以指定是哪些连续的列
相关属性:
cellspacing:代表单元格之间的间距,一般不使用,而是采用css处理 border-collapse:collapse;
cellpadding:代表单元格内内容与边框的间距,一般不使用,而是采用css处理padding:5px;
border:代表表格的表框,一般使用
width:代表表格的宽度,一般不使用,采用css处理
align:代表对齐的方式,默认是左对齐(left),可以设置居中对齐(center),一般不使用,采用css处理 text-align:center
②、合并的table
<table border="1" style="width:300px;border-collapse: collapse;" > <tr> <th>姓名</th> <th>金额</th> <th>时间</th> </tr> <tr> <td rowspan="2">张三</td> <td>5000</td> <td>2020.09.28</td> </tr> <tr> <td>3000</td> <td>2020.09.29</td> </tr> <tr> <td colspan="3">备注:张三的银行流水dddsf</td> </tr> </table>
相关属性:
colspan:代表合并列,要合并几列,属性值就写几
rowspan:代表合并行,要合并几行,属性值就写几
html5保留的框架元素iframe
iframe简介
iframe简单代码示例:
<iframe src="index2.html" frameborder="0" style="width:100%;height:600px;"></iframe>
工作台代码示例:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>index</title> <style> .iframe_box{ display:flex; } .iframe_box .ilf{ width:15%; } .iframe_box .irt{ width:85%; } </style></head><body> <div class="iframe_box"> <div class="ilf"> <ul> <li><a href="http://www.baidu.com" target="gs">菜单1</a></li> <li><a href="index2.html" target="gs">菜单2</a></li> <li><a href="http://hbu.cn" target="gs">菜单3</a></li> </ul> </div> <div class="irt"> <iframe src="http://www.baidu.com" name="gs" frameborder="0" style="width:100%;height:600px;"></iframe> </div> </div> </body></html>
html5保留的通用常用属性
第三章:Form表单相关的HTML元素知识
1.form表单
form表单相关属性
什么是请求参数
举例:请求地址是javags.jsp?username=gs&age=28&sex=1
目的:与后台交互及传递数据
解释:
①、以?为分隔,?前面的是具体的后代请求地址;?后面的是具体的请求所需要传送的数据对
②、请求参数是有请求参数对以&连接的,每一对内部由=连接的
生成请求参数的规则
请求方式区别
get请求:请求的数据少(但是是相对的),能在浏览器地址栏中看见请求参数,一般 查 操作使用get请求
post请求:请求的数据多,不能在浏览器地址栏中看见请求参数,一般 增、删、改 操作使用post请求
2. html5保留的表单控件及属性
input表单控件
①、当type=“text”,生成单行文本框;
②、当type=“password”,生成密码框,与文本框的区别是,输入的内容是不可见;
③、当type=“radio”,生成单选框,如要生成一组单选框,还需要指定name属性值一致;
④、当type=“checkbox”,生成复选框,如要生成一组复选框,还需要指定name属性值一致;
⑤、当type=“file”,生成文件上传域,可上传文件;
⑥、当type=“image”,生成图像域,主要作用跟提交按钮一样,就是提交的功能;
⑦、当type=“submit”,生成提交按钮,让表单提交的功能,按钮的文字默认是提交,可以通过value属性来修改;
⑧、当type=“reset”,生成重置按钮,让表单里所有的表单控件内容重置,不是清空,按钮的文字默认是重置,可以通过value属性来修改;
⑨、当type=“button”,生成普通按钮,没有任何能力,按钮的文字没有默认值,需要通过value属性来设置;
readonly设置表单控件只读,就是不可修改
disabled设置表单控件可不用,与readonly的区别,readonly是外表样子看着不可用,而disable是不仅外边看着不可用,而且真的不可用(无法生成请求参数)
checked设置单选框或者复选框时候默认选中
button按钮
相关属性:
注意:
1、button与input生成按钮的区别:
button是有开始,结束标签的,所以按钮的文字需要写到开始和结束标签之间;
input是空标签,按钮的文字,是通过value属性来设置的
2、button不设置type属性时,type属性的值默认是submit,天生具有表单提交的能力
下拉框与列表框select
①、下拉框与列表框如何形成请求参数
②、列表框相关属性
③、option与optgroup元素及相关属性
文本域textarea
①、相关属性
注意:
textarea控件如果要设置默认值,需要在textarea开始和结束标签之间设置,不能通过value属性;但是,如果需要使用JavaScript获取textarea的内容时,需要使用value属性。
fieldset与legend
对于表单控件样式上的分组,实例代码如下:
3. html5新增的常用表单属性
form属性
formaction属性
formxxx属性
autofocus属性
placeholder属性
list属性
autocomplete属性
4. html5新增的常用表单元素
新增的input控件
output控件(可用其他显示的html元素替代)
<form action=""> <input type="color" id="color1" name="color1" oninput="a.value= this.value"> <output for="color1" name="a"></output><br><br><br> <input type="range" id="range1" name="range1" min="0" max="100" step="5" oninput="b.value= this.value"> <output for="range1" name="b"></output></form>
注意:
output是开始和结束标签,不是空标签,跟input标签不一样,input是空标签
oninput:监听表单控件值实时发生变化触发的事件
onchange:监听表单控件值最终改变时触发的事件
meter控件
相关属性
代码实例:
<meter value="120" min="10" max="200" low="30" high="160">120</meter>千米/小时
注意:
meter是开始和结束标签,不是空标签,
progress控件
相关属性:
代码实例:
<progress max="100" value="20"></progress>
注意:
progress是开始和结束标签,不是空标签,
5. html5表单验证
基本表单验证(属性验证)
①、相关属性:
②、代码:
<form action="#"> <input type="text" required name="gs"/><br/> <input type="text" required name="book" pattern="\d{3}-\d-\d{3}-\d{5}"></br> <input type="number"name="box" min="0" max="100" step="5" required></br/> <input type="submit"> </form><form action="#"> <input type="text" required name="gs"/><br/>
自定义表单验证
①、checkValidity()方法:
<form action="add" method="post">生日:<input name="birth" id="birth" type="date"/><p>邮件地址:<input name="email" id="email" type="email"/><p><input type="submit" onclick="return check();"></form><script>var check = function(){return commonCheck('birth',"生日","字段必须是有效的日期") && commonCheck('email',"邮件地址","字段必须符合电子邮件的格式");}var commonCheck = function(field,fieldName,tip){var target = document.getElementById(field);if(target.value.trim() ==""){alert(fieldName+"字段必须填写");return false;}else if(!target.checkValidity()){alert(fieldName+tip);return false;}return true;}</script>
额外知识点:
1、trim()方法是去掉字符串左右的空格
2、return false 作用一:是阻止默认事件发生;作用二:函数提前结束;
②、setCustomValidity()方法(极不推荐使用):
③、novalidate | formnovalidate属性(关闭校验):