web前端基础文档

<HTML>                  标签

头部:head

<title>(标题)                                  <metacharset=’utf-8’>(中文)

<linkrel="stylesheet" type="text/css" href="xxx.css">(引入css)

<metaname="author" content="xxx">(作者)

<metaname="keywords" content="英雄联盟官方网站">(网页搜索关键词)

<metaname="description" content="电子竞技网络">(关键词下的内容介绍)

<link rel="icon"type="image/x-icon" href="img/LOL_a.png">(网页小图标)

 

 

身体:body       (标签)

<h1>(标题+字号 1~6)     <p>(文本标签)  <span>(文本内嵌标签)

<pre>(文本预处理)  <div>(‘块’标签)  <sup>(上标)<sub>(下标)                                                              

<a href=""></a>(链接a)    <img src="" alt="图片替换文本" />(图片)

<br/>(换行标签)      <hr/>(水平分割线)     <samp><code>(等宽)

<ul><li></li></ul>(无序列表)         <ol><li></li></ol>(有序列表)

<dl><dt><dd></dd></dt></dl>(自定义列表)

<i>(斜体)<em>(斜体)  <b>(加粗) <s>(删除线)<u>(下划线)

<textarea>(text文字域)<strong>  ( 加粗 )

              


<form>(表单)method  请求方式 post  get

                  action 连接后台(php,网址)

                 enctype上传文件(“multipart/form-data”)

<input>type类型{”text”:文字,’’password”:密码,”file”:文件,’’checkbox”:复选框,’’radio”:单选框,’’button”:普通按钮,’’submit’:提交按钮,’’reset”:重置按钮,’’hidden”:隐藏域,’’image’:图像按钮,“date”:日期表,“time”:时间,“color”:颜色表}

       placeholder=“xxx” (暗字)

size=“xxx+px” (文字的宽度)

 maxlength=“xxx” (文字输入最大数值)

      value=”xxx”(文字,用于按钮)

Outline:none(消除选中框蓝边)

<select><option></option></select>菜单列表(selected,默认选中)

 

<table> (表格) cellspacing(单元格间距) num+px

                 cellpadding(单元格间距+边框) num+px

                 border-collapse(取消重叠的边框) collapse

<caption>(表格标题)align (水平对齐) center(居中) left(左) right(右)

<th></th>(表格的标题) <tr></tr>(表格行标记)<td></td>(表格列标记)


<frameset>(页面分割框架)rows(上下分割窗口)(50%,15%,35%)

                            cols(左右分割窗口)               (50%,15%,35%)

                             scrolling(框架滚动显示)      (yes,no,auto) (多媒体页面)

<marquee>xxx<marquee> (弹幕)

direction(滚动的方向)       up,down,left,rigth

behavior(滚动的方式)        scroll(循环),slide(滚一次),alternate(交替滚动)

scrollamount(滚动的速度)      xxx秒 (5000=5秒)

scrolldelay(延迟滚动)     xxx秒(5000=5秒)

loop(滚动循环)             width,height(滚动的范围)

<embed></embed>(音乐播放器)     autostart(自动播放)     true , false

loop(循环的次数)     num(次数)

脚:<footer></footer>



Css:属性


ID:    #   +id名       Class:    +class名


颜色:  rgba(x,x,x,x)    #ff0000      red     color  x:透明度


外边距:margin: 上 下 左 右   auto 表示自动,(margin-left,right,top,bottom) 内边距:padding: 上 下 左 右   auto 表示自动,(padding-left,right,top,bottom)


边框:border : 边框   厚度样式  颜色             border-radius:100%(圆角)


样式(solid实线,dashed虚线,dotted点线)


块与内联:(转换)display:inline(内联),display:block(块,出现)

           display:inline-block   (内联+块)  display:hidden(隐藏)

           float:left/right(左浮动/右浮动)   clear:left/right(清除浮动) 

           filter:alpha(opacity:xx)===opacity(0~1)    (透明度)

           z-index(层级)  min-width(最小宽度,用于背景图片)

   list-style:none (取消li的样式) 


鼠标的样式:cursor: pointer (小手样式) text(文本样式) move(移动样式)

 自定义样式:cursor:url()    注意:图片格式必须以  cur格式    


文字  :  font-size(字体大小)               font-family(字体样式‘宋体’)  line-height(字体行高)    text-align(字体位置)

text-indent(首字母缩进em单位)    font-wight:bold(字体加粗)     letter-spacing(字母之间间距)

 word-spacing(单词之间间距)     visibility:hidden(文字隐藏,不删除)    visibility:  visible   (显现)


font-style字体样式    {italic(倾斜),normal(普通),inherit(继承父级)}


background背景: repeat{repeat(重复背景图片),no-repeat(不重复),repeat-x(横向重复),repeat-y(纵向重复)}  

              url  (引入图片) , image(背景图片),color(颜色)


position(背景图片的位置    x  y),attachment{scroll(滚动),fixed(固定)}, size(àcover(背景全部覆盖))    


伪类:   :link{color:red}(没有点击链接的样式)          :visited{color:red}(访问过后的连接样式)

:hover{color:green}(鼠标悬停样式) :active{color:black}(点击不松开鼠标样式)


overflow(溢出处理):èauto(显示滚动条),hidden(超出隐藏),visible(显现),scroll(滑动),overflow-x:auto(竖直滑动), overflow-y:auto(水平滑动)


定位: position:relative(相对定位)  position:absolute(绝对定位) position:fixed(固定)


阴影:box-shadow : 左右偏移     上下偏移     阴影偏移大小      颜色


A(标签):     a:text- decoration(取消a标签样式) title(给连接时候提示文字)

target      {_parent(在上一级窗口打开),_blank(新窗口打开),_self(同一个窗口打开),_top(在IE窗口打开)}

     


css动画:

2D:transformètranslate(x,y)(平移)--rotate(x,y,deg)(旋转)--scale(num)(缩放)---skew(x,y)(倾斜)

3D: transform-orgin   (转换元素的位置:x,y) Perspective(视差)   值à num   

Transform:è translate3d(x,y,z)--scale3d(num,num,num)—rotate3d(x,y,z,deg)


Transition(过度):

      Transition-property(用来指定某个元素)ànone(没有属性)---all(所有属性)---indent(元素属性)

      Transition-duration(是指定元素变化的时间单位S)

      Transition-timing-function(元素转变的速度)

           àease(逐渐变慢,默认值) àlinear(匀速)àease-in(加速)

           àease-out(减速) àease-in-out(先加速后减速)

      Transition-delay(指来定义一个动画开始执行时间S单位)

transition:变化属性(all),时间(2s),变化速度(linear),执行时间(4s)


动画:Animation(案例)

       <div id=”box”></div>

Css:#box{ animation:自定义名( donhua) 时间(2s)变化速度(linear)执行时间( 3s);}

@keyframes donhua

{0%{width: 50px;height: 50px;}100%{width: 150px;height: 150px;}}


Css选择器

      :before    p:before   (P元素之前插入)

      :after      p: after    (P元素之后插入)



 JaveScript

引入JS文件  <scripttype="text/javascript" src="xxx.js"></script>

一(事件名称):

onclick(鼠标点击)        ondblclick(双击点击)      onfocus(获得焦点)                                     onblur(失去焦点)         onmouseover(鼠标悬停)                         onmouseout(鼠标移出    onload(文档加载完成)                               onunload(关闭网页)       onreset(重置表单事件)                     onsubmit(表单提交事件)oonkeyup(按着键盘的某个键触发)    onresize(窗口大小发生改变时触发)          onscroll(滚动时触发)

nkeydown(某个键盘的键被按下)  

onkeypress(某个键盘的键被按下或按住)

onmousedown(某个鼠标按键被按下)

onmousemove(鼠标被移动) onmouseup(某个鼠标按键被松开)

 

二(基础语句&运算符&循环):

      变量:  var  a= 1;      console.log(a)     alert(a);


      常量:const a= 1;     


      获取对象:      <div id=”box1”></div>

var box1 = document. getElementById('box1')

    <div id=”box2”></div>

var box2  = document.getElementsByClassName('box2')[0]

<li>1</li>         <li>2</li>      <li>3</li>        <li>4</li>

            var list   = document.getElementsByTagName('li')


      数据类型:1.字符串    var a = “你好”   (双引号或者单引号为字符串)

            2.数字   var a =12    (数字类型)

            3.布尔   var a =true/false (仅有俩种)

            4.数组   var  arr=[‘xx’,’xx’,’xx’]   (数组类型)

          5.对象   var  a = {name:’xxx’,age:18,sex:’男’} (对象类型)

          6.Null  (未定义)          7.Undefied    (空 无)

            可以用 typeof 查看某个变量是什么类型

      函数:function

            1>function    num(自定义名字)  (a,b){ console.log(a+b)} num(12,1)    输出è 13  (传参)

 2>function     num(a,b){var c = a+b; return  c }console.log(num(2,4))  输出è 6   我们得到是return c 的值


      运算符:简单介绍几种

            ++ (递曾)    - - (递减)     %(余数)     +=  (x += y  è x= x+y)

            =(赋值)   == (等于)   === (全等)   !=(不等于)

            &&(and和)||(or或)!(not)

             三目运算符:A?B:C                 if(A=1)?true:false


      循环:   1.  (如果) If () {} else {}

            Var a= 3;

            2.    switch (a){case 1 : 执行代码1 ,break;

case 2 : 执行代码2,break;

default:执行代码3  (都不是1跟2)}

            3.for(vari = 0; i<XXX.length; i++){}

           var x;var txt=” ”;

            varperson = {name:”yang”,age:18}

            4.for(x  in  person){ txt  += person[x]}

console.log(txt)è yang18(得到了对象中的所有的值 遍历)

          

三(字符串):

       var str = " ";        var str = new String();    创建声明一个字符串

       str.length  ----计算字符串长度   

 str.charAt(num) ----- 查看某个位置的字符是那个

 str.charCodeAt()-----查看字符串在计算机中的编码

 str.fromCharCode()----解析计算中的编码

 str.indexOf(" xx", 起始值) -----可以获取字母所在位置,返回 -1为

 str.lastIndexOf("xx", 起始值)-----从最后一位字符开始查找,与上面相反

 重点:字符串的截取 str.substring(a,b)

  假如a5,且只有一个参数时----将前面5位字符截取

  a0b 5 ----- 0开始截取五个字符

 

四(数组):

      var arr = [ ];     vararr  = new Array();   创建声明一个数组

      arr.push() ----给数组添加内容,可以添加数字,文字,其他数组

      arr.sort()  ----数组打乱顺序后排序


     数组的截取:   var arr = [1,2,3,4,5]; var a =arr.splice(2)

                   console.log(arr)è[1,2]; console.log(a)è[3,4,5]

                  arr只保留俩个值  

                  arr.splice(0,1)  从第0个开始删除1个值


      数组的拼接

            var a= [1,2];           var b = [3,4]

           a.concat(b)è [1,2,3,4]  这是数组的拼接,可以用一个变量接受


      数组的去重:

            var arr = [1,4,4,3,2,5,6,1];          arr.sort( ) //数组排序

           for(var i = 0; i < arr.length; i++) {

             for( var j = i+1; j < arr.length; j++ ) {

                       if ( arr [ i ] == arr [ j ] ){

arr.splice(j,1); //删除重复的值

j - -; //减去对应的下标

   }

(第二个循环结束)

 

五(时间对象,number):

       Math.pow(a,b)  === a的b次方           Math.sqrt(a)===根号a

        Math.floor()(下) 取整数                   Math.ceil()(上)取整数

        Math.random()----0~1之间随机的小数 Math.round() 四舍五入

       var  t = newDate()     创建一个时间对象(于当前时间一致)

       t.getFullYear()  年         t.getMonth()+1 月       t.getDate()      日

  t.getSeconds() 秒    t.getHours()   时            t.getMinutes()  分

       t.getDay()    星期

       天:Math.floor(t/86400);        时:Math.floor(t%86400/3600);

          分:Math.floor(t%86400/3600/60);                   秒:t%60;

 

六(JSON):重点

      var  obj = newObject()      var  obj = { }; 创建声明一个JSON对象

       JSON写的几种类型:

1.   varobj = {name:’’yang”,age:18}      obj.nameè yang

2.   varobj = {url:[“1.jpg”,”2.jpg”],text:[“xxx”,”xxx”]} obj.url[0]è1.jpg


数组中的JSON获取方式:

3.   vararr = [{name:”yang”},{age:18}] arr[2].age è 18

可以给JSON对象直接添加属性跟值 obj.sex=”

重点: 

       字符串à数组  str.split()      数组à字符串 arr.join()  

        字符串àJSON    var obj =JSON.parse(str)

      JSONà字符串    var  str = JSON.stringify(obj) 

 

七(节点)在JQ中很多获取元素的方法所以节点这块我简单写一下

      父节点:parentNode            兄弟姐妹节点:nextSibling  子节点:childNodes 

     子节点的类型三种: 标签==1,属性元素==2,文本==3

      测试子节点类型   XXX.childNodes[0].nodeType

      第一个子节点:xxx.firstChild()  最后一个子节点:xxx.lastChild()

 

八(元素)

获取元素(标签)的属性

获取元素的ID:box.getAttribute(“id”)

给元素添加属性:box.setAttribute(“class”,”box1”)

删除元素的属性:box.removeAttibute(“class”,”box1”)

      获取元素的宽高 

          Box.style.width           Box.style.height  // 宽高

              Box.clientWidth            Box.clientHeight  // 宽高+padding

            Box.offsetWidth       Box.offsetWidth  // 宽高+padding+border

      创建元素

1.   创建    document.createElement(“li”)  //用变量去接受

2.   添加元素 父级.appendChild()      //() 里面添加这个变量

3.   删除元素  父级.removeChild()    //()添加要删除的元素

4.   替换元素  父级.replaceChild  (新节点,被替换的节点)

克隆元素

  <divid=”box”><a href=”#”>xxx</a></div>

  var  box = document.get……ById(“box”);

  var  clone = box.cloneNode(true)  //用变量接受克隆的box

  document.body.qppendChild(clone)   // 插入body中

 

八(定时器)

      setInterval(函数,毫秒)

      clearInterval(+用变量接受定时器) -----清除定时器

      setTimeout(函数,毫秒)  -----执行一次的定时器

 

九(事件)重点

     焦点事件:(补充)

1.    onfocus:当元素获取到焦点的时候触发

2.    onblur:当元素失去焦点的时候触发

3.    obj.focus():给指定的元素添加焦点事件

4.    obj.blur():  取消指定元素的焦点事件

5.    obj.select()  选择指定元素里面的文本内容

event事件:event.clientX     event.clientY

  鼠标点击屏幕时的坐标:

  document.onclick  = function(ev){var ev = ev || event;

Console.log(event.clientX); // 鼠标点击屏幕的X坐标

Console.log(event.clientY);  //鼠标点击屏幕的Y坐标    }

      事件冒泡:

当一个元素接受到事件的时候,会把他接受到的所有传播给他的父级,一直到顶层window事件  。

                 阻止事件冒泡:ev.cancelBubble =true;

      事件捕获:

           当一个对象需要绑定俩个函数时,会被第二个替换掉;

           obj.addEventListener(事件名称,函数名称,是否捕获)

           第三个参数  ture:捕获事件   false:不捕获事件

           封装事件捕获函数:

            Function bind (obj,evname,fn){

            If(obj.addEventListener){obj.addEventListener(evname,fn)}

           Else{obj.attachEvent(“on”+evname,fn)}

}

十(函数)重点难点

      1.改变内容

innerHTML/TEXT   

<h1>xxxxx</h1>    var  h = document.getElementsByTagName(‘h1”)

       h[0].οnclick= function(){ this.innerHTML=”520快乐”}

2.改变样式

xx.style.border = ‘1px solid black’

       xx.style.background= “red”;

3.改变类:

 css: box1{ background :red}  box2{ background :green }

  <divclass=”box1” id=”box”></div>

 var  box = document.get…..Id(“box”);

   box.onclick = function(){this.className = ”box2”}

4.执行环境:

全局变量就是在函数外的var变量,函数内部变量外界访问不到只能通过return 来访问函数内部的变量。

函数内部称为局部变量

5.调用方式:

  直接调用:   函数名()

  对象方法:  obj.函数名()

  构造器:    new    函数名()

6.函数表达式:

    var add = function (a,b) {console.log(a+b)}                  add(1,2)

  (function ( ){     }) ( )  // 自己调用自己

   return function ( ){   }  // 直接return 自己调用

7.apply/call:this指向)

  Function  foo (a,b){console.log(a,b,this)}

  使用call:foo(100,1,2)  è  1,2, Number(100);

  使用applyfoo(true,[1,2])è3,4 ,Boolean(true)

//使用apply传参要用数组进行传入

 

       8.bind(方法绑定this重点!重点!重点!

           this.x = 9 // 全局变量 

            var  foo = {x:81,       get:function(){return  this.x }}

          foo.get()è输出这个对象中的函数  结果 81

 

            如果     var  get1 = foo.get()    //用一个变量去接受对象中的函数

            输出: 9      这里的变量接受的是全局的变量

           var  get2 =get.bind(foo), //get函数绑定的是foo对象内的函数

            输出: 81  

      bind方法绑定参数:

  function add(a,b,c){return a+b+c}

           var  fun =add.bind(undefined,100)  // bind改变参数a

           fun(1,2) è输出: 103 // 可以继续调用bind方法去改变参数b

9.函数的闭包   重点!重点!重点!

   方法一:function outer(){var a = 30 }

//分析函数:  直接返回了一个内部函数

console.log(outer())è输出: return  function() { return   a  }

要获取内部函数的a

var fun =auter();

console.log(fun())è输出:  30;     

注释:我们的fun变量接受的是function() {  return   a  }

  方法二:var obj = (function(){

                   var  a = 12;

                   function   x( ){ a++; alert(a)}

                   function   y( ){ a++; alert(a)}

                  return{     b:x( ),        c:y( )   }

})( )   

obj.b()      obj.c()  

//直接调用了变量obj里面的俩个函数可以理解成:给变量obj赋值了俩个属性,这俩个属性是函数。    

      10.函数的参数传递

           <div>1</div>      <div>2</div>     <div>3</div>

            var   box = document.getElementsByTagName('div');

           //获取了三个div

            for(var i = 0; i<box.lenght;i++){

   box[i].onclick = (function(i){

     alert(i)

 }(i)

   }

           分析函数:i  的值 [ 0,1,2 ]

首先这是一个自己调用自己的函数    function(i){}  //这里的i 是一个参数只是负责传递的

或者理解成 只是一个变量而已,没有值

           function(i){}(i)       // (i)第二个i 就是传递 [0,1,2]  

      11.面向对象(oop重点!重点!重点!

           function  person () {   }  //创建一个空的函数

           person.prototype= { name:”yang”,age:18,

eat:function(){

    alert(“能吃”)

}

}// 给空函数添加一个类

           var a= new person()   // 将空函数赋值给变量a

           a.nameè输出: yang a.ageè输出:18  a.eatè输出:能吃

      12.面向对象(继承)重点!重点!重点!

           function person (name,age){this.name = name this.age =age }

              person.prototype.h =function(){console.log(this.name+this.age)}

           //person的原型属性h (给person添加了一个类)

            function student(name,age,className){

                 person.call(this,name,age)// 这里的this 是改变成自己

                  this.className= className;

           // 函数student 拥有了person

}

           prototype

                 Student  ==>>>>>         person函数   

 

                     var a = new student(“20,“web班”)----console.log(a)

                  输出: {name:’杨’,age:20,className:’web班’}// 得到一个对象

                  将student继承 person的原型(类)

                            student.prototype = Object.create(person.prototype)

                            student.Prototype.constructo = student

                            a.h(  )è输出  杨 20

                  还可以更改原型链:

                       student.prototype.b= function(subject){

                      console.log(this.name+’现在学’+subject)

                      }

                  a.b(“web前端”) è输出:杨 现在学 web前端

                 

                 

                    

 







  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值