web笔记

文本标签

  • 内容标题 h1-h6
  • 水平分隔符: hr
  • 段落标签: p
  • 换行: br
  • 加粗 b
  • 斜体 i
  • 下划线 u
  • 删除线 s

列表标签

  • 无序标签: ul 内部 li
  • 有序标签: ol 内部 li
  • 嵌套列表: 有序列表和无序列表都可以任意无限嵌套

图片标签 img

  • src: 资源路径
    • 相对路径:访问站内资源使用
      • 图片与页面在同级目录: 直接写图片名
      • 图片在页面的上级目录:…/图片名
      • 图片在页面的下级目录:文件夹名/图片名
    • 绝对路径:访问站外资源使用
  • alt:当图片不能正常显示时显示的文本
  • title:鼠标在图片上悬停时显示的文本
  • width/height 设置图片的宽高,两种赋值方式:1.像素 2.百分比 如果只设置宽度高度会等比例缩放

超链接 a

  • href:资源路径
  • a标签包裹文本为文本超链接 包裹图片为图片超链接
  • 页面内部跳转,在目的地元素里面添加id属性 然后通过超链接href="#id"的方式跳转到目的地元素的位置

表格标签 table

  • tr:行
  • td:列
  • th:表头
  • caption:表格标题
  • border:边框
  • colspan:跨列
  • rowspan:跨行

表单form

  • action:设置提交地址
  • input:元素
  • type:类型
    • text:文本输入
    • radio:单选按钮
    • submit:提交按钮
    • checkbox:复选框
    • date:日期选择器
    • sumit:提交按钮
    • reset:提交按钮
    • button:自定义按钮
  • name:表单的名称
  • placeholder:占位文本
  • value:设置默认值
    单选框中value必须写 不写则提交on checked设置默认选中
  • maxlength:最大字符长度
  • select:下拉列表标签
    与option同时使,selected设置默认选中

CSS引入方式

  • 内联样式:在标签的style属性中添加样式代码 不能复用
  • 内部样式:在head标签里面添加style标签, 通过选择器找到元素后再添加样式代码, 可以复用但是不能多页面复用
  • 外部样式:在单独的css样式文件中写样式代码, 在html页面中通过link标签引入, 可以多页面复用,可以将样式代码和html代码分离开. link rel=“stylesheet” href="***.css"

选择器

标签名选择器

  • 格式:标签名{样式代码}
  • 匹配页面中的所有同名标签

id选择器

  • 格式:#id{样式代码}
  • 当需要选择页面中某一个元素时使用
 #p1{
      color: red;
    }

类选择器

  • 格式:.class{样式代码}
  • 当需要选择页面中多个不相关元素时, 给多个元素添加相同的class属性值即可
.c1{
      color: antiquewhite;
    }

分组选择器

  • 格式: p,#abc,.xyz{样式代码}
  • 将多个选择器合并为一个选择器的写法

属性选择器

  • 格式: 标签名[属性名=‘值’]{样式代码}
 input[type='text']{
      background-color: brown;
    }

子孙后代选择器

  • 格式: body div div p{样式代码}
  • 上面格式匹配的是body里面的div里面的div里面的所有p(包括子元素和后代元素)
 body div div p{
      color: red;

子元素选择器

  • 格式: body>div>div>p{样式代码}
  • 上面格式匹配的是body里面的div里面的div里面的所有子元素p(不包含后代元素)
body>div>p{
      color:blue;
    }

伪类选择器

  • 选择的是元素的状态
  • link:未访问
  • visited:访问过
  • hover:悬停
  • active:点击
  • 格式:a:link/visited/hover/active{样式代码}
a:link{color: red}/*未访问状态*/
    a:visited{color: green}/*访问过状态*/
    a:hover{color: yellow}/*悬停状态*/
    a:active{color: pink}/*点击状态*/

分区标签

  • div:块级分区元素, 特点: 独占一行
  • span: 行内分区元素, 特点: 共占一行
  • 如何对页面内容进行分区:
    • 一个页面至少分为3大区, 头/体/脚, 每一个大区再划分n个小区
<div></div>
<div></div>
<div></div>
  • html5标准中新增了几个分区标签,作用和div一样,为了提高代码的可读性 ,包括: header头,footer脚,section区域,
    article文章/正文, nav导航
<header></header>
<section></seciont><article></article>
<footer></footer>

背景图片

  • background-image:url(“路径”) ; 设置背景图片
  • background-repeat:no-repeat; 禁止重复
    background-size: 100px 200px; 设置背景图片尺寸 宽 高
    background-position: 横向 纵向; 控制位置, 像素偏移值 和 百分比两种方式

文本和字体相关样式

  • text-align: left/right/center; 文本水平对齐方式
  • text-decoration: overline/underline/line-through/none 文本修饰
  • line-height:20px; 行高, 多行文本可以控制行间距, 单行文本可以实现垂直居中
  • font-size: 20px; 设置字体大小
  • font-weight:bold/normal; 设置加粗或去掉加粗
  • font-style:italic; 设置斜体
  • font-family:xxx,xxx,xxx; 设置字体
  • font: 20px xxx,xxx,xxx; 设置字体大小和字体
  • text-shadow: 颜色 x偏移值 y偏移值 浓度(值越大越模糊)

元素的显示方式display

  • block: 块级元素的默认值 , 特点: 独占一行,可以修改元素的宽高 , 包括: div,h1-h6,p
  • inline:行内元素的默认值, 特点:共占一行, 不可以修改元素的宽高, 包括: span, b,i,s,u,超链接a
  • inline-block:行内块元素的默认值, 特点:共占一行, 可以修改宽高, 包括:img,input
  • none:隐藏元素
  • 行内元素不能修改宽高, 如必须修改则需要先把display改成block或inline-block

盒子模型

  • 作用: 控制元素的显示效果包括: 尺寸 元素位置 边框 元素内容的位置
  • 盒子模型: 内容+外边距+边框+内边距
  • 内容:content 负责控制元素的尺寸
  • 外边距margin:负责控制元素的位置
  • 边框border:负责控制元素的边框
  • 内边距padding:负责控制元素内容的位置

盒子模型之内容Content

  • width/height
  • 赋值方式:
    • 像素: 200px
    • 上级元素的百分比: 50%
  • 行内元素不能修改宽高

盒子模型之外边距

  • 外边距: 元素距上级元素或相邻兄弟元素的距离称为外边距
  • 赋值方式:
    • margin-left/right/top/bottom:10px; 单独某个方向赋值
    • margin:10px; 四个方向赋值
    • margin:10px 20px; 上下10 左右20
    • margin:10px 20px 30px 40px; 上右下左 顺时针赋值
  • 上下相邻彼此添加外边距取最大值 ,左右相邻相加
  • 行内元素上下外边距无效
  • 粘连问题: 当元素的上边缘和上级元素的上边缘重叠时,给元素添加上外边距会出现粘连问题,给上级元素添加overflow:hidden解决
  • 部分标签会自带外边距,比如: body ,h1-h6,p,列表标签

盒子模型之边框

  • 赋值方式:
    • border-left/right/top/bottom:粗细 样式 颜色; 单独某一个方向添加边框
    • border:粗细 样式颜色; 四个方向添加边框
    • border-radius: 20px ; 圆角, 值越大越圆, 超过宽高的一半为正圆

盒子模型之内边距

  • 内边距: 元素边缘距内容的距离为内边距
  • 赋值方式: 和外边距类似
    • padding-left/right/top/bottom:10px;
    • 单独某个方向赋值 padding:10px;
    • 四个方向赋值 padding:10px 20px; 上下10 左右20
    • padding:10px 20px 30px 40px; 上右下左 顺时针赋值
  • 给元素添加内边距会影响元素的宽高

CSS的三大特性

  • 继承性: 元素可以继承上级元素文本和字体相关的样式, 部分标签自带的效果不受继承影响,如:超链接的字体颜色
  • 层叠性:多个选择器可能选择到同一个元素, 添加的样式不同的时候会全部层叠生效, 如果作用的样式相同则由优先级决定哪个生效
  • 优先级: 作用范围越小优先级越高, id> class>标签名>继承(继承属于间接选中优先级比较低)

居中相关

  • text-align:center; 让元素的文本内容居中, 让元素里面的行内元素自身和行内块元素自身居中
  • margin:0 auto; 让块级元素自身居中

元素定位

  • 静态定位
    • 默认的定位方式, 也称为文档流定位
    • 格式: position:static
    • 特点: 元素以左上为基准,块级元素从上往下依次排列,行内元素从左向右依次排列 ,无法实现层叠效果
    • 通过外边距控制元素的位置?
  • 相对定位
    • 格式: position:relative
    • 特点: 可以实现层叠效果, 元素不脱离文档流(不管元素显示到什么位置 仍然占着原来的位置)
    • 通过left/right/top/bottom让元素相对于初始位置做偏移
    • 应用场景: 当需要移动某个元素而其它元素不受影响时使用(元素位置微调)
  • 绝对定位
    • 格式: position:absolute
    • 特点: 可以实现层叠效果, 元素脱离文档流(不占原来的位置)
    • 通过left/right/top/bottom让元素相对于窗口或某一个上级元素做位置偏移,如果需要相对于某个上级元素,必须给上级元素设置为相对定位
    • 应用场景: 当需要网页面中添加一个元素, 这个元素不影响其他元素的显示位置时使用绝对定位
  • 固定定位
    • 格式: position:fixed;
    • 特点: 元素固定在窗口的某个位置, 元素脱离文档流
    • 通过left/right/top/bottom让元素相对于窗口做位置偏移
    • 应用场景: 当需要将元素固定在窗口某个位置时使用
  • 浮动定位
    • 格式: float:left/right
    • 特点: 元素脱离文档流, 从当前所在行向左或向右浮动,当撞到上级元素边缘或其他浮动元素时停止.
    • 浮动元素一行装不下会自动换行, 换行时有可能被卡住当元素的所有子元素全部浮动时,自动识别的高度为0,后面的元素会顶上来出现显示异常,给元素添加overflow:hidden解决
    • 应用场景: 当需要将纵向排列的元素改成横向排列时使用

显示层级z-index

  • 当元素修改定位方式时,会出现元素层叠的问题, 通过z-index可以控制层叠的元素谁显示在上面 谁显示在下面
  • 必须改了定位方式之后z-index样式才会生效
  • z-index值越大显示层级越靠前

溢出设置Overflow

  • visible(默认): 超出部分显示
  • hidden: 超出部分隐藏
  • scroll: 超出部分滚动显示

JavaScript

  • 作用: 负责给页面添加动态效果.
  • 语言特点:
    • 属于弱类型语言:
      • java: String name = “tom”; int age=18; name=30; 报错
      • javascript: let name=“tom”; let age=18; name=30;不会报错
  • 属于脚本语言,不需要编译直接解析执行. 基于面向对象
  • 安全性强:JS语言只能访问浏览器内部的数据,浏览器以外的程序或磁盘中的数据禁止访问.
  • 交互性强: 因为JS语言是嵌入在html页面中的语言,随着页面一起传递到客户端,运行在客户端的语言,离用户更近一些,java语言是运行在服务器的语言, 所以JS语言交互性更强

添加JS语言

  • 内联: 在标签的事件属性中添加js代码, 当事件触发时执行
    • 事件: 系统给提供的特定时间点.
    • 点击事件: 在用户点击元素时触发的时间点
  • 内部:在html页面中任意位置添加script标签,在标签体内写JS代码
  • 外部:在单独的js文件中写js代码, 在html 页面中通过script标签的src属性引入

变量

  • JavaScript属于弱类型语言
    • java: String name = “tom”; int age=18; name=30; 报错
    • avascript: let name=“tom”; let age=18; name=30; 不会报错
  • let和var关键字的区别
    • 使用let声明的变量, 作用域和Java语言一样
    • 使用var声明的变量, 相当于声明的是一个全局变量
    • 举例:
      JavaScript:
      for(let i=0;i<10;i++){
      let y=i+1;
      }
      let z = y-i; 不会报错,但是y和i 是访问不到的
      for(var i=0;i<10;i++){
      var y=i+1;
      }
      var z = y-i; y和i是可以访问的

数据类型

  • JavaScript中只有引用类型(对象类型)
  • 常见的对象类型:
    • number: 数值类型, 相当于java中所有数值类型的总和
    • string: 字符串 , 可以用单引号或双引号修饰 ‘tom’ “tom”
    • boolean: 布尔值 , true/false
    • undefined: 未定义 ,当变量只声明不赋值时,变量的类型为未定义
    • 获取变量类型的方式: typeof 变量

运算符

  • 算术运算符: ±/% JS中除法会自动根据结果转换
  • 关系运算符: > < >= <= == ===
    • ==: 先统一等号两边的类型,再比较值 “666”==666 true
    • ===: 先比较类型,类型相同之后再比较值 “666”==666 false
  • 逻辑运算符: && ,|| , !
  • 三目运算符: 条件?值1:值2

方法

  • Java: public 返回值类型 方法名(参数列表){方法体}
  • JS: function 方法名(参数列表){方法体}
  • 常见的四种方法:
    • 无参无返回值
    • 无参有返回值
    • 有参无返回值
    • 有参有返回值
  • 声明方法的三种方式:
    • function 方法名(参数列表){方法体}
    • let 方法名 = function(参数列表){方法体}
    • let 方法名 = new Function(“参数1”,“参数2”,“方法体”);

NaN

  • Not a Number: 不是数
  • isNaN(变量) 判断变量是否是NaN , true代表是NaN false代表不是NaN

BOM浏览器对象模型

  • 包含和浏览器相关内容
  • window对象: 该对象的属性和方法称为全局属性和全局方法, 访问时可以省略掉window.

window对象中常见的方法

  • alert(“xxx”) 弹出提示框
  • confirm(“xxxx”) 弹出确认框
  • prompt(“xxx”) 弹出文本框
  • parseInt() 将字符串或小数转成整数
  • parseFloat() 将字符串转成整数或小数
  • isNaN() 判断变量是否是NaN
  • console.log() 浏览器控制台输出
  • let timer = setInterval(方法,时间间隔) 定时器
  • clearInterval(timer) 停止定时器
  • setTimeout(方法,时间间隔) 只执行一次的定时器

Window对象中常见的属性

  • location 位置
    • location.href 获取或修改浏览器的请求地址
    • location.reload() 刷新页面
    • location.search 获取浏览器地址栏中的参数
  • history 历史(指当前浏览器页卡的历史, 关闭后则清除)
    • history.length 历史页面数量
    • history.back() 返回上一页面
    • history.forward() 前往下一页面
    • history.go(n) n是正值前进 负值后退 0代表刷新

DOM 文档对象模型

  • 和页面相关内容
  • 通过元素的id获取元素对象
    • let 元素对象 = document.getElementById(“元素id”);
  • 通过CSS中接触到的选择器获取元素对象
    • let 元素对象 = document.querySelector(“选择器”);
  • 获取和修改元素的文本内容 元素对象
    • .innerText; //获取 元素对象
    • .innerText=“xxx”; //修改
  • 获取和修改表单中的控件的值
    • 控件.value //获取
    • 控件.value=“xxx” //修改
  • 创建元素对象
    • let 元素对象 =document.createElement(“标签名”);
  • 添加元素对象
    • document.body.appendChild(元素对象);
  • 给元素的属性赋值
    • 元素对象.src = “…/b.jpg”;
    • 元素对象.属性=“值”;

前端MVC设计模式

  • MVC设计模式:实际上就是把前端实现一个业务功能的代码划分为3部分
  • Model : 模型 , 指数据模型对应的是从服务器获取到数据的部分代码.
  • View: 视图 , 指页面部分代码
  • Controller: 控制器, 把数据模型的内容展示到页面中的过程称为控制器部分
  • 前端MVC设计模式的弊端: 需要在Controller部分频繁进行DOM操作(遍历查找元素过程)会影响效率, 从而影响用户的体验度

M,V,VM设计模式

  • Model : 模型 , 指数据模型 对应的是获取到数据的部分代码.
  • View: 视图 , 指页面部分代码
  • VM: 视图模型,
  • 将页面中可能发生改变的元素在内存中和某一个变量进行绑定, 当变量的值发生改变时,会自动从内存中找到和变量对应的元素并进行修改,不需要像MVC设计模式中每次进行遍历查找, 从而提高了效率,提高了用户体验度.

VUE框架

  • VUE框架是基于MVVM设计模式的前端框架.
  • 工作原理: Vue框架中的Vue对象是MVVM设计模式中的VM视图模型,
    此对象负责将页面中改变的元素和data里面的变量进行绑定, 初始化时,变量的值是什么页面就显示成什么,
    并且Vue对象会一直监听着data里面变量值得改变,
    当值发生改变时,会自动找到与其绑定的元素并且让元素跟着发生改变,改变元素的过程是不需要程序员参与的, 从而提高了开发效率,
    由于这个过程不需要频繁的进行DOM操作(遍历查找元素) 从而提高了执行效率.

引入前端 三方框架的两种方式:

  • 把框架文件下载到本地,复制到自己的工程中进行引入
  • 从CDN服务器直接引入到自己工程.

Vue常用指令

  • {{变量}} : 插值, 让此处的文本内容和变量进行绑定 ,不需要依赖某个标签存在
  • v-text=“变量”:让元素的文本内容和变量进行绑定, 需要依赖标签
  • v-html=“变量”: 让元素的标签内容和变量进行绑定
  • v-bind:属性名=“变量”, 让元素的某个属性的值和变量进行绑定 , 简写可以把v-bind去掉
  • v-model=“变量”:让控件的value属性和某个变量进行双向绑定, 双向绑定: 变量会影响页面显示的内容,页面元素的内容改变也会影响变量,当需要从代码中获取控件的值时使用双向绑定
  • v-on:事件名=“方法”, 绑定元素的事件,方法需要声明在Vue对象里面的methods属性里面, 简写是@事件名=“方法”
    • @click 点击事件
    • @change 值改变事件
    • @blur 失去焦点事件
  • v-for="(变量,i) in 数组变量"; 让元素的显示数量和数组进行绑定, 同时遍历数组中的每一个对象,变量代表的是数组中的每一个对象, i代表的是当前遍历的下标
  • v-if=“变量”, 元素的显示状态和变量进行绑定, true显示,false不显示(删除元素)
  • v-else和v-if指令结合使用, 显示状态和v-if的元素取反
  • v-show=“变量”,元素的显示状态和变量进行绑定,true显示,false不显示(通过样式隐藏了元素), 需要元素需要频繁切换显示状态使用v-show的执行效率会高于v-if
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值