web - html

Hbuilder

Hbuilder 是国人开发的一款专门用于编写前端页面的软件。

下载:https://www.dcloud.io

安装:解压缩,双击 Hbuilder.exe

注册和登录:建议去注册一个,不然每次都是以游客身份登录的

项目的创建:rt

  1. 文件 -> 新建 -> web项目
  2. 给项目起名字,选择项目的存储位置

项目的结构:

  1. css:用于存放 css 文件的目录

  2. img:用于存方法图片的目录

  3. js:用于存放 js 文件的目录

  4. index.html:默认的索引页面

    <!-- DOCTYPE html 是 H5 的规范 -->
    <!DOCTYPE html>
    <!-- html 标签是整个 html 页面的根标签 -->
    <html>
        <!-- head 标签叫头部标签 -->
    	<head>
            <!-- meta 标签用于对页面进行配置 -->
    		<meta charset="utf-8" />
            <!-- title 标签用于设置标签页上的文字 -->
    		<title></title>
    	</head>
        <!-- body 标签叫主体标签 -->
    	<body>
    	</body>
    </html>
    

快捷键:

  1. 自动补全:标签名后按 tab
  2. 生成多个标签:签名后,加上个数,按 tab,可以通过 > 来指定子标签
  3. 生成测试文字:lorem后加上个数,按 tab

一,html

1.1 概述

全称:hypertext markup language,超文本标记语言

  1. 超文本:除了纯文本之外,还可以放入其他组件,例如:超链接、图片、表格、表单等

  2. 标记:html 中组件(元素)都是以标记(标签)的形式出现的

    例如:<a><img>
    
1.2 作用

用于绘制页面

1.3 特点
  1. html 是以标签组成的
  2. html 文件的后缀是 .html 或者 .htm
  3. html 由浏览器解释运行
    1. 任何一个浏览器都有解析 html 的引擎
    2. 解释运行
  4. html 中的标签都是预定义的
1.4 标签

分类:

  1. 单标签:只有开始标签
例如:<img><br><hr><input>
  1. 双标签:由开始标签和结束标签组成
例如:<a></a><p></p><div></div><ul></ul><ol></ol><li></li>

注:

无论是单标签还是双标签,标签的属性都必须写在开始标签中

格式:属性名 = " 属性值 "

例如:
1.设置颜色
color=“red”
2.设置点击事件
οnclick="xxx"
1.5 html 页面的组成
  1. 头部:head,用于对当前页面进行配置,例如:字符集、刷新等
  2. 主体:body,用于承载页面上要显示的内容
1.6 注释
<!-- 注释内容 -->
1.7 常用标签
1.7.1 标题标签

标题标签:h,h1~h6

特点:

  1. 标题标签属性块级标签:独占一整行,上下自动换行
  2. 自动加粗
  3. h1~h6,逐渐减小
1.7.2 字体标签

字体标签:font

特点:

  1. 字体标签属性行内标签:可以与其他行内标签共存于同一行
  2. 在没有对其进行样式设置时,字体标签和普通文本一样

属性:

  1. size:设置文本的字号,数值范围是 1 ~ 7,1 最小 ,7 最大,默认是 3
  2. color:设置文字的颜色
    1. 使用颜色的英文单词
    2. 使用 rgb,格式:#rrggbb
    3. 使用 css 样式,格式:style = " background : 颜色 ; color : 颜色 ; "
      1. 使用 style 进行颜色设置时,可以使用 rgb()、rgba(),a 表示透明度,范围是 0 ~ 1,0 表示 全透明
1.7.3 图片标签

图片标签:img

属性:

  1. src:设置图片资源的路径

    1. 本地图片:将图片资源复制到 img 目录下
    2. 网络图片:将图片的网址作为 src 的属性值
  2. width:宽度

  3. height:高度

    注:只设置宽(高),图片会等比缩放

  4. title:鼠标悬停在图片上的提示性文字

  5. alt:本地图片无法加载时的提示性文字

1.7.4 超链接

超链接:a

属性:

  1. href:用于指定跳转的目标地址
  2. target:用于明确跳转到的新页面的打开方式,取值:_blank 在新窗口中打开,_self 在当前标签页中打开

跳转:

  1. 页面间的跳转
<a href="目标地址">内容</a>

注:跳转到外部资源时需要加上 http://

  1. 页面内的跳转
    1. 在目标位置上添加 id 属性,明确目标所在标签的唯一标识
    2. 在起始位置的 href 中通过 #id 值 跳转

注:返回顶部

<a href="#">回到顶部</a>
1.7.5 列表标签

列表标签:ol 有序列表、ul 无序列表

列表项:li

属性:

  1. start:在有序列表中,用于明确列表的序号从几开始
  2. type:在无序列表中,取值有 disc 实心圆(默认)、square 方形、circle 空心圆;在有序列表中,取值有 1、A、a、i、I

列表嵌套:将一个列表作为另一个列表的列表项中的内容

1.7.6 表格标签

表格标签:table

表格行:tr

单元格:td

属性:

  1. border:设置表格边框的粗细
  2. width:宽度
  3. height:高度
  4. cellspacing:单元格的间距
  5. cellpadding:单元格的内边距,单元格中的内容与单元格之间的距离
  6. align:水平方向,取值:center、left、right
  7. valign:垂直方向,取值:center、top、bottom

不规则表格:rowspan 跨行,colspan 跨列

1.7.7 标签的补充
  1. br:换行
  2. hr:水平线
  3. p:段落,块级元素
  4. b:粗体
  5. i:斜体
  6. strong:粗体
  7. sub:下标
  8. sup:上标
  9. pre:根据 html 的书写原样输出

span:没有默认样式效果功能的一种行内元素

div:没有默认样式效果功能的一种块级元素,根据 div + css 的设计标准,可以使用它进行页面布局的设置

1.8 表单标签

概念:用于获取用户信息,提交到服务器

表单标签:form

属性:

  1. action:明确提交到服务器的地址
  2. method:提交方式,
    1. GET:提交的数据会拼接在地址栏上,默认提交方式
    2. POST:提交的数据不会拼接在地址栏上,会进行封装

输入域标签:input

属性:type 取值如下:

  1. text:普通的文本输入框,它是默认值,框中接收数据的类型是字符串
  2. password:密码框,框中接收数据的类型是字符串
  3. radio:单选框,互斥性
  4. checkbox:复选框
  5. button:普通按钮
  6. submit:提交按钮
  7. reset:重置按钮
1.8.1 文本框和密码框

属性:

  1. placeholder:提示性内容
  2. maxlength:最大的字符数
  3. value:框中的内容,同时也是提交服务器上的值
  4. name:用于定义当前 input 提交到服务器时,服务器获取数据所需要的键,它会和接收到的数据形成键值对,以 “ 键1=值1&键2=值2… ” 的方式提交到服务器。
1.8.2 单选框和复选框

属性:

  1. name:用于定义当前 input 提交到服务器时,服务器获取数据所需要的键,它会和接收到的数据形成键值对,以 “ 键1=值1&键2=值2… ” 的方式提交到服务器;在多个单选框中使用同一个 name 值还可以将他们归纳同一个组中,从而形成互斥性。
  2. value:提交服务器上的值
  3. checked:默认选中的状态
    1. checked=“checked”
    2. checked=""
    3. checked

注:可以使用 label 标签将单(复)选框与文字进行关联,达到点击文字就相当于点击了元素的效果

<input type="radio" name="gender" value="2" id="female"/><label for="female"></label>

label 标签中的 for 属性的值,要与关联元素的 id 相同

1.8.3 按钮

提交按钮 submit:用于将用户的信息,提交到服务器

属性:

  1. value:用于设置按钮上的文字,由于不同浏览器的解析能力不同,解析方式不同,呈现出现文字可能不同,因此建议所有是提交按钮都手动设置 value 来统一。

注:在html5中,button 标签如果出现在表单,它就相当于是一个提交按钮,如果不在表单中,它就是一个普通按钮

重置按钮 reset:用于重置当前表单恢复到默认状态

属性:

  1. value:用于设置按钮上的文字

普通按钮 button:

属性:

  1. value:用于设置按钮上的文字

事件:

  1. onclick:单击
  2. ondblclick:双击
  3. onmouseover:鼠标悬停
  4. onmouseleave:鼠标移开

二,css

2.1 概述

全称是 Cascading Style Sheets,也叫层叠样式表、级联样式表

文件名以 .css 结尾

2.2 作用

用于对页面进行样式的设置,美化页面

由于不同标签具有不同的样式属性,要记忆哪个标签有哪些属性非常麻烦。所以 css 的出现统一了所有标签所有样式的设置方法(规则、语法)

2.3 语法

内联样式:将样式以属性的形式写在开始标签中,只能影响当前标签

格式:

style="样式名1:样式值1;样式名2:样式值2;..."

内部样式表:可以影响到当前页面中所有指定的标签

写法:

  1. 在 head 标签中,定义 style 标签
  2. 在 style 标签体中,通过选择器找到标签,对其进行样式的设置
<style type="text/css">
    li{
        background: red;
        color: blue;
    }
</style>

外部样式表:可以影响到所有引入了该样式文件的页面

写法:

  1. 创建 css 文件,在文件中定义样式,样式的方式同内部样式表
  2. 在需要引入该 css 文件的 head 标签中使用 link 标签中的 href 属性来指定 css 文件的路径
<link rel="stylesheet" type="text/css" href="css/test.css"/>

注释:/* 注释内容 */

2.4 选择器

概念:在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。

2.4.1 元素选择器

根据元素名选择元素

格式:

元素名{
    样式
}
2.4.2 id选择器

根据唯一标识 id 属性选择元素

格式:

#id值{
    样式
}
2.4.3 类选择器

根据 class 属性选择元素

格式:

.class值{
    样式
}
2.4.4 通配符选择器

选择页面中的所有元素

格式:

*{
    样式
}
2.4.5 子代、后代选择器

子代选择器:定位到指定的子代元素

格式:

选择器1 > 选择器2{
    样式
}

后代选择器:定位到指定的后代元素(包括子代)

格式:

选择器1 选择器2{
    样式
}
2.4.6 属性选择器

选择具有指定属性或者具有指定属性和属性值的元素
格式:

  1. 选择器[属性名]{
        样式
    }
    
  2. 选择器[属性名="属性值"]{
        样式
    }
    
  3. 选择器[属性名="属性值"][][]...{
        样式
    }
    

注:属性选择器只会找那些写出了指定属性的元素,而不是具有指定属性的元素

2.4.7 nth-of-type
li:nth-of-type(-3n + 9){
    background: red;
}

  1. 该样式只认 n 字母
  2. 前面的 xn 表示每隔 x - 1 个元素如果 xn 前是负数,表示从后往前
  3. 后面的整数值表示从第几个元素开始,可以是负数
  4. 每隔多少个元素,必须写在从第几个元素开始之前
2.4.8 优先级

内联样式 > 内部样式表

内联样式 > 外部样式表

内部样式表和外部样式表,谁后写,听谁的

同为内部样式表或者外部样式表,哪个选择器的范围更精准,听谁的

2.4.9 伪类选择器

格式:

选择器:伪类选择器{
    样式
}

伪类选择器:link、hover、active、visited

a:link{
    text-decoration: none;
}
a:hover{
    color: pink;
}
a:active{
    color: greenyellow;
}
a:visited{
    color: orange;
}
2.5 盒子模型

​ 概念:研究的是盒子中的内容与盒子的间距,盒子与盒子之间的距离,以及边框

2.5.1 边框

格式:

border: 粗细 颜色 样式

注:

  1. 粗细:线框的厚度(高度)
  2. 颜色:色值,rgb()、颜色单词、#xxxxxx
  3. 样式:solid 实线、double 双划线、dashed 虚线、dotted 点划线
  4. 粗细、颜色、样式的顺序是任意的
  5. 边框可以进行单边设置
border-bottom-color: red;
border-top-width: 4px;
border-left-style: solid;

圆角边框:

格式:

border-radius:n px;

注:

  1. 圆角边框的本质是用一个指定半径的圆去内切四个角
  2. 圆角可以单角设置
border-bottom-left-radius: 30px;
border-top-right-radius: 200px;
2.5.2 内边距

概念:盒子中的内容到边框的距离,padding

使用方式:

  1. padding:n px;四个方向
  2. padding-left/right/top/bottom:n px;指定某一方向
  3. padding:a px b px;上下内边距为 apx,左右内边距为 bpx
  4. padding:a px b px c px d px;上右下左内边距分别为 apx bpx cpx dpx

注:设置内边距会影响整个盒子的大小

2.5.3 外边距

概念:盒子与盒子之间的距离

使用方式:

  1. margin:n px;四个方向
  2. margin-left/right/top/bottom:n px;指定某一方向
  3. margin:a px b px;上下外边距为 apx,左右外边距为 bpx
  4. margin:a px b px c px d px;上右下左外边距分别为 apx bpx cpx dpx

注:上下外边距会取较大者,左右外边距是两个外边距之和

2.6 定位

概念:确定标签的位置

属性:position

取值:

  1. relative:相对定位,相对于四周的其他标签进行位置的移动
  2. absolute:绝对定位,相对于 body 进行位置的移动,如果元素本身是块级元素,会在绝对定位后变成行内元素;绝对定位后的元素会脱离原始的文档流
  3. static:默认定位
  4. fixed:固定定位:相对于 body 进行位置的移动,位置不会随着页面位置的变化而变化

注:position 只是确定了定位的方式,具有位置需要结合 left、right、top、bottom

2.7 浮动

使用 float 让元素漂浮起来,脱离原始的文档流

float:left / right

清除浮动:在浮动元素的前或者后加上 div 对该 div 设置样式:clear : both

2.8 显示和隐藏

隐藏:

  1. visibility : hidden,仍然占据位置
  2. display : none,不占据位置

对应的显示:

  1. visibility : visible
  2. display : inline(行内) / block(块级)

三,js

3.1 概述

全称:JavaScript

1995年,由网景和SUN公司开发的

它是基于对象和事件驱动的脚本语言

基于对象:js 中提供了很多对象,可以直接调用

事件驱动:js 中提供了很多动态效果的实现

3.2 作用

提高了用户的体验,提供了交互的效果

3.3 特点

交互性:实现了动态交互的效果

安全性:不能直接访问磁盘

跨平台性:任何浏览器都有解析 js 的引擎

js 是弱类型的语言:变量的类型由值决定

3.4 js 与 html 的结合
  1. 内嵌式

    在 head 标签中,使用 script 标签,在 script 中编写 js 代码

  2. 外联式

    创建 js 文件,在 js 文件中编写 js 代码,在 head 标签中使用 script 标签的 src 属性引入该 js 文件

注:

  1. 两种方式可以同时使用,先写的先执行;如果是在调用同名方法,那么只执行后写的方法
  2. 两种方式不要混用
3.5 注释
  1. 单行注释:// 注释内容
  2. 多行注释:/* 注释内容 */
3.6 js 语法
3.6.1 变量

变量的定义:

使用关键字 var

  1. 定义时赋值
var name = "zs";
var age = 20;
  1. 先定义后赋值
var height;
height = 180;

注:

  1. 关键字 var
  2. 变量的类型由值决定
  3. 在函数中定义变量时,如果省略了 var ,那么这个变量就是一个全局变量

变量的命名规则:

  1. 可以由数字、字母、下划线、美元符组成
  2. 数字不能开头
  3. 不能与关键字重名
  4. 区分大小写

变量的命名规范:

  1. 使用驼峰命名
  2. 见名知意
3.6.2 数据类型

一般的数据类型:

  1. Boolean:布尔类型,只有 true 和 false
  2. Number:数值类型,表示所有整数和小数
  3. String:字符串类型,用一对单引号或者双引号括起来
  4. Object:对象
  5. Array:数组
  6. RegExp:正则表达式
  7. Function:方法

特殊的数据类型:

  1. Null:只有一个值 null,当定义了一个变量后,这个变量没有任何的指向,那么它就是 null
  2. Undefined:只有一个值 undefined,当定义了一个变量后,没有赋值,那么它就是 undefined
  3. NaN:not a number,不是一个数字
3.6.3 运算符
  1. 算术运算符

    1. /
    2. %
    3. ++
  2. 逻辑运算符

    1. &&
    2. ||
    3. !
    4. ^
  3. 关系运算符

    1. " > "
    2. <
    3. " >= "
    4. <=
    5. !=
    6. ==:判断数值是否相等
    7. ===:判断数值和类型是否都相等
  4. 赋值运算符

    1. +=
    2. -=
    3. *=
    4. /=
    5. %=
    6. =
  5. 三元运算符

    格式:

    条件表达式?表达式1:表达式2;
    
  6. typeof 运算符

    用法:

    typeof(参数)
    

    用于检测变量的数据类型

    字符串类型返回 string

    数值类型返回 number

    布尔类型返回 boolean

    方法返回 function

    其他类型返回 object

3.6.4 流程控制

选择结构:

  1. if(条件表达式){
    }
    
  2. if(条件表达式){
    }else{ 
    }
    
  3. if(条件表达式1){
     }else if(条件表达式2){      
    }...
    else{
    }
    

分支结构:

switch(表达式){
    case1:
        break;
    case2:
        break;
    case3:
        break;
    ...
    default:
    	break;
}

循环结构:

  1. while(条件表达式){
    }
    
  2. do{  
    }while(条件表达式);
    
  3.  for(初始化;条件表达式;步进表达式){
    }
    
3.6.5 函数

被设计用来指定特定功能的代码块

函数的定义

function 函数名(参数列表){
    方法体
}
  1. function:函数必须通过 function 关键字来定义
  2. 返回值:js 中的方法没有返回类型,但是可以通过 return 来返回结果
  3. 参数列表:与 java 一样,定义时叫形参,调用时叫实参。区别是 js 函数中的形参不能写 var

函数的参数:

  1. 参数的使用方式与 java 一致
  2. 形式参数不能写 var
  3. 当出现同名方法时,后定义的方法会覆盖先定义的方法
  4. 调用函数时,实参可以用 this,哪个标签触发了事件,this 就表示哪个标签的对象
3.6.6 匿名函数

匿名函数就是在定义函数时,没有指定函数的名字

格式:

function (参数列表){
    方法体
}

匿名函数的调用方式:

  1. 用一个变量来接收匿名函数,本质上这个变量名就匿名函数的函数名

    var f = function(a, b){
        alert(a + b);
    }
    f(3, 4);
    
  2. 使用事件调用

    window.onload = function(){
        var btnObj .document.getElementById("btn");
        btnObj.onclick = function(){
            alert();
        }
    }
    
3.6.7 数组

js 中同一个数组中的元素类型可以是任意的

  1. 数组的创建

    // 1.
    var arr = new Array(元素1,元素2,元素3,元素4,...);
                        
    // 2.
    var arr = new Array(数组的长度);
    // var arr = new Array(3);表示创建了一个长度为3,但是没有任何元素值的数组
    
    // 3.
    var arr = [元素1,元素2,元素3,元素4,...];
    
  2. 数组的增删改查

    1. 增:
      1. push(元素1,元素2,…):向数组的末尾添加一个或多个元素
      2. splice(下标,0,元素):向指定位置插入元素
      3. unshift(元素1,元素2,…):向数组的开头添加一个或多个元素
    2. 删:
      1. splice(下标,删除的数量):从指定位置开始,删除指定数量个元素
      1. splice(下标,替换的数量,新值),将新值替换从指定位置开始指定数量个元素
    3. 查:
      1. length:返回数组的长度
      2. 数组名[下标]:返回指定位置上的元素
3.6.8 正则表达式

概念:定义字符串规则

创建:

  1. var reg = new RegExp(“正则表达式”);
  2. var reg = / 正则表达式 /;

方法:

  1. 正则对象 . test( 要匹配的字符串 )

注:

  1. 只要字符串中包含了匹配正则表达式规则的字符串就会返回 true
  2. ^:开始 $:结束
3.6.9 全局(系统)函数

概念:全局函数是每一个 js 中本身就带有函数,无需创建对象,直接调用即可。

  1. parseInt():将数值形式的字符串转换成整数
  2. parseFloat():将数值形式的字符串转换成小数
  3. isNaN():判断参数是否不是一个数值或者数值形式的字符串
  4. eval():计算算术表达式形式的字符串
  5. encodeURI():编码
  6. decodeURI():解码
3.7 事件监听

某个元素被执行了某些操作后,触发了某些功能的执行

3.7.1 点击事件

onclick:单机事件

ondblclick:双击事件

3.7.2 鼠标事件

onmouseover:鼠标移到元素上

onmousemove:鼠标在元素上移动

onmouseleave:鼠标从元素上移开

3.7.3 键盘事件

onkeydown:键盘按下

onkeyup:键盘松开

3.7.4 加载事件

onload:页面加载完毕后自动执行,onload 由 window 调用,window 可以省略

3.7.5 焦点事件

onfocus:获取焦点

onblur:失去焦点

3.7.6 表单事件

onsubmit:由提交按钮触发,事件写在 form 表单中

3.8 DOM

概念:Document Object Model 文档对象模型,研究的是文档中的元素节点

获取 document 对象:

  1. 直接使用:document
  2. 使用window对象调用:window.document

方法:

  1. 获取
    1. getElementById():通过 id 属性值获取唯一的指定对象
    2. getElementsByClassName():通过元素的 class 属性值返回一个对象数组
    3. getElementsByTagName():通过元素的标签名返回一个对象数组
    4. getElementsByName():通过元素的 name 属性值返回一个对象数组
  2. 创建:
    1. createElement(标签名)
    2. createTextNode(文本)
  3. 添加:
    1. appendChild(元素对象)
    2. insertBefore(新元素对象,指定元素对象)
  4. 删除:
    1. removeChild(元素对象)
    2. remove()
3.9 BOM

概述:Browser Object Model,浏览器对象模型,研究的是浏览器相关对象

  1. window:窗口对象

    1. 获取方式

      window 对象的功能直接调用即可,window 可以省略

    2. 方法:

      1. alter():显示带有一段文本内容和确认按钮的警告框

      2. confirm():显示带有一段文本内容,一个确认按钮和一个取消按钮的确认框;点击确认返回 true ,点击取消返回 false

      3. prompt():显示带有一段文本内容,一个文本输入框,一个确认按钮和一个取消按钮的对话框;点击确认返回输入框中的内容,点击取消返回 null

      4. setTimeout():在指定的时间到达时执行一次函数

      5. setInterval():每隔一段时间执行一次函数

        注:参数1:函数,参数2:时间(毫秒值)

      6. clearTimeout(参数):删除指定的定时器

      7. clearInterval(参数):删除指定的定时器

  2. history:历史对象

    1. 获取方式

      window.history

    2. 方法:

      1. back():后退一个页面
      2. forward():前进一个页面
      3. go(参数):
        1. 参数是正数n:表示前进n个页面
        2. 参数是负数n:表示后退n个页面
  3. location:地址栏对象

    1. 获取方式

      window.location

    2. 方法

      1. reload():重新加载当前页面
    3. 属性

      1. href:指定跳转目标地址
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值