前端基础

前端的简介

任何能与用户直接打交道的界面都可以称之为前端。eg:淘宝页面,游戏页面,操作页面。

不直接与用户打交道的用于执行真正业务逻辑的代码,称之为后端。eg:python代码、java代码、c++代码。

广义上:用户能看见并且交互的展示界面。

狭义:运行在浏览器上的页面。

理论知识:

HTML(相当于网页的骨架,没有任何的样式)、CSS(给骨架添加各种样式)、JavaScript(给网页添加动态效果)和jQuery(框架)、Bootstrap(框架)、vue(框架)。

HTTP超文本传输协议

HTTP协议规定了服务端与浏览器之间的数据交互格式及其他事项。

如果服务端遵循HTTP协议;就可以被浏览器正常访问并展示内容。如果服务端不遵循HTTP协议;浏览器就不会正常访问和展示,但是不影响服务端。
若不遵循HTTP协议,则需要自己编写客户端,即APP。

HTTP协议的四大特性:

  • 基于请求-到-响应>>>:服务端永远不会主动给客户端发消息,必须是客户端先请求服务端被动响应。
  • 基于TCP/IP作用于应用层的协议>>>:应用层协议:HTTP、HTTPS、FTP。
  • 无状态>>>:服务端不会保存客户端状态。始终当作第一次的状态。【由于HTTP协议是无状态的,后续出现了一些专门记录用户状态的技术:cookie、session、token....】
  • 短连接>>>:不保持客户端与服务端之间的链接导通。补充:websocket是应用层协议,可以建立双方永久连接,比如即时通讯聊天软件。

HTTP协议的数据格式:

请求格式:客户端给服务端发送消息应该遵循的数据格式

                  请求首行:【标识HTTP协议版本和当前的请求方式】

                  请求头:【一大堆k,v键值对】

                  此处为换行符   /r, /n

                  请求体:【】

响应格式:服务端给客户端发送消息应该遵循的数据格式

                  响应首行:【标识HTTP协议版本和响应状态码】

                  响应头:【一大堆k,v键值对】

                  此处为换行符  /r,/n

                  响应体:【返回给浏览器展示给用户的数据,就是一个页面】

请求方式:get请求:向服务端要数据【eg:输入网址获取内容】post请求:向服务端提交数据【eg:提交用户名和密码用于后端校验】

HTTP协议的响应状态码:

响应状态码:即用数字来表示一串复杂的中文意思。自定义状态码一般都是从10000开始。

eg:

  1. 1XX:服务端成功接收到了你的数据正在处理,你可以等待或者继续发送
  2. 2XX:200 OK 表示请求成功,服务端给出了响应 
  3. 3XX:301\302 表示重定向(想访问A页面但是自动跳转到了B页面)
  4. 4XX:403请求不合法(权限不够);404请求资源不存在
  5. 5XX:都是服务端错误,与客户端无关(代码bug、机房炸了...)

HTML简介

HTML即超文本标记语言。

HTML是一种标记语言(markup language),它不是一种编程语言。HTML使用标签来描述网页。

本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。

<!--上述语法就是HTML 用于构建网页的骨架(所有的网页都是由HTML组成)-->
<h1>hello big baby</h1>
<a href="https://www.sogo.com">click me</a>
<img src="111.jpg"/>

note:

存放HTML代码的文件后缀名一般都是.html

HTML:是超文本标记语言,它没有任何的逻辑,是固定搭配
HTML文档结构:

<html>
      <head>给浏览器看的数据</head>
      <body>给用户看的数据</body>
  </html>
<!DOCTYPE html>声明为HTML5文档。
<html></html>是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。
<head></head>定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。
<title></title>定义了网页标题,在浏览器标题栏显示。
<body></body>之间的文本是可见的网页主体内容。

 

HTML标签的分类:

双标签:有头有尾,内容写在中间>>>:<h1></h1> <html></html>
自闭合标签:单标签>>>:<img/>    一般有特殊功能

HTML注释语法:

<!--单行注释-->
  <!--
  多行注释
  -->

 

学习HTML的目的:完成页面结构的搭建(什么时候用什么标签)
HTML属于标记语言:标记语言为非编程语言,不具备编程语言具备的程序逻辑

HTML三大组成:
标签:被尖括号包裹,由字母开头包含合法字符的,可以被浏览器解析的标记
    eg:系统标签,自定义标签
指令:被尖括号包裹,由!开头的标记。
    eg:<!doctype html> <!-- -->
转义字符:被&与;包裹的特殊字母组合或#开头的的十进制数。
    eg:&#60; &#62; &nbsp;

ps:

 

 HTML标签

标签的概念:被<>包裹由字母开头,可以结合合法字符,能被浏览器解析的特殊符号。

HTML标签的格式:

  • HTML标签是由尖括号包围的关键字,如<html>, <div>等
  • HTML标签通常是成对出现的,比如:<div>和</div>,第一个标签是开始,第二个标签是结束。结束标签会有斜线。
  • 也有一部分标签是单独呈现的,比如:<br/>、<hr/>、<img src="1.jpg" />等。
  • 标签里面可以有若干属性,也可以不带属性。

HTML标签的属性:

  • id:定义标签的唯一ID,HTML文档树中唯一,用于精确查找某个标签。
  • class:为html元素定义一个或多个类名(classname)(CSS样式类名)。
  • style:规定元素的行内样式(内部编写css代码实现)。
  • script:内部用来书写js代码或者引入外部的js文件。
  • title:显示网页标题。
  • link:内部用来书写css代码或者引入外部的css文件。

 

 

HTML的<body>内的常见标签:

目的:使用标签的语义与功能 | 完成页面架构的搭建(div)
1.布局标签>>>:div【块级标签】:“三无”,无语义,无功能,无样式,完成页面架构的搭建,可以看成一块区域,在区域内进行样式修改;span【行内标签】,普通的文本标签用span标签来使用
2.标题系列标签>>>:h1~h6:页面总标题,代表页面“整体含义”,出现一次即可
3.字体系列标签>>>:<i>斜体</i>,<b>加粗</b>,<u>下划线</u>,<s>删除线</s> 4.列表:

         <ul>
         <li>001</li>
         <li>002</li>
         <li>003</li>
         <li>004</li>
         <li>005</li>
         </ul>

   无序列表是使用频率最高的列表标签
5.p:段落标签>>>:<p></p>
6.图片标签>>>:img【行内标签】:图片标签,src(数据源),alt(资源加载失败的文本提示),title (鼠标悬浮自动展示提示信息),height (自定义图片高度),width (自定义图片宽度)
7.链接标签>>>:a【行内标签】:超链接标签,href(超链接地址),target(跳转方式_self | _blank:_self是在本页面跳转,_blank是跳转打开新页面),锚点
8.常用的文本类标签【行内标签】:span ,i (斜体), b (加粗) ,hr (水平分割线),br (换行符)
note:块级标签内部可以嵌套任何块级标签和行内标签,但是p标签除外,p标签只能嵌套行内标签。行内标签可以嵌套行内标签,但是不能嵌套块级标签。

 

 

特殊符号:空格:&nbsp  、  > :  &gt   、 < : &lt     、&:&amp、

 

 

 

ps:表格标签

<table >
    <thead>
        <tr>  <!--tr表示一行-->
            <th>编号</th>  <!--th加粗文本-->
            <th>姓名</th>
            <th>年龄</th>
        </tr>
    </thead>  <!--表头字段-->
    <tbody>
        <tr>
            <td>1</td>  <!--td普通文本-->
            <td>jason</td>
            <td>18</td>
        </tr>
        <tr>
            <td>2</td>
            <td>tony</td>
            <td>28</td>
        </tr>
        <tr>
            <td>3</td>
            <td>kevin</td>
            <td>38</td>
        </tr>
    </tbody>  <!--表单数据-->
</table>

 HTML之form表单

form表单功能:

获取前端用户数据并发送给后端服务器。

<form action=""></form>      >>>:需要在form标签内部编写获取用户数据标签。

表单用于向服务器传输数据,从而实现用户与Web服务器的交互。

表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。

表单还可以包含textarea、select、fieldset和 label标签。

form表单属性

属性描述
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。
method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate 规定浏览器不验证表单。
target 规定 action 属性中地址的目标(默认:_self)。

属性action

控制数据的提交地址。

  • 方式1:写全路径

action="http://www.aa7a.cn/user.php"

  • 方式2:写后缀(自动补全IP和PORT)

action="user.php"

  • 方式3:不写(朝网页所在的地址提交)

action=""

URL:统一资源定位符(网址)。

input标签

获取用户各中类型数据的标签。

<input> 元素会根据不同的 type 属性,变化为多种形态。

type属性值表现形式对应代码
text 单行输入文本 <input type=text" />
password 密码输入框 <input type="password"  />
date 日期输入框 <input type="date" />
checkbox 复选框 <input type="checkbox" checked="checked"  />
radio 单选框 <input type="radio"  />
submit 提交按钮 <input type="submit" value="提交" />
reset 重置按钮 <input type="reset" value="重置"  />
button 普通按钮 <input type="button" value="普通按钮"  />
hidden 隐藏输入框 <input type="hidden"  />
file 文本选择框 <input type="file"  />

属性说明:

  • name:表单提交时的“键”,注意和id的区别
  • value:表单提交时对应项的值
    • type="button", "reset", "submit"时,为按钮上显示的文本年内容
    • type="text","password","hidden"时,为输入框的初始值
    • type="checkbox", "radio", "file",为输入相关联的值
  • checked:radio和checkbox默认被选中的项
  • readonly:text和password设置只读
  • disabled:所有input均适用

select标签

<form action="" method="post">
  <select name="city" id="city">
    <option value="1">北京</option>
    <option selected="selected" value="2">上海</option>
    <option value="3">广州</option>
    <option value="4">深圳</option>
  </select>
</form>

 

属性说明:

  • multiple:布尔属性,设置后为多选,否则默认单选
  • disabled:禁用
  • selected:默认选中该项
  • value:定义提交时的选项值

textarea标签

获取大段文本内容。
<textarea name="desc"></textarea>

属性说明:

  • name:名称
  • rows:行数
  • cols:列数
  • disabled:禁用
<textarea name="memo" id="memo" cols="30" rows="10">
  默认内容
</textarea>

 

lable标签

定义:<label> 标签为 input 元素定义标注。专门给input标签配文字说明。

label 元素不会向用户呈现任何特殊效果。<label> 标签的 for 属性值应当与相关元素的 id 属性值相同。

<form action="">
  <label for="username">用户名</label>
  <input type="text" id="username" name="username">
</form>
方式1
        <label for="d1">用户名:</label>
        <input type="text" id="d1">
方式2
        <label>用户名:
        <input type="text">
      </label>

 

posted @ 2022-04-23 06:00  *sunflower*  阅读(122)  评论(0)    收藏  举报