python学习 第十一周知识回顾(前端)

160 阅读9分钟

HTML标签

  • 1.超文本传输协议
    • HTTP超文本传输协议是通过浏览器与服务器进行交互,进行了超文本传输的进行传输要遵守规定
  • 2.超文本传输协议的四大特性
    • 基于服务器响应
    • 基于Tcp/IP左右在应用层的协议
    • 无状态
    • 无连接/短连接
  • 3.请求的数据格
    1 请求首行:包括请求的方式,协议名称和版本
    2 请求头 : 一大堆k:v键值对
    3 换行
    4 请求体 : 请求体会携带一些敏感的数据值
    
  • 4.响应的数据格式
    1 响应首行:响应状态码(1xx,2xx,3xx,4xx,5xx)
                公司内部自定义的状态码一般从10000开始
    2 响应头  :一大堆k:v键值对
    3 换行
    
  • 5.HTML叫超文本标记语言
  • 6.HTML分类
    1.块级标签和行内标签
       <div></div>   块级
       <span></span> 行内
    2.单标签和双标签
    
  • 7.head内常见标签
    <title>Title</title>              <!--控制标签页标题-->  
    <style></style>                   <!--内部支持编写css-->  
    <link rel="stylesheet" href="">   <!--引入外部css文件-->  
    <script></script>                 <!--内部支持编写js代码,还能通过src属性引入外部JS文件-->  
    <meta charset="UTF-8">            <!--通过内部属性的不同可以有很多功能--> 
           <!--<meta name="keywords" content="填写一些关键字 提升网页被搜索的概率">-->  
           <!--<meta name="description" content="填写一些网页的简介">--> 
    
  • 8.body内基本标签
    <h>标题</h>
    <p>段落</p>
    <hr>水平分割线
    <br>换行
    <u>下划线</u>
    <i>倾斜</i>
    <s>删除线</s>
    <b>加粗</b>
    
  • 9.基本字符
    &nbsp;&gt;&lt;&;
    
  • 10.body内常见标签
      1 <a href="网址" target="_self/_blank"></a>
      2 <img src="图片地址" title="悬浮信息" alt="加载失败提示">
    
  • 11.标签的两大重要属性
      1 id属性:一对一(值不能重复)
      2 class属性:一对多
    
  • 12.列表,表格标签
      1 无序列表  <ul><li></li></ul>
      2 有序列表  <ol type="" start=""></ol>
      3 标题列表  <dl><dt><dd></dd></dt></dl>
      4 表格标签  <table>
              表头<thead><tr><th></th></tr></thead> 
              表数据<tbody><tr><td></td></tr></tbody>
    </table>
    
  • 13.表单标签
      <from action="数据提交地址" method="控制请求方式(get/post)"></from>
       类型: type=""
         text      文本
         password  密码
         date      时间
         emali     邮箱
         radio     单选
         checkbox  多选
         file      单文件 后面有multiple是多文件
         submit    提交按钮
         reset     刷新页面
         button    普通的按钮
    
         <select><option></option></select>
                单选栏
         <select multiple><option></option></select>
                多选栏
         <textarea></textarea>
                自定义输入框
    
  • 14.获取用户输入的标签两大重要的属性
    1 name属性:类似于字典键
    2 value属性:类似于字典的值
    

css样式

  • 1.css层叠样式表
    选择器 {
           属性名1:属性值1;
           属性名2:属性值2;
        }
    
  • 2.css选择器
    1 当多个选择器标签需要调整相同的样式,就可以合并
    2 引入位置不同时采用就近原则
    3 当选择器不同时
      行内 > id选择器 > 类选择器 > 标签选择器
    
  • 3.基本选择器
    1 标签选择器
    2 类选择器class(.)
    3 id选择器id(#)
    4 通用选择器(*)
    
  • 4.组合选择器
    1 后代选择器(后代span)
    2 儿子选择器(儿子span)
    3 毗邻选择器(下方相邻span)
    4弟弟选择器(同级别下所有span)
    
  • 5.属性选择器
    默认属性/自定义属性(选择器可以是任意类型的 标签、id、class)
    1.查找属性名含有name的标签    
        [name]{} 
    2.查找属性名含有name并且值是username的标签
        [name='username'] {}
    3.查找input标签并且 属性名含有name值是username的
        input[name='username'] {}
    
  • 6.伪类选择器
    a标签默认的颜色紫色(链接地址已经被点击过了),蓝色(链接地址从来没有点击过)
    1.a标签内的文本,鼠标悬浮上去后,颜色发送变化
         a:hover {}    # 鼠标放置上去变色
    
  • 7.伪元素选择器
    伪元素选择器可以用在解决标签浮动所带来的的负面影响,也可以用来做数据的防爬
    1. first-letter    # 常用的给首字母设置特殊样式
    2. before
    3. after  
    
  • 8.css样式设计
    1.宽和高    width/height
    2.文字字体  font-family
    3.字体大小  font-size
    4.字体粗细  font-weight
    5.文本颜色  color(三种)
    6.文字对齐  text-align
    7.首行缩进  text-indent
    8.文字装饰  text-decoration
    
  • 9.背景属性
    背景的属性可以简写
    # 1.背景色
    background-color: lightblue;      # 背景颜色   
    background-image: url('1.jpg');   # 背景图片
    background-repeat: no-repeat;     # 背景展开方式   background-position: left top;    # 背景的位置
    background-position: 200px 200px; 
    # 2.展开方式
    repeat(默认):背景图片平铺排满整个网页
    repeat-x:背景图片只在水平方向上平铺
    repeat-y:背景图片只在垂直方向上平铺
    no-repeat:背景图片不平铺
    
  • 10.边框属性
    none(无边框)
    dotted(点状虚线边款)
    dashed(矩形虚线边框)
    solid(实线边框)
    
  • 11.display属性可以控制HTML元素的显示效果
  • 12.css盒子模型
    e0cc808f92f8462a91846d0af378a56a_tplv-k3u1fbpfcp-zoom-in-crop-mark_3024_0_0_0.webp
    1.内边距padding的使用方式和外边距margin的使用方式是一致的
    margin-top: 20px;
    margin-left: 30px;
    margin-rignt: 40px;
    margin-bottom: 50px;
    # margin还可以让内部标签居中显示
    margin100px auto            # 仅限于水平方向的居中
    
  • 13.浮动float
    1.float是页面布局不可缺少的操作
    2.浮动之后如果发生了父标签塌陷使用clearfix类值即可
      .clearfix:after {
          content: '';
          display: block;
          clear: both;
       } 
    
  • 14.溢出属性
        div {
            height: 80px;
            width: 120px;
            border: 3px solid black;
            overflow: 溢出的属性值;
        }
        div img {
            max-width:100%  /*设置图片为按比例全填充到框内*/
        }
    
    1.visible 默认的值,没什么帮助
    2.hidden 内容被修剪,只能看到一角,一般可以用来制作头像
    3.scroll 内容被修剪,但是浏览器会显示翻页键以便查看其它内容
    4.auto 如果内容被修剪,可以在浏览器使用滚动来查看其他内容
    5.inherit 从父元素继承溢出的属性值
     /*另外矩形框还可以通过border-radius: 50%;调整为圆形框,将其写入css文件即可*/
    
  • 15.position定位
    定位分为四种:static(静态),relative(相对定位),absolute(绝对定位),fixed(固定定位)
    position: 定位的方式;
    left: 移动的像素值;
    top: 移动的像素值;  
    
  • 16.z-index模态框
    浏览器是一个三维坐标系,z轴指向用户
    

javascript基础

  • 1.简介
    在js中一切皆对象:包含字符串、数值、数组、函数等。
      1. js全称javascript,与java没有关系
      2. JavaScript 是 ECMAScript 标准的实现
      3. 现在常用为5.1与6.0居多
      4. javaScript是一门编程语言(nodejs)
      5. html页面两种引入js的方式
              * 1. 通过外部js文件
              * 2. 通过Html内部head里的script
      6. 两种注释语法:      // 与/**/
      7. 结束符号是;
    
  • 2.变量
     关键字:
     var            全局有效
     let            在局部名称空间中使用只对局部有效
     const          定义常量
     # js是动态类型,变量名绑定的数据值类型不固定
    
  • 3.数据类型
    在js中查看数据类型使用 typeof
    
  • 4.数值类型
    1.python中的整型,浮点型,在js中统称为数值类型
    2.NaN表示不是一个数字(NOT A Number
    
  • 5.字符串类型(js中的字符串(string))
  • 6.布尔值类型 boolean
    1.js内的布尔值(boolean)是小写的
    2.null表示现在是空的/uddefined表示一直没有过
    
  • 7.对象(python中的列表)
    .length	   数值的大小	
    .pop	       获取尾部的元素取出移除	
    .push(ele)   尾部追加元素	
    .sort()	   排序	
    .splice()	   删除元素,并向数组添加新元素。
         splice(index(必选),howmany(必选),item1,.....,itemX)
    .map()	   返回一个数组,元素调用函数处理后的值的新数组
         map(function(currentValue,index(可选),arr(可选)), thisValue(可选)) 
    .forEach()   将数组的每个元素传递给回调函数
        forEach(function(currentValue(必选), index, arr), thisValue)      
    
  • 8.自定义对象(python中的字典)
    取值直接使用句点符
    
  • 9.js运算符
    • 1.算数运算符
      +  -  *  /  ++  --
      
    • 2.比较运算符
       1.js是一门弱类型语言,弱等于会自动转换数据类型,使其相等,强等于不会转换。
      >   大于 
      >=  大于等于
      <   小于
      <=  小于等于
      !=  弱不等于
      ==  弱等于
      === 强等于
      !== 强不等于
      
    • 3.逻辑运算符
      &&	    等价于python中的and
      ||      等价于python中的or
      !	    等价于python中的not
      
    • 4.赋值运算符
       = += -= *= /=
      
  • 10.流程控制
    1.if
    2.if...else
    3.if...elseif...else
    4.switch结构
      # switch中的case子句通常都会加break语句,否则程序会继续执行后续case中的语句。
       var day = new Date().getDay();
       switch (day) {
         case 0:
         console.log("Sunday");
         break;
         case 1:
         console.log("Monday");
         break;
       default:
         console.log("...")
       }
    
    
  • 11.循环结构
    1.for循环
        for (let i=0;i<10;i++) {
            console.log(i);
        }
    2.while循环
        while(条件){
            循环体代码
        }
    
  • 12.js函数
    1.定义函数
    # 限制参数的个数使用关键字arguments
       function 函数名(形参){
           函数体代码
           return 返回值
       } 
    2.匿名函数
       function(a,b){
           return v;
       }
    3.箭头函数
       let f = function(v){
           return V;
       }
       使用箭头函数写法后:
       let f = v => v;
    
  • 13.内置函数
    固定语法:    var 变量名 = new 内置对象名();
    1.Date日期对象
    2.JSON序列化对象
         JSON.stringify()   序列化
         JSON.parse()       反序列化
    3.RegExp正则
         let reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
    
  • 14.js获取用户输入
    1.普通数据     标签对象.value
    2.文件数据         标签对像.files/files[0]
    
  • 15.js类属性操作
    针对于类属性的操作使用:
         标签对象.classList
      
    标签对象.classList.contains()      //存在返回true,否则返回false
    标签对象.classList.add()           // 添加类
    标签对象.classList.remove()        // 删除指定类
    标签对象.classList.toggle()        // 存在删除,不存在添加
    
  • 16.js样式操作
     标签对象.style.标签样式属性名
        
     backgroundColor        //颜色   
     backgroundImage        //图片
    
  • 17.js事件绑定
    # 事件就是给html标签,绑定了一些额外的功能操作
    1.绑定事件的方式第一种
        直接在js内直接写好
    2.绑定事件的方式第二种
        先查找标签,批量绑定
    3.事件中的关键字this
        this指代的是当前被操作的标签对象(也就是按钮的标签)
    4.待文档加载完毕再执行的一些代码
        当页面上的元素绑定事件时,必须等到文档加载完毕,因为不存在的元素无法绑定事件
        window.onload = function () {
            页面js代码  
     5.js事件案例
        1.校验用户输入
        2.省市联动
    

BOM与DOM

  • 1.BOM
    通过写js代码可以与浏览器进行交互
    1.定时器的相关操作
    2.常见操作
    
  • 2.DOM
    通过写js代码可以与html进行交互
    1.查找标签操作
    2.节点操作
    3.属性操作
    4.文本操作
    

jQery

  • 1.关于jQery
    1.jQuery是一个兼容多浏览器的JS库,它可以极大的简化JS编程
    2.jQuery的宗旨是write less, do more   
      意思是:让我们写的代码更少,但是能处理的事情更多
    3.使用jQuery需要先导入其js文件(本质就是js文件)
        本地导入        下载文件放入项目文件夹下      
        网络CDN服务     通过联网访问服务就可以导入
                        (可以使用bootcdn网站去导入,可以提高加载速度)
    
  • 2.jQuery类库
    1.在jQuery语法中$就代表的jQuery
    2.语法:              $(selector).action()
    3.jQuery选择器查找标签之后的结果与js的区别
          1.如果使用索引取值,那么都是标签对象
                    # 标签对象是无法调用jQuery提供的方法的 
          2.标签对象想转换成jQuery提供的方法的要使用$()
                    # 转换成jQuery对象的目的是为了使用jQuery提供的更多方法
    
  • 3.jQery操作
    1.基本筛选器
      :first // 第一个
      :last // 最后一个
      :eq(index)// 索引等于index的那个元素
      :even // 匹配所有索引值为偶数的元素,从 0 开始计数
      :odd // 匹配所有索引值为奇数的元素,从 0 开始计数
      :gt(index)// 匹配所有大于给定索引值的元素
      :lt(index)// 匹配所有小于给定索引值的元素
      :not(元素选择器)// 移除所有满足not条件的标签
      :has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
    
    2.属性选择器
      [attribute]
      [attribute=value]// 属性等于
      [attribute!=value]// 属性不等于
    
    3.表单筛选器
      :text
      :password
      :file
      :radio
      :checkbox
      :submit
      :reset
      :button
    
  • 4.jQery表单对象属性
      :enabled
      :disabled
      :checked
      :selected
    

筛选器方法

1.同级别下方
    $("#id").next()
    $("#id").nextAll()
    $("#id").nextUntil("#i2")  //往下查找直到i2    
2.同级别上方
    $("#id").prev()
    $("#id").prevAll()
    $("#id").prevUntil("#i2") 
3.父标签查找
     $("#id").parent()
     $("#id").parents() 
     $("#id").parentsUntil() 
4.子标签或兄弟标签
     $("#id").children();// 儿子们
     $("#id").siblings();// 兄弟们
5.链式操作
     $('#d1').parent().parent().parent()
     $('#d1').parent().parent().next().parents()
"""对象在调用完一个方法之后返回的还是一个对象"""

jQuery操作标签

  • class操作
    语法结构:    $("#i1").addClass();  // jQuery对象可以使用jQuery
    addClass()	添加指定的CSS类名
    removeClass()	移除指定的CSS类名
    hasClass()	判断样式存不存在
    toggleClass()	切换CSS类名,如果有就移除,如果没有就添加
    
  • 样式操作
    语法结构:      jQuery对象.css('属性名','属性值'); 
    
  • 位置操作
    offset()	    获取匹配元素在当前窗口的相对偏移或设置元素位置
    position()	获取匹配元素相对父元素的偏移
    scrollTop()	获取匹配元素相对滚动条顶部的偏移
    scrollLeft()	获取匹配元素相对滚动条左侧的偏移
    
  • 文本值操作
    html()	取得第一个匹配元素的html内容
    html(val)	设置所有匹配元素的html内容
    text()	取得所有匹配元素的内容
    text(val)	设置所有匹配元素的内容
    val()	    取得第一个匹配元素的当前值
    val(val)	设置所有匹配元素的值
    val([val1, val2])	设置多选的checkbox、多选select的值
    
  • 属性操作
    1.用于ID等或自定义属性:       
    attr(attrName)               返回第一个匹配元素的属性值
    attr(attrName, attrValue)    为所有匹配元素设置一个属性值
    attr({k1: v1, k2:v2})        为所有匹配元素设置多个属性值   
    removeAttr()                 从每一个匹配的元素中删除一个属性
    
    2.用于checkbox和radio
    prop()           获取属性
    removeProp()     移除属性
    
  • attr所指的属性是HTML标签属性,而prop所指的是DOM对象属性

文档处理操作

1. 添加到指定元素内部的后面
   $(A).append(B)
2. 添加到指定元素内部的前面
   $(A).prepend(B) 
3. 添加到指定元素外部的后面
   $(A).after(B) // 把B放到A的后面
   $(A).insertAfter(B)
4. 添加到指定元素外部的前面
   $(A).before(B)// 把B放到A的前面
   $(A).insertBefore(B)
5. 移除和清空元素
   remove()      // 从DOM中删除所有匹配的元素。
   empty()       // 删除匹配的元素集合中所有的子节点。

事件

jQuery绑定事件

标签对象.on事件名 = function(){事件代码}
 	  btnEle.onclick = function(){alert(123)} 
2.jQuery绑定事件
方式1
      jQuery对象.事件名(function(){事件代码})
          $btnEle.click(function(){alter(123)})
方式2
  	  jQuery对象.on('事件名',function(){事件代码})
      	  $btnEle.on('click',function(){alter(123)}) 
"""
1.克隆事件clone
2.实时监听input输入值变化
"""

组织后续事件

能够触发form表单提交数据动作的标签有两个
  1.  <input type="submit">
  2.  <button></button>

两种阻止后续事件方式
	return false;  // 常见阻止表单提交等
	e.preventDefault();

事件冒泡

  • 涉及到标签嵌套并且有相同事件的时候 那么会逐级往上反馈并执行
    阻止冒泡:       e.stopPropagation();
    

事件委托

创建标签的两种方式
  JS              document.createElement()
  jQuery          $('<标签名>')
  • Bootstrap框架