WEB前端

HTML:超文本标记语言,专门用来布局前端样式页面的,比如:图片、文本、超链接。该文件是用浏览器打开的。

一、前端网页基础三个内容

1.1 文本

  • 在前端浏览器中处理文本数据,文本处理包括:文本大小、文本样式、颜色、加粗、斜体、标题等,所有的前端必须用html文件来进行表示。
  • font标签

    1. 用font标签处理文本的大小,需要配合使用属性size,size取值范围1-7
    2. <font size= "7">处理文本的大小</font>
    3. 用font标签处理文本的颜色,需要配合使用属性color
    4. <font color="red">处理文本的颜色</font>
    5. 用font标签处理文本的样式,需要配合使用face
    6. <font face="微软雅黑">处理文本样式</font>
  • 处理加粗和斜体

    1. 文本加粗:
    2. <b>文本加粗</b>
    3. <strong>文本加粗</strong>
    4. 文本变成斜体
    5. <i>文本斜体</i>
  • 标题处理,论文的网站等,有一级标题、二级标题等。标题的标签自带加粗、黑体和换行

    1. <h1>一级标题</h1>
    2. <h2>二级标题</h2>
    3. <h3>三级标题</h3>
    4. <h4>四级标题</h4>
    5. <h5>五级标题</h5>
    6. <h6>六级标题</h6>
  • 段落:一般用在文章类的网站中,自带换行和段落之间的行距

    1. <p>段落</p>
  • 标记标签,暂时不用,在css的时候会使用

    1. <span>标记标签</span>

    1.2 图片处理

  • 在前端页面显示图片,使用的标签web前端 - 图1,

    1. 在图片img标签中单独使用是显示不了图片,需要用src进行图片的来源(网络资源和本地工程中的资源)
    2. 网络资源(绝对路径):以HTTPS或者http开头的网络图片资源,不是推荐方式
    3. <img src="//gw.alicdn.com/bao/uploaded/i1/2184169666/O1CN01AmQxNF2LH50E3S4QV_!!0-item_pic.jpg" />
    4. 本地工程资源:需要要求将图片资源拷贝到当前工程中。
    5. <img src="../img/1.jpg" />
  • 特别说明:

相对路径:
第一种:图片和当前用的html文件在同一个目录下,则直接写图片名称.后缀,虽然在同一个目录下,但是文件在下一层目录,则需要先写文件名/图片名称.后缀
第二种:图片和当前用图片的html不在同一个目录下,则需要使用../先定位到上一级目录,再写文件夹/图片名称.后缀。

  • 设置图片的其他属性:

1、设置大小:width和height
web前端 - 图2
在设置的时候,建议只设置其中一个,另外一个会等比例缩放
2、设置图片的提醒信息,当鼠标悬停在图片上的时候,显示的文本内容
web前端 - 图3
3、当图片加载不了,显示文本内容
图片正在加载.....

1.3 超链接

  • 一个网站内容较多,一个网页展示不了所有的数据,需要分多个网页展示,从一个页面跳到另外一个页面,使用的标签
    1. //a标签的使用需要用地址规定跳转到哪个页面,该地址可以是相对路径和绝对路径
    2. <a href="地址">百度一下</a>
    3. //target表示设置点击完该标签后,时候会新打开一个页面标签,默认不打开,_blank表示打开
    4. <a href="图片.html" target="_blank">

二、表格

  • 在网页的页面上展示一个表格,进行对网页的布局,使用的标签,,
  • 编写一个三行三列的表格

    1. //用table标签来进行定义一个表格
    2. <table>
    3. <!-- tr表示一行-->
    4. <tr>
    5. <td>第一行第一列</td>
    6. <td>第一行第二列</td>
    7. <td>第一行第三列</td>
    8. </tr>
    9. <!-- 第二行 -->
    10. <tr>
    11. <td>第二行第一列</td>
    12. <td>第二行第二列</td>
    13. <td>第二行第三列</td>
    14. </tr>
    15. <!--第三行-->
    16. <tr>
    17. <td>第三行第一列</td>
    18. <td>第三行第二列</td>
    19. <td>第三行第三列</td>
    20. </tr>
    21. </table>
  • 编写表格的时候,需要在table标签中添加一些属性

    1. 1、显示边框:border="1"
    2. 2、将单元格与单元格之间的距离取消:cellspacing="0"
    3. 3、设置单个单元格里面内容相对边框的距离:cellpadding="0"
    4. 4、可以设置整个表格的大小,使用widthheight,设置好之后,表格的特性,自动垂直居中,
    5. 每个单元格的宽度和高度平均分配(内容长度一致)
    6. 5、将表格放置在网页的中间位置:align="center"
    7. 6、给整个表格设置背景颜色:bgcolor="aqua"
    8. 7、给整个表格设置背景图片:background="路径"
  • 编辑表格中的单行,tr标签中的属性

    1. 1、设置每一行的高度:height=""
    2. 2、设置每一行的背景颜色:bgcolor=""
    3. 3、将一行中单元格中的内容水平居中:align="center"
  • 编辑表格中单个单元格的内容,td标签中的属性

    1. 1、设置高度和宽度:widthheight,设置高度只需要设置每一行的第一列,设置宽度只需要设置每一列的第一行
    2. 2、设置单个单元格的背景颜色:bgcolor="red"
    3. 3、设置单个单元格的背景图片:background="路径"
    4. 4、设置单个单元格的内容水平居中:align="center"
  • 合并单元格

    1. 1、合并列:colspan
    2. 2、合并行:rowspan

    三、CSS内容

    css:层叠样式表,用来规定页面所有的样式属性,其中包括:高度、宽度、背景颜色、背景图片和文本所有属性等样式。

    3.1 内联方式(不推荐)

  • 概念:在要设置属性的标签中添加style标签,再在style里面编写css的属性

  • 以图片为例:
  • web前端 - 图5

    • 以表格为例:

      1. <!DOCTYPE html>
      2. <html>
      3. <head>
      4. <meta charset="utf-8">
      5. <title>css1</title>
      6. </head>
      7. <body>
      8. <table style="border: 1px red solid;width: 500px;height: 300px;">
      9. <tr style="color:red;font-size: 23px;text-align: center;">
      10. <td style="border: 1px red solid;">1</td>
      11. <td style="border: 1px red solid;">2</td>
      12. <td style="border: 1px red solid;">3</td>
      13. </tr>
      14. <tr>
      15. <td style="border: 1px red solid;">4</td>
      16. <td style="border: 1px red solid;">5</td>
      17. <td style="border: 1px red solid;">6</td>
      18. </tr>
      19. <tr>
      20. <td style="border: 1px red solid;">7</td>
      21. <td style="border: 1px red solid;">8</td>
      22. <td style="border: 1px red solid;">9</td>
      23. </tr>
      24. </table>
      25. </body>
      26. </html>

      3.2 内部方式(常用方式)

      使用内部方式必须先学会选择器,现在就使用5中简单的选择器,在head标签之间,新增一个style标签,所有的选择器都写在style标签之间。

    • id选择器

    在style标签中用#表示;比如:
    #id选择器名称{
    css样式;
    }
    调用id选择器,在标签中用id=”id选择器名称”;

    • 注意:id选择器在标签中只能被使用一次。
      • class选择器

    在style标签中用小数点表示,比如:
    .class选择器名称{
    css属性;
    }
    调用css选择器,在标签中用class = “class选择器名称”;

    • 标签选择器

    在style标签中,使用标签名称作为选择器名称,比如:
    td{
    css样式;
    }
    不需要调用,在body中所有的对应标签都会被使用上。

    • 组合选择器

    多个选择器共同作用对标签进行渲染,简单理解:前面的选择器都是选定范围,最后一个选择器才是进行标签的渲染。
    选择器1 选择器2{
    css样式;
    }

    • 伪类选择器

    要有一些动作效果,比如:鼠标悬停,也可以和组合选择器一起使用。

    1. td:hover{
    2. background-color: #00FFFF;
    3. }

    3.3 外部引用(工作用)

    • 将style标签中的所有内容放到一个css文件中,再在html文件中引入即可。
      1. <link href="../css/table.css" rel="stylesheet"/>

      3.4 总结所有的css属性

      ``` 1、border:边框 2、width:宽度 3、height:高度 4、background-color:背景颜色 5、background-image:背景图片

    设置字体的css 1、color:字体颜色 2、font-family:字体的样式,和face作用一致 3、font-size:字体的大小 4、font-weight:字体加粗 5、text-align:文本水平居中 6、line-height:;文本垂直居中

    设置位置: 1、margin:设置外边距 margin-left:左外边距 margin-right:右外边距 margin-top:上外边距 margin-bottom:下外边距 2、padding:内边距 padding-left:左内边距 padding-right:右内边距 padding-top:上内边距 padding-bottom:下内边距

    其他属性 1、float:left;设置div的浮动 2、box-sizing:border-box,设置内边距的使用自适应 3、border-radius:设置圆角,如果长度为正方形的一半,则会是一个圆 4、position:fixed, 显示界面的绝对定位,不会随着网页的下滑改变 5、position:absolute:在网页的绝对定位 4和5都要配合使用left和top,其他的right和buttom也可以使用,频率较低 6、opacity:设置透明度

    1. <a name="Do4lB"></a>
    2. # 四、DIV盒模型
    3. <a name="w9sjc"></a>
    4. # 五、表单
    5. - 表单主要使用用来从前端将数据提交到后端的标签,用户填写的数据提交到后端。
    6. ```html
    7. <!-- 定义一个表单 -->
    8. <form action = "后端服务器的请求路径" method="请求的方式">
    9. 电话号码:<input type = "text" placeholder="请输入电话号码...." maxlength="11"/><br/>
    10. 密码:<input type = "password" placeholder="请输入密码...."/><br/>
    11. 性别:
    12. <input type = "radio" name = "gender"/>
    13. <input type = "radio" name = "gender"/>
    14. <br />
    15. 兴趣爱好:
    16. <input type = "checkbox" />爬山
    17. <input type = "checkbox" />照相
    18. <input type = "checkbox" />游泳
    19. <br/>
    20. 城市:
    21. <select>
    22. <option>重庆</option>
    23. <option>上海</option>
    24. <option selected="selected">广州</option>
    25. <option>背景</option>
    26. </select>
    27. 个人简介:<br />
    28. <textarea rows="20" cols="80"></textarea><br />
    29. <input type="submit" value = "提交"/>
    30. <input type = "button" value = "提交2" />
    31. <button>提交3</button>
    32. <input type = "reset" value = "重置" />
    33. </form>
    34. <!-- 无序列标签-->
    35. <ul>
    36. <li>1</li>
    37. <li>2</li>
    38. <li>3</li>
    39. </ul>
    40. <!-- 有序列标签 -->
    41. <ol>
    42. <li>1</li>
    43. <li>2</li>
    44. <li>3</li>
    45. </ol>

    六、JavaScript基础

    • 前端的脚本文件,不需要编译,编写好的js文件用html文件引入,再用浏览器打开即可运行。
    • JavaScript组成:

    1、ECMAScript:js的基础部分,其中包括:数据类型、变量、数组、函数、分支、循环
    2、BOM:浏览器对象模型,往往取决于浏览器的支持。
    3、DOM:文档对象模型(重点)

    6.0 js里面的输出

    • js的输出

    方式1:以弹出框的方式进行输出,优先级最高
    alert(“输出的内容”);
    方式2:在页面的部分进行输出
    document.write(“输出的内容”);
    方式3:在控制台输出(F12),主要运用在编程里面的测试数据
    console.log(“输出的内容”);

    • js的输入

    prompt(“js的输入”),输入的任何数据,都会被当成字符串输入。

    6.1 js数据类型

    1、number:数字数据类型,包含:小数和整数
    2、string:字符串数据类型
    3、boolean:布尔型
    4、Object:对象数据类型
    5、Array:数组数据类型
    *6、function:函数数据类型
    7、NaN:not a number,不是一个数字
    8、undefined:未定义的数据类型,经常在错误提示里面(a not defined)
    9、null:空数据

    6.2 js的变量

    1、定义变量第一种:定义变量并赋值
    var 变量名 = 值;
    2、定义变量第二种:先定义变量,后给变量赋值
    var 变量名;
    变量名 = 值;
    3、定义变量第三种:直接给值
    变量 = 值;
    4、在js中可以定义局部变量,用let
    let 变量名 = 值;

    • 根据变量的值判断变量的数据类型,需要使用关键方法typeof

      1. var num1 = 12;
      2. document.write(typeof num1);
      3. document.write("<br />");
      4. var num2 = 1.2;
      5. document.write(typeof num2);
      6. document.write("<br />");

      6.3 分支语句

    • if分支语句

      1. if(判断语句1){
      2. 判断语句1true的时候执行的语句
      3. }else if(判断语句2){
      4. 判断语句2true的时候执行的语句
      5. }else{
      6. 其他判断语句都为false的时候执行的语句
      7. }
    • switch分支

      1. var 定义一个变量
      2. switch(变量){
      3. case 1
      4. 变量等于值1的时候执行语句;
      5. break;
      6. case 2
      7. 变量等于值2的时候执行语句;
      8. break;
      9. default:
      10. 当变量和前面所有的值都不相等的时候执行的语句;
      11. }

      6.4 循环语句

    • for循环

      1. for(var 变量= 值;判断语句;改变变量){
      2. 循环执行的代码;
      3. }
    • while循环

      1. var 定义变量
      2. while(判断语句){
      3. 循环执行的代码;
      4. }
    • do…while循环

      1. var 定义变量
      2. do{
      3. 循环执行的代码;
      4. }while(判断语句)
    • while和do…while的区别:while先判断条件是否满足,再执行循环的代码;do…while先执行代码,再判断条件是否满足。

    • 跳出循环:

    1、continue:结束本次循环,继续下一次循环
    2、break:结束所有的循环,跳出循环体。

    补充 运算符

    • 赋值运算符

    =,+=,-=,*=,/=,%=

    • 算术运算符

    +,-,*,/,%,++,—

    • 比较运算符

      1. >,<,>=,<=,==,===,!=
      2. ===:绝对等于,必须值相同,数据类型也要相同才为true
    • 逻辑运算符

    与运算:&&
    或运算:||
    非运算:!

    • 三元运算符

    ?
    var 变量 = 比较运算?值1:值2;

    6.5 数组

    • 数组相当于一个容器,用来存储一组数据(可以是变量,直接是值)。不限制长度、不限制数据类型。
    • 定义数组的方式:

      1. //最简单的一种
      2. var arr = [1,2,3,4,"a","B","c",new object()];
      3. //定义空数组
      4. var num = new Array();
      5. //定义空数组第二种方式:
      6. var str = [];
    • 遍历数组

      1. //方式1:
      2. for(var i = 0;i < arr.length;i++){
      3. document.write(arr[i]+"<br />");
      4. }
      5. //方式2:i的值仍然是下标
      6. for(var i in arr){
      7. document.write(arr[i]+",");
      8. }
      9. //方式3:如果只是想要查看,可以直接输出数组,只想看到数组中的元素值,建议使用这种
      10. document.write(arr);

      6.6 函数

    • 概念:将相同功能的代码进行封装,要使用的时候再进行调用,提高代码的复用性,函数和java一致也可以实现方法的重载。

    • 语法:

      1. //函数的语法:
      2. function 函数名称(参数){
      3. 实现函数的方法;
      4. return 变量或者值;
      5. }
    • 关键字:arguments

      1. <script>
      2. /*定义一个函数,实现任意个数数值的和*/
      3. function add(a,b){
      4. var res = 0;
      5. var len = arguments.length;
      6. for(var i = 0;i < len;i++){
      7. var num = arguments[i];
      8. res = res + num;
      9. }
      10. return res;
      11. }
      12. var res = add(1,2,3,4,5);
      13. document.write("res = "+res);
      14. </script>
    • 字面量函数

    在js里面,function实际上可以当成一个数据类型,可以将函数赋值给一个变量,使用变量表示使用函数。

    1. //普通定义函数
    2. function 函数名(){
    3. }
    4. //调用方式:
    5. 函数名();
    6. //匿名函数:不能调用,要么将匿名函数给字面量,要么将匿名函数写成回调函数
    7. function(){
    8. }
    9. //字面量:
    10. var fun = function(){
    11. }
    12. //调用函数。使用该变量,使用的是字面量,本质上该变量是函数数据类型,要调用的时候,需要给变量加
    13. 小括号
    14. fun();

    js里面的对象

    • 方式1:字面量创建对象 ``` //字面量创建对象:每一个对象都需要单独给定属性的数值; var person = { name:”张三”, age:18, doIt:function(){
      1. console.log("我要学java");
      } }

    //调用属性和方法: conosole.log(person.name); person.doIt();

    1. - 第二种方式:使用父类创建的方式
    2. ```javascript
    3. //该方式不能根据需求批量进行创建对象
    4. var obj = new Object();
    5. obj.name = "李四";
    6. obj.gender = "男";
    7. obj.doIt = function(){
    8. console.log("js的语法比较简单");
    9. }
    10. //调用方式:
    11. console.log(obj.name);
    12. obj.doIt();
    • 使用函数编程的方式创建对象

      1. function createPerson(name,age){
      2. var obj = new Object();
      3. obj.name = name;
      4. obj.age = age;
      5. obj.doIt= function(){
      6. console.log(obj.name+",学习java");
      7. }
      8. return obj;
      9. }
      10. //获取对象
      11. var p1 = createPerson("李雷",30);
      12. console.log(p1.name);
      13. p1.doIt();
    • 使用构造方法的形式创建对象 ```javascript function person(name,age){ this.name = name; this.age = age; this.doIt=function(){

      1. console.log(name+",学习it");

      } }

    //创建对象并调用属性和方法 var p1 = new person(“李四”,19); console.log(p1.name); p1.doIt();

    1. <a name="UPZRg"></a>
    2. # 七、BOM对象
    3. - 浏览器对象模型,取决于浏览器是否支持。

    //BOM对象都是用window进行调用的方法 1、window.alert(“输出内容”); 2、window.prompt(“请输入内容:”);

    //通过BOM获取浏览器窗口的实际大小,宽度和高度 var height = window.innerHeight; var width = window.innerWidth;

    //实际上document对象是由window对象调用 window.document.write(“输出内容”);

    //获取屏幕的高度和宽度 var width = screen.width; var height = screen.height;

    //获取可用高度和宽度:去掉菜单栏和标签栏 var width = screen.availWidth; var height = screen.availHeight;

    //location相关属性 var url = location.href;获取当前的页面请求路径 var hostname = location.hostname;获取当前页面的主机名或者主机地址 var protocol = location.protocol;获取当前页面的协议,一般分为:http或者https var port = location.port;获取当前页面请求的端口

    //history: history.back();实现网页的后退 history.forward() ;实现网页的前进

    1. <a name="iQWhL"></a>
    2. # 八、DOM对象
    3. - DOM:document object model 文档对象模型,主要用于操作body中的标签内容。对标签的增加、删除、修改、查找。
    4. <a name="EMavm"></a>
    5. ## 8.1 对元素进行操作
    6. - 可以使用document对象对标签进行操作,其中:增加表示使用js代码在body中动态的生成标签,删除表示用js动态的将一些标签删除,查找表示可以使用js将body中的标签获取到,修改表示用js对该标签进行css的修改。
    7. - 新增元素
    8. ```javascript
    9. //使用js代码对body中进行新增标签。
    10. document.write("<div style = 'border:1px red solid;width: 100px;height: 100px; border-radius: 50%;'></div>");
    11. //使用document提供的方法进行在body中创建标签
    12. var oDiv = document.createElement("div");
    13. //对该div进行css的设置
    14. oDiv.style.width = "100px";
    15. oDiv.style.height = "100px";
    16. oDiv.style.float = "left";
    17. oDiv.style.border = "1px red solid";
    18. //将创建好的div进行挂载
    19. document.body.appendChild(oDiv);
    • 获取元素 ```javascript //根据id获取元素,只能唯一的获取一个id标识的标签,document.getElementById(“id名称”) var oDiv = document.getElementById(“one”);

    //根据class获取元素,可以获取多个标签,获取的变量为伪数组,document.getElementsByClassName(“class名称”) var oDiv = document.getElementsByClassName(“list”);

    //根据标签名称获取元素,可以获取多个,document.getElementsByTagName(“标签名称”); var oDiv = document.getElementsByTagName(“div”);

    //获取单个: var oDiv = document.querySelector(“#one div”); //获取多个 var oDiv = document.querySelectorAll(“.list”);

    1. - 修改元素:前提要先使用获取。
    2. ```javascript
    3. var oDiv = document.querySelector("#one div");
    4. oDiv.style.border = "3px red solid";
    5. //第二种方式
    6. var oDiv = document.getElementById("one");
    7. oDiv.style.border = "3px blue solid";
    8. //修改css属性的方式1
    9. var oDiv = document.getElementsByClassName("list");
    10. for(var i = 0;i < oDiv.length;i++){
    11. oDiv[i].style.border = "3px black solid";
    12. }
    13. //方式2:
    14. var oDiv = document.querySelectorAll(".list");
    15. for(var i = 0;i < oDiv.length;i++){
    16. oDiv[i].style.border = "3px aqua solid";
    17. }
    • 删除元素:需要先获取 ```javascript //根据id删除 var oDiv = document.getElementById(“one-1”); oDiv.remove();

    //第二种方式: var oDiv = document.querySelector(“#one”); oDiv.remove();

    //根据class标签删除 var oDiv = document.getElementsByClassName(“list”); var len = oDiv.length; for(var i = 0;i < len;i++){ oDiv[0].remove(); }

    //第二种方式: var oDiv = document.querySelectorAll(“div”); for(var i = 0;i < oDiv.length;i++){ oDiv[i].remove(); }

    1. <a name="icL8a"></a>
    2. ## 8.2 事件操作
    3. - 概念:当触发了有些特定事件的时候,才调用js的函数代码。
    4. - 鼠标事件:需要在鼠标要操作的标签上加上鼠标事件

    1、onclick:鼠标单击事件 2、ondblclick:鼠标双击事件 3、onmouseover:当鼠标移入时执行,只执行一次 4、onmousemove:鼠标在该标签上移动则执行,会多次执行 5、onmouseout:鼠标移除时执行的代码

    1. - 键盘事件:可以监听键盘的按键,并且可以根据值判断是哪个键盘按下,和标签无关
    2. ```javascript
    3. 1、onkeydown:键盘被按下
    4. 2、onkeyup:键盘松开
    5. 3、获取键盘的编码:event.keyCode
    • 表单事件
      1. 1onblur:失去焦点
      2. 2onfocus:获取焦点
      3. 3onchange:内容被修改事件

      8.3 定时器

      1. 1setTimeout():当浏览器打开之后,延迟一定时间才执行。执行一次
      2. 2setInterval();每间隔一定时间执行一次,会反复执行。