web笔记(html+css+js)

HTMl,CSS,JAVASCRIPT(HTMl书写网页内容,CSS用来修饰网页效果,JS添加网页功能)

HTML:超文本传输语言

  标签语言:

  标签: 每一个表都提前设置好了特殊的功能 ,xml

  单标签:独立功能,跟其他无关,也没有作用范围

  双标签:作用范围

  属性:

  属性 = 赋值

  4大属性:

  id,class,style,title

  DOM标签关系:

  嵌套标签 父子关系,兄弟关系,血缘关系

  标签:

  head:网页的配置信息,相关设置,其他文件的引入,跟具体的内容无关

  body:网页实际展示的内容

  h1~h6:标题标签,独占一行

  hr:居中横线

  <!--注释-->

  br:回车

  p:分段

  font:字体

  sub:下标

  sup:上标

  mark:强调

  超链接:标准用法:从一个网页链接到另一个网页

  <a href="http://www.baidu.com">点我</a>

  链接的地址  ,点击的内容

  锚点用法:从当前网页的一个位置链接到当前网页的另一个位置

  <a href="http://www.baidu.com"><img src="img/1.jpg"/></a>

  锚点:

<a href="#top">网上飞</a>

<a name="top">

  引入图片:

  <img src="img/1.jpg"/>

  src:本地资源,建议使用相对路径

  列表标签:

  ul:无序列表

  <ul>

  <li>列表项目1</li>

  <li>列表项目2</li>

  </ul>

  ol:有序列表

  dl:自定义列表

  <dl>

<dt>自定义列表题目1</dt>

<dd>自定义列表项目1.1</dd>

<dd>自定义列表项目1.2</dd>

<dt>自定义列表题目2</dt>

<dd>自定义列表项目2.1</dd>

<dd>自定义列表项目2.2</dd>

</dl>

块标签:一定范文 ,配合CSS 进行布局操作的标签

div:块级标签:无论内容多少独占一行,一般可以指定高度

span:行内标签:允许和其他内容共享一行,无法指定高度

框架:

<frameset rows="30,*">

<frame src="top.html"/>

<frame src="content.html"/>

</frameset>

背景:

background="img/1.jpg"

实体符号:

空格&nbsp; < &lt;  >&gt  &copy  &reg;

表格:

table

<table border="1px" width="100px" height="100px" cellspacing="0px" cellpadding="10px">

<tr><th colspan="2">1</th><th rowspan="2">3</th></tr>

<tr><td rowspan="2">4</td><td>5</td></tr>

<tr><td colspan="2">8</td></tr>

</table>

表单:一块前后台数据交互的通道

<form method="get" action="http://www.baidu.com">

method:数据传递的方式

get:不安全,效率高,快,地址栏传数据包,最大不能超过2k,不支持中文

post:安全(相对),效率低,慢,不用地址栏传数据,最大不能超过2g,有可能支持中文

控件:协助form采集数据和用户操作的标签

input:输入控件

type: 控件的类型

  text:文本类型 

  password:加密文本

  email:简单的@的检查

  date:日期格式的问题输入

  radio:单选按钮,想实现单选前提name必须相同;value建议把值进行修改,

( 辅助选中)

label  for="id"

checkbox:多选框:checked 默认选中

number:数字

url:网址

hidden:隐藏

file:文件

非type:

select:下拉列表

option:下拉列表项

textarea :文本框(rows,cols:大小)

常用属性:

size:输入框可见长度

maxlength:最大输入长度

selected:下拉列表默认项目

multiple:下拉列表多选

checked:按钮默认项目

disable:置灰,不可以传输数据,不能改

readonly:不能改,可以传递数据

name:传递的数据的键

id:唯一定位元素的值

value:控件的数据

autofocus:自动获取焦点

placeholder:提示信息

required:必填项

list:提示列表id

type(button):submit提交,reset重置,button

HTML5中新的语义元素:分担div的语义标签,优化搜索引擎和语义引擎

<header>

<nav>

<section>

<article>

<aside>

<figcaption>

<figure>

<footer>

CSS:层叠样式表 ,美化网页内容,布局网页

div:独占一行有高度的区域标签

span:可以和其他元素共处一行的没有高度的范围标签

引入方式:

内联:style属性:值等于css代码,(程序员临时测试用)

内嵌:style标签:只能写在head标签范围内,当前网页独有的效果

外联:link标签:引入css文件,整个网站通用的效果

(引包,导入)不建议用性能差

Css语法:

选择器{

属性:值

}

继承:部分属性默认允许继承

层叠:后续效果覆盖之前的效果,同时发生。

选择器:

基础选择器:

1.标签选择器:必须全选这个标签

2.id选择器:#开头

3.类选择器: .className

复合选择器:

*:所有元素都选择

                                        ,:组合选择器

                                        + :兄弟选择器(只选弟弟)

                                        ' ':后代选择器

                                        >:直接子 元素选择器

                                        []:属性选择器

                                      :not() :取反选择器

                                        [attribute="value"]:属性值选择器

                            伪类选择器:

                            lvha

                            :link ->  当a标签被链接之前

                            :hover ->  当元素被鼠标悬浮之时

                            :active -> 当元素被鼠标左键点击之时

                            :visitied ->  当a标签发生超链接之后

                            :focus ->  当元素被获取焦点之时

优先级: 选择器: id>class>标签

引入方式:内联>内嵌>外联

就近原则

!important

属性:

color:颜色 rgba(r,g,b,透明参数)

font-family:字体 ,英文前 中文后

font-size: 字体大小

font-style: italic; 文字斜体

font-weight : bold; 粗细

letter-spacing:字母间距

word-spacing:单词间距

text-indent:字体两倍大小缩进

行内元素的水平居中:

text-align:center

列表:

list-style-type:none

去掉列表的默认选项

表格:

表标题位置

caption-side:bottom ;

其他:

鼠标的皮肤

cursor: text  ;

边框:

border: 1px solid red;

border-radius: 400px;

圆角矩形

范围(尺寸):

height:高

width:宽

针对div有效,对于span无效

背景:

background-image: url( );

background-color: yellow;

background-repeat: no-repeat;

background-position: 50% 50%;

background-attachment:fixed;

CSS精灵(应用)

布局:

一般的布局模式:

最大的网页内容区准备一个大的父元素,margin: 0 auto

position:relative

默认文档流模式:所有元素默认出现在文档的左上位置

1.table:不灵活

2.盒子模型:格灵活

  任何元素(标签+文本)都自带一个矩形的包装盒(所在位置的格子),通过对盒的调整可以间接的调整元素的位置

  marging(外边距)+border(边框)+padding(内边距)+content(内容)

    默认指定的长宽是 content

    盒子中所有元素统一同页面对比换位置建议用marging

    box-sizeing : border-size; 整个盒子的大小

    缺点:本质上是很少的格子的表格,比表格灵活简单,但是盒子之间还是容易互相影响

  居中:margin: 0 auto;

3.定位:不影响其他盒子,指哪放哪

定位的计算量比较大成本高,坐标原点固定,适配性不强

position:

static:默认文档流

absolute:绝对定位

relative :相对定位

fixed:固定定位

绝对定位和相对定位的区别:

1.对后元素或者父元素会造成影响,相对定位保留自己所在行的空间,绝对定位放弃自己原来所在行的空间

2.相对定位的基础坐标系是自身左上角

  绝对定位的基础坐标系是(特殊(默认的特殊父元素是body))父元素的左上角

4.浮动:不需要计算纵坐标

缺点:浮动会导致后元素,或者父元素异常

清除浮动:

div id="clear"

#clear{

clear:both;

}

#main:after{

content: ".";

display: block;

clear: both;

visibility: hidden;

}

5.弹力..网格..:兼容性

JavaScript:表单验证,各种网页特效,数据传输,

代码使用方式:

a:

<a href="javascript:alert(1)">点我啊</a>

onclick:

<button type="button" onclick="alert('吓死你')">点我</button>

内嵌:

<script type="text/javascript">

var a = 1;

console.log("打出来个xxx");

</script>

外联:

<script type="text/javascript" src="js/js1.js"></script>

ECMAscript:5.0 :基于对象的语言

变量:动态语言,弱类型

var a; //变量的声明

作用域:1全局变量

2局部变量(函数内声明的叫局部变量)

3没有块这个概念

数据类型:

基础数据类型:

  number:数字型

  NaN:不是一个数的数,属于number

  Infinity:无限大的数

  -Infinity:负无穷大

  支持16进制,8进制

  String:字符串  ""  ''

  boolean:布尔型

  undifiend:未定义类型:只定义不赋值的数

  null:空类型  typeof null 返回object 是一个bug

复合(引用)数据类型:

  对象:

  函数(极其特殊):

  数组:

  包装类:

  NUMBER

  STRING

  BOOLEAN

如何确定一个数据的类型:

1.typeof 擅长于基本数据类型,但是对于null和所有的对象无法细分

2.instanceOf 能帮我确认值是否属于某种复合数据类型

3.obj.constructor.toString()  ,可以用来区分所有的非null,undefined的复合数据类型

通过自定义函数:

function TypeOf(a){

var s = typeof a;

if(s=="object"){

if(a === null){

console.log(null);

}else{

console.log(a.constructor.name);

}

}else{

console.log(s);

}

}

类型转换:

显示:

Boolean():

数字,0,NaN为false

字符串,空字符串转为false

undefined false

null false

Number()

  true 1

  false 0

  null 0

  undefined  NaN

  "123"  123

  "123xp"  NaN  

String(): 把一切转成字符串

隐式:

基本数据类型的隐式转换

Boolean()

Number()

String()

如果做比较优先Numnber()

如果在+左右有字符串则使用String()进行拼接; - 字符串则使用Number();做逻辑运算会优先使用Boolean()

复合数据类型隐式转换:

obj.valueOf() ,再掉toString()

[]+{} ; {}+[]

运算符:

== 值 相等

=== 值和类型 同时相等(NaN != NaN,通过isNaN()判断是否是NaN)

判断isFinite(是否有限)

运算方法:

0/0 = NaN

1/0 = infinity

运算方法:

||

    只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。

    只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。

&&

    只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;

    只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

流程控制:

增强for循环:

for(var i in a){

console.log(a[i]);

}

try{}catch(e){} finally{}

函数:

自定义函数:

1.函数的定义:

function  函数名字(形参...){

}

2.函数表达式(声明):

var 函数名 = function(形参){}

函数的调用:

函数名字(实参...)

定义:可以先调用后创建函数

表达式:不可以提前调用

函数的高级用法:

自更新:

var haha = function(){

console.log("haha");

haha = function(){

console.log("hehe");

}

}

回调函数:

console.log(getReturn(function() {

return 3 - 1;

}, function() {

return 1 - 2;

}));

arguments是实参的值的数组

重载:

function sum(){

var sums = 0;

for(var i in sum.arguments){

sums = sums + sum.arguments[i];

}

console.log(sums);

}

sum(1,2,3,9,6,8,4);

函数的闭包: function getA(){

var  a = 1;

a = a+1;

return  function(){

return a;

}

}

系统api函数:

encodeURI:转码

decodeURI:解码

eval:运行js源代码的字符串

isNaN:判断是否NaN

isFinite:判断是否有限

Number(),String(),Boolean基本数据类型转换

parseInt: 可以根据指定的进制把字符串转成数字,碰到第一个字符串就停止转换

parseFloat:

对象:

自定义对象:

var obj = {}  //空对象 ,对象字面量

var obj2 = new Object(); //空对象

添加属性:

.属性 = 值

删除属性:

delete obj.属性

增强for循环查看对象的所有属性:

for(var i in o){

  console.log("属性名:"+i+"  ,属性值为:"+ o[i])

}

通过构造器来创建对象:

function Student(name,age){

// {}

this.name = name;

this.age = age ;

this.learn = function (){console.log("学习让我进步")}

//return

}

var chenhao = new  Student("陈浩",18);

js面向对象:

function Student(name,age){

this.name = name;

this.age = age ;

}

Student.prototype.learn = function (){

console.log("学习让我进步")

}

var chenhao = new  Student("陈浩",18);

var lichongyang = new  Student("李重阳",18);

console.log(chenhao.name+"  "+lichongyang.name);

chenhao.learn();

lichongyang.learn();

系统api对象:

Number:

parseInt()

parseFloat()

Object

String

:charAt()指定位置的字符串

  charCodeAt()获取unicode编码

  indexOf()指定字符串求位置

  lastindexof()

  replace:替换

  split:根据内容分数组

  substr: 起始到昌都截取

  substring: 坐标之间截取

  tolowerCase:转小写

  属性:length

Date:1900年

Math:

Math.floor(Math.random()*10)+1;

RegExp:正则表达式

三种模式:i g m

具体的语法:

背:身份证!

    ip地址!

    邮箱!

    邮编!

    中文!

    test:判断是否匹配

    exec:返回具体的匹配值

Array:

var arr = [1,2,3,4,"56"];

join( ) :指定分隔符号,把所有的数组元素组合成一个字符串

concat():拼接数组,参数直接追加

pop(): 返回数组的最后一个元素,并删除

push(): 追加一个元素到数组的末尾

shift(): 返回数组的第一个元素,并删除

unshift(): 插入一个元素到当前数组的首位,其他元素顺移

reverse():内容反转

sort():排序

a.sort(function(a,b){ if(a>b){return 1;}else if(a==b){return 0} else{return -1};})


    Events:

    代码执行:

    1.页面加载

    2.事件触发:

    1级事件  :onclick  点击

      onmousemove  移动  event.clientX/Y

      onmouseout 

      onmousedown

      onselect 选中文本

      onfocus  获取焦点

      onblur  失去焦点

      onload  网页加载完成

      onkeyDown  按下

      onkeyup  抬起

      onkeypress  按下或抬起

      event.keycode

  2级事件:     var buttons=  document:.getElementsByTagName("button"); 

  buttons[0] = function(){ alert(1)}

      3级事件:

      chrome:buttons[0].addEventListener('click',haha);

      IE:buttons[0].attachEvent('onclick',haha);

    选中一个操作对象(html元素)+选择一个事件+书写一个事件处理的函数网页的内容(DOM +Dom可以修改网页的内容和CSS)

BOM:

Window  当前窗口

属性:

name

top:

常用API:

alert(""):通知

confirm(""):请求  确定返回true ,取消返回false

prompt("",""):提问  问题,默认回答 ; 更改的内容作为返回值

close():关闭当前窗口

open():打开指定的窗口 ,通过描述字符串可以指定打开窗口的样式和功能

moveBy():移动多少坐标

moveTo():移动到多少坐标

计时器:

setInterval(回调函数,毫秒数): 每隔多长时间执行一次功能

setTimeOut: 多久之后执行功能

--

setTimeOut 实现 setInterval 的功能

setInterval 实现 setTimeOut 的功能

clearInterval: 清除interval

clearTimeOut: 请成绩tomeOut

location:地址栏

属性:

href:完整url

reload:刷新页面,把当前的地址重新载入

History:历史

length:url数量

go:+ foward  - back

Screen :屏幕

height

width

availheight

availwidth

Navigator :

userAgent

DOM:window对象的一个属性:当前网页的文档内容

当浏览器加载某个网页之后,会把网页中所有内容根据dom树模型生产对应的对象关系

js可以通过dom的api的操作来间接的改变文档内容

三种节点:Node

  Element( Attribute)    Text   

Document:

getElementsByTagName("div"):或者相同标签的数组

getElementById("asd") :通过ID获取对象

getElementsByName("username"):或者相同name属性值的数组

write():书写文本或者标签 ,容易覆盖之前的内容,不建议使用

Element:

属性:

innerHTML:双标签之间的内容

firsetChild:第一个子标签(手写代码中容易是文本标签)

lastChild:最后一个子标签

parentNode:父节点

nextSilbiling:下一个节点

previousSibiling:上一个同级节点

childNodes():返回所有子节点的集合

增加节点:

var el1= document.createElement("div")

//创造新元素节点

var div1 = document.getElementById("div1");

//寻找父元素

div1.appenedChild(el1;)

追加

//指定位置

var span1 = document.getElementById("span1");

div1.insertBefore(el1,span1);

删除子节点:

div1.removeChild(span1);

替换字节点:

div.replaceChild(span1);

style.css属性(组合属性的单词去掉- ,首字母大写)

Form:

文本框:  select():主动选择文本

  focus():获取焦点

  checked:当前是否被选中,true选中,false没有

  select.options:下拉列表的列表项目集合

  new Option("菠萝",2):生成一个新的下拉列表项

  select.options.length = 0;:清除所有的下拉列表项

  selectedIndex:当前选中的下拉列表项

原型链:

闭包:  突破作用域链

找个网页:

练习题:

带背

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,718评论 2 17
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,095评论 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,422评论 1 45
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,828评论 0 0
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,056评论 1 10