一:显示相关的HTML基础知识

1. 推荐的前端编写工具

IOS CSS transform兼容写法_css

2. VScode的html速写规则(从a标签开始再用)

①、!:代表生成html的基本框架元素
②、html元素:直接书写html,不需要加<>,按回车会自动生成
③、{}:配合②快捷键,在{}中书写文本,会直接在html元素标签内生成文本,里面可以添加IOS CSS transform兼容写法_学习_02符号代表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 : 代表引入的资源路径,可用相对路径和绝对路径【必要】

IOS CSS transform兼容写法_前端_03


②、添加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;
}

最终效果

IOS CSS transform兼容写法_前端_04

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属性可以指定是哪些连续的列

IOS CSS transform兼容写法_html_05


相关属性:

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简介

IOS CSS transform兼容写法_前端_06

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保留的通用常用属性

IOS CSS transform兼容写法_学习_07

第三章:Form表单相关的HTML元素知识

1.form表单

form表单相关属性

IOS CSS transform兼容写法_html_08

什么是请求参数

举例:请求地址是javags.jsp?username=gs&age=28&sex=1

目的:与后台交互及传递数据

解释:

①、以?为分隔,?前面的是具体的后代请求地址;?后面的是具体的请求所需要传送的数据对

②、请求参数是有请求参数对以&连接的,每一对内部由=连接的

生成请求参数的规则

IOS CSS transform兼容写法_前端_09


请求方式区别

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按钮

相关属性:

IOS CSS transform兼容写法_前端_10


注意:

1、button与input生成按钮的区别:

button是有开始,结束标签的,所以按钮的文字需要写到开始和结束标签之间;

input是空标签,按钮的文字,是通过value属性来设置的

2、button不设置type属性时,type属性的值默认是submit,天生具有表单提交的能力

下拉框与列表框select

①、下拉框与列表框如何形成请求参数

IOS CSS transform兼容写法_前端_11


②、列表框相关属性

IOS CSS transform兼容写法_学习_12


③、option与optgroup元素及相关属性

IOS CSS transform兼容写法_css_13

文本域textarea

①、相关属性

IOS CSS transform兼容写法_html_14


注意:

textarea控件如果要设置默认值,需要在textarea开始和结束标签之间设置,不能通过value属性;但是,如果需要使用JavaScript获取textarea的内容时,需要使用value属性。

fieldset与legend

对于表单控件样式上的分组,实例代码如下:

IOS CSS transform兼容写法_学习_15

3. html5新增的常用表单属性

form属性

IOS CSS transform兼容写法_css_16

formaction属性

IOS CSS transform兼容写法_前端_17


IOS CSS transform兼容写法_css_18

formxxx属性

IOS CSS transform兼容写法_学习_19

autofocus属性

IOS CSS transform兼容写法_前端_20

placeholder属性

IOS CSS transform兼容写法_前端_21

list属性

IOS CSS transform兼容写法_前端_22

autocomplete属性

IOS CSS transform兼容写法_css_23

4. html5新增的常用表单元素

新增的input控件

IOS CSS transform兼容写法_html_24

output控件(可用其他显示的html元素替代)

IOS CSS transform兼容写法_css_25

<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控件

相关属性

IOS CSS transform兼容写法_html_26


代码实例:

<meter value="120" min="10" max="200" low="30" high="160">120</meter>千米/小时

注意:
meter是开始和结束标签,不是空标签,

progress控件

相关属性:

IOS CSS transform兼容写法_html_27


代码实例:

<progress max="100" value="20"></progress>

注意:
progress是开始和结束标签,不是空标签,

5. html5表单验证

基本表单验证(属性验证)

①、相关属性:

IOS CSS transform兼容写法_前端_28


②、代码:

<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()方法:

IOS CSS transform兼容写法_学习_29

<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()方法(极不推荐使用):

IOS CSS transform兼容写法_学习_30


IOS CSS transform兼容写法_学习_31


③、novalidate | formnovalidate属性(关闭校验):

IOS CSS transform兼容写法_学习_32