前端知识

介绍了基本的前端相关知识

2025年 08月24日 18:37 星期日
3101 字 · 18 分钟

HTML

项目有前后端分离的和前后端不分离的,不分离的就是前端代码和后端代码放到一起了,前后端分离的就是前端代码和后端代码都单独存放了。前后端不分离的这种项目,是后端语言代码会对前端html文件进行一些动态数据的渲染操作,而前后端分离开的项目,后端不会对前端html文件进行动态渲染,而是将数据给到前端js代码,js代码来自己完成数据的动态渲染。流行的前端后分离的前端框架,比如vue、react等等。

超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言,网页文件的扩展名:.html或.htm

最基本的文档结构

HTML
<!DOCTYPE html>
<html lang="zh-CN">   <!--这个lang表示语言,zh-CN是中文的意思,就是说,你整个文档的内容以中文为主,如果以英文为主,就写成lang='en'-->
<head>
  <meta charset="UTF-8">
  <title>jaden小站</title>
</head>
<body>
 唯有学习
  <h1>使我快乐</h1>
</body>
</html>

文档结构介绍

HTML
<!DOCTYPE html> 声明文档类型为HTML文档。
<html>、</html>是文档的开始标记和结束的标记。
<head>、</head>定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据,配置信息等,是给浏览器看的,你看到的是在body标签里面写的。
<title>、</title>定义了网页标题,在浏览器标题栏显示。(修改一下title中的内容,然后看一下浏览器,你就会发现title是什么了)
<body>、</body>之间的文本是可见的网页主体内容。
<meta charset="utf-8"/>网页编码
<meta name="Keywords" content="关键字" />   搜索引擎关键字:
<meta name="Description" content="简介、描述" /> 网站的简介和描述

标签语法

HTML
<标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>   # 全封闭  
<标签名 属性1=“属性值1” 属性2=“属性值2”…… /> # 自封闭
语法说明:
   HTML标签是由尖括号包围的关键字,如<html>, <div>等
   HTML标签通常是成对出现的,比如:<div>和</div>,第一个标签是开始,第二个标签是结束。结束标签会有斜线。
   也有一部分标签是单独呈现的,比如:<br>、<hr>、<img src="1.jpg" />等。
   标签里面可以有若干属性,也可以不带属性。

常用标签

文本标签

HTML
<br/> 换行
<hr> 分割线
<p>...</p> 换段
<i>...</i> 斜体
<em>...</em> 强调斜体,和i标签效果一样
<b>...</b> 加粗
<strong>...</strong> 强调加粗,和b标签效果一样
<hn>...</hn> 其中n为1--6的值。 标题标签(加粗、独占一行)
<sub>... </sub>  <sup>...</sup> 下标 上标
<del></del> 删除线

特殊符号

SHELL
&lt; # <
&gt; # >
# https://www.runoob.com/html/html-entities.html

HTML注释符号

SHELL
<!-- 注释内容 -->

列表标签

HTML
<ul> 无序列表 type类型值:circle、disc、square
<ol> 有序列表 其中type类型值:A a I i 1   start属性表示起始值
<li> 列表项

超链接标签

HTML
<a href=""></a> 超级链接标签
 属性:href必须,指的是链接跳转地址(外部链接地址、内部链接地址),外部链接地址就写完整网
址,内部链接地址可以写相对路径地址
 target: 表示链接的打开方式:
 _blank 新窗口
 _self   本窗口(默认)
 title:文字提示属性(详情)
 锚点链接:当前网页不同位置的跳转的
 设置锚点:   <p id='a1'>我在这儿</p>
 使用锚点: <a href="#a1">跳到id属性为a1的标签位置</a>
 <a href=''>哈哈</a> # 刷新页面
 <a>哈哈</a> # 普通文本效果
 <a href='#'>哈哈3</a>
 <a href='javascript: void(0);'>哈哈3</a> <!-- javascript: void(0);是一段js代码-->

img图片标签

HTML
<img /> 在网页中插入一张图片
 属性:src: 图片名及url地址
 alt: 图片加载失败时的提示信息
 title:文字提示属性
 width:图片宽度  
 height:图片高度
 #高度和宽度的单位可以是px,叫做像素,和屏幕的分辨率有关系:1080p = 1920*1080px,同
样大小像素的图片,像素越大的显示器显示出来的图片看上去越小。 图片像素越大、屏幕分辨率越大,看上
去就越逼真
 border:边框线粗细

多媒体标签(仅限于在html5)

HTML
# html4  
# html5 -- h5
<audio controls="controls">
  <source src="bgm.mp3" type="audio/mpeg" />
你的浏览器不支持播放mp3
</audio> 
 autoplay autoplay 如果出现该属性,则音频在就绪后马上播放。
 controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
 preload preload 如果出现该属性,则音频在页面加载时进行加载,并预备播放。如果使用
"autoplay",则忽略该属性。
<video controls="controls" width="400" height="400" loop
poster="./images/linux.jpg">
    <source src="./mus/back.mp4" type="video/mp4" />
   你的浏览器不支持视频播放
</video>

div和span

SHELL
div   #独占一行,此外没有其他效果
span #不独占一行,此外没有其他效果
内敛标签:不独占一行的标签叫做内敛标签,内敛标签不能嵌套块级标签
块级标签:独占一行的标签叫做块级标签

table表格标签

HTML
<table border='1'>
    <thead>
        <tr>
            <th>序号</th>
            <th>姓名</th>
            <th>爱好</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>jaden</td>
            <td>杠娘</td>
        </tr>
        <tr>
            <td>2</td>
            <td>Yuan</td>
            <td>日天</td>
        </tr>
    </tbody>
</table>

input标签

SHELL
type属性值:
   # 下面三类input标签必须有一个name属性
       text   #单行输入文本
       password #密码输入框(不显示明文)
       date #日期输入框
   # 下面两个选择框必须有name属性和value属性
       checkbox #复选框
       radio #单选框
   # 提交按钮
       submit: <input type="submit" value="提交" />
   # 文件选择框
       file: <input type="file"  />
 # 隐藏输入框
 	type='hidden'

select标签

HTML
<select name="city" id="city" >
    <option value="1">北京</option>  
    <option value="2">上海</option>
    <option value="3">广州</option>
    <option value="4">深圳</option>
</select>
multiple:布尔属性,设置后为多选下拉框,否则默认单选

textarea多行文本标签

SHELL
<textarea name="memo" id="memo" cols="30" rows="10"></textarea>
name="memo" id="memo" cols="30" rows="10" 属性不用管

form表单标签

SHELL
通过form表单标签,能够让我们完成前端与后台的数据交互,比如:能够将用户输入或者选择或者上传的文件
等内容发送到后台,后代程序再将数据保存到数据库中。
<form action="http://www.baidu.com" method="get">
   用户名:<input type="text" name="username">
   密码:<input type="password" name="password">
    <input type="submit">
</form>

CSS

CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观。当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。

语法

image-20250901181810582

每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。

HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            color:red;
       }
    </style>
</head>
<body>
<div>
   你好,美女
</div>
</body>
</html>

CSS引入方式

SHELL
方式1:行内样式 优先级最高
 <p style="color: red">Hello world.</p>
方式2:内部样式 优先级没有行内样式高
 写到head标签中的style标签的就叫做内部样式
方式3:外部样式
 <link href="mystyle.css" rel="stylesheet" type="text/css"/>

CSS选择器

基础选择器(pass)

HTML
标签选择器:标签名称来找标签
 div{
        color:red;
        
 }
id选择器:标签的id属性值来找标签
   <div id="d1">xxx</div>
    #d1{
        color:red;
 }
class选择器:标签class属性值来找标签
   <div class="c1">xxx</div>
    .c1{
        color:red;
 }

CSS属性

SHELL
1. color颜色属性:
 1. RGB颜色:(R)、绿(G)、蓝(B)三个颜色通道的变化
 background-color: #CCCCCC;
 2. RGBA颜色:(R)、绿(G)、蓝(B)、透明度(A)
 background-color: rgba(0,0,0,0.5);
 
 2. 字体属性: font
 font
   *font-size: 字体大小:20px,60%基于父对象的百分比取值
   *font-family: 字体:宋体,Arial font-family: "Microsoft Yahei";
 font-style: normal正常;italic斜体; oblique倾斜的字体
   *font-weight: 字体加粗 :bold。 
 
 3. 文本属性:
 text-indent: 首行缩进:text-indent:30px;
 text-overflow: 文本的溢出是否使用省略标记(...)。clip|ellipsis(显示省略标记)
 white-space:nowrap; /* 强制在同一行内显示所有文本*/
 overflow:hidden;white-space: nowrap;text-overflow:ellipsis;
 
 多行溢出显示省略号:
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3;
 overflow: hidden;
 
 *text-align: 文本的位置:left center right
 *text-decoration: 字体画线:none无、underline下画线,line-through贯穿线 a
 *text-shadow: 文本的文字是否有阴影及模糊效果
 text-shadow:1px 1px rgba(0,0,0,0.3);
 *letter-spacing: 文字或字母的间距
 *line-height:行高
 *color: 字体颜色
 
 4. 边框:
 border:宽度 样式 颜色;
 border-color;
 border-style; 边框样式:solid实x,dotted点状线,dashed虚线
 border-width:
 border-left-color;
 border-left-style;
 border-left-width:
 ...
 CSS3的样式
 border-radius:圆角处理
 box-shadow: 设置或检索对象阴影
 
 5. 背景属性:background
 *background-color: 背景颜色
 *background-image: 背景图片,background-image: url('图片网址')
 *background-repeat:是否重复,如何重复?(平铺)              
 *background-size: 背景大小,如 background-size:100px 140px;
 
 6. 内补白(内补丁)
 padding: 检索或设置对象四边的内部边距,如padding:10px; padding:5px 
10px;
 padding-top: 检索或设置对象顶边的内部边距
 padding-right: 检索或设置对象右边的内部边距
 padding-bottom:检索或设置对象下边的内部边距
 padding-left: 检索或设置对象左边的内部边距
 
 7. *外补白(外补丁)
 margin: 检索或设置对象四边的外延边距,如 margin:10px; margin:5px auto;
 margin-top: 检索或设置对象顶边的外延边距
 margin-right: 检索或设置对象右边的外延边距
 margin-bottom: 检索或设置对象下边的外延边距
 margin-left: 检索或设置对象左边的外延边距

image-20250901182128506

JavaScript

JavaScript 是脚本语言,JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript 很容易学习。

JS代码引入方式

SHELL
方式1: script标签内写代码
   
    <script>
      //alert('hello,my girl') #这个是浏览器窗口一打开咱们这个文件,就弹出一个窗口
    </script>
方式2:外部文件引入
 <script src="myscript.js"></script>
方式3:外部网址引入
 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

JS三大功能

SHELL
js编程     #实现一些代码逻辑,数据处理,发送请求接受响应等
js操作BOM #通过js控制浏览器来帮你做一些效果,比如alert   BOM:浏览器对象模型,alert、confirm、prompt
js操作DOM #通过js控制所有的html标签,实现动态样式效果   DOM:文档对象模型

基础知识

JAVASCRIPT
变量声明
 var a = 1;
 var a = 3;
 var b = 2;
 c = a + b  

JS操作BOM

js操作浏览器对象模型

JAVASCRIPT
alert('123')

JS操作DOM

js操作文档对象模型

image-20250901182504508

SHELL
查找标签
   document.getElementById           根据ID获取一个标签 这个了解一下就行了。
    
   document.getElementsByClassName('c1')   根据class属性获取(可以获取多个元素,所以返回的是一个数组)
   document.getElementsByTagName('div')     根据标签名获取标签合集
1. a标签特殊性,能够运行js代码
 <a href="javascript:alert(123);">百度</a>
2.绑定事件:比如点击div标签,弹出一个alert的窗口
 <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Title</title>
            <style>
                div{
                    height: 100px;
                    width: 100px;
                    background-color: green;
               }
            </style>
        </head>
        <body>
             <!--<div onclick="alert(123)"></div>-->
        <div id="div1" onclick="show();"></div>
        </body>
        <script>
            var divEle = document.getElementById('div1');
            divEle.onclick = function (){
                alert('222');
           }
        </script>
    </html>
3. 重点注意:src能够获取外部地址的js文件,也就是主动发送请求获取数据<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

常用事件

SHELL
常用事件
   onclick       当用户点击某个对象时调用的事件句柄。
   ondblclick     当用户双击某个对象时调用的事件句柄。
   onfocus       元素获得焦点。               // 练习:输入框
   onblur         元素失去焦点。               应用场景:用于表单验证,用户离开某个输入框
时,代表已经输入完了,我们可以对它进行验证.
   onkeydown     某个键盘按键被按下。         应用场景: 当用户在最后一个输入框按下回车按
键时,表单提交.
   onkeypress     某个键盘按键被按下并松开。
   onkeyup       某个键盘按键被松开。
   onload         一张页面或一幅图像完成加载。
   onmousedown   鼠标按钮被按下。
   onmousemove   鼠标被移动。
   onmouseout     鼠标从某元素移开。
   onmouseover   鼠标移到某元素之上。
   onselect     在文本框中的文本被选中时发生。
   onsubmit     确认按钮被点击,使用的对象是form。

jquery和ajax

https://www.bootcdn.cn/

https://jquery.com/

可以远程网址引入、可以下载下来本地引入

JAVASCRIPT
<button id='btn'>查看天气</button>
<script src='https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.js'></script>
<script>
 $('#btn').click(function(){
 console.log(123);
 $.ajax({
    type:'get',
            // api数据接口
 //url:'https://www.toutiao.com/stream/widget/local_weather/data/?city=%E5%8C%97%E4%BA%AC',
    url:'https://www.toutiao.com/stream/widget/local_weather/data/',
    data:{'city': '北京'},
 dataType: "json",
 success: function(ret){
 //console.log(ret);
 alert(JSON.stringify(ret));
 }
 
 
 });
 
 })
</script>

ajax可以发送网络请求,获得响应数据

bootstrap

快速开发网站页面的框架。

https://www.bootcss.com/


Thanks for reading!

前端知识

2025年 08月24日 18:37 星期日
3101 字 · 18 分钟