Web总结

Web开发

1.Web前端:基础Html静态页面 css样式表 JavaScript动态的特效

基本的概念:URL: http://localhost:port/path/file

http这是一种无状态的连接协议

Web开发的基本结构:

C/S结构

B/S结构 Java的主要开发结构

image.png

前端的开发工具:HBuilder WebStorm VScode Sublim

文档 1.W3C 2. https://www.runoob.com

2.Html(超文本标记语言) 版本 html4 html5

3.CSS层叠样式表:负责页面的排版以及美化

· CSS 指层叠样式表 (Cascading Style Sheets)

· 样式定义如何显示HTML 元素

· 样式通常存储在样式表中

· 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题

· 外部样式表可以极大提高工作效率

· 外部样式表通常存储在CSS 文件中

· 多个样式定义可层叠为一

image.png

层叠次序

当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?

一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。

1.浏览器缺省设置

2.外部样式表

3.内部样式表(位于 <head> 标签内部)

4.内联样式(在 HTML 元素内部)

因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head> 标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。

总结:以上三种样式是有优先级的 内联样式>内部样式>外部样式。
内部样式表>外部样式表有一个前提:外部样式表一定要写在内部样式表的前面。总体来说:就近原则(离被设置元素越近优先级就越高)

CSS 类选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

id 选择器以 "#" 来定义。

类选择器:.选择器名称

Id选择器与类选择器的区别?

相同点:可以应用于任何html元素

不同点:

1.id选择器只能在文档中使用一次而类选择器可以使用多次

2.可以使用类选择器为一个元素同时设置多个样式,而id选择器是不可以的。

子元素选择器:使用(>)主要用于选择指定标签元素的第一代子元素

后代选择器:可以使用(空格)用于选择指定标签元素下的后代元素

总结:>作用于元素的第一代后代 空格:作用于元素的所有后代

通用选择器(*):它的作用是匹配html中所有的标签元素

分组选择器:element,element

注意:

1.CSS是具有继承性的:它就是一种规则,它允许样式不仅应用于某个特定的html标签元素,而且也可以应用其后代

2.CSS是具有特殊性的,从例子中可以看到green生效了?为什么呢?浏览器会根据一个权值一判断使用哪一种样式。使用的是权值最高的样式。

权值的定义:标签的权值为1 类选择器的权值为10 ID选择器权值为100

P span 它的权值如何计算:1+1=2

P span .waring 它的权值是:12

3.CSS具有层叠性:当权值相同的时候,后面的样式会覆盖前面的样式

4.重要性 !important

元素的分类

Html中的标签分类:块级元素 内联元素(行内元素) 内联块级元素

常见的块级元素:<div> <p> <h1>…<h6> <ol> <ul> <table> <form>

常见的内联元素:<a> <span> <strong> <em>

常见的内联块元素:<img> <input>

块级元素<div> <p> <h1>…<h6> <ol> <ul> <table> <form>。块级元素的设置 display:block 作用:将元素显示为块级元素

块级元素的特点:

1.每个块级元素都会从新的一行开始(独占一行)

2.元素的高度 宽度 行高 顶边距以及底边距都是可以设置的

3.如果元素不设置宽度,它是本身父容器的100%(和父元素的一样)

行内元素(内联元素 inline)特点:

1.在同一行显示

2.元素的宽度以及高度是不可以设置的

3.元素的宽度就是它包含文字或图片的宽度,是不可变的

内联块(inline-block):就是同时具备内联元素以及块级元素的特点

元素的特点:

1.和其它元素在同一行来显示的

2.元素的宽度以及高度是可以设置的

盒子模型

Margin外边距

Padding 内边距

Border 边框

盒子模型的宽度以及高度和平时理解的是不一样的,CSS内定义的宽度以及高度指的是填充以里的内容范围。

image.png

CSS的布局模型(3种)

  1. 流动模型(Flow)
  2. 流动模型它是网页默认的布局方式,块级元素,它会垂直分布,因为块级元素默认的宽度为100%,而内联元素在此模型下是从左到右水平分布的。
  3. 浮动模型(Float)
  4. 层模型(Layer):它有三种类型 绝对定位 相对定位 固定定位

绝对定位:需要用到position:absolute表示绝对定位,它可以将元素从文档流是拖离出来,然后可以使用一些属性left right top bottom相对于其最近的一个具有定位的属性的父包含块进行绝对定位,如果不存在,它会相对于body元素(相对于浏览器的窗口)

相对定位:需要用到position:relative可以使用一些属性left right top bottom来确定元素在正常文档流中的偏移位置。偏移前的位置保留不动

NPM:包管理工具,通过这个命令可以在NPM服务上安装所有需要的前端框架

NPM如何安装:NodeJS https://nodejs.org/en/

安装之后到命令窗口输入Npm –version

Npm install 所要安装的框架

JavaScript

  1. JS的作用

  2. ECMAScript(标准、核心部分) ES3 ES5 ES6 ES7

  3. JavaScript的组成部分
    a) ECMAScript(标准、核心部分) 基本的语法
    b) DOM(Document Object Model文档对象模型)
    c) BOM(浏览对象模型)

  4. js可以写在什么地方
    a) 可以写在head头里
    b) 可以写在body的最后
    c) 区别:如果写在头里面,当页面加载的时候首先会执行js,然后才会加载其它的内容,如果写在body里面:它会先加载页面的内容,然后再执行js脚本
    5.js可以写入输出 对事件做出反应 改变html的内容
    可以改变样式 可以对表单做验证

  5. ECMAScript中有5种简单数据类型:
    Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。ECMAScript不支持任何创建自定义类型的机制,所有值都成为以上6中数据类型之一。

  6. 函数的声明
    1.普通的函数声明
    function box(num1, num2) {
    return num1+ num2;
    }
    2.使用变量初始化函数
    var box= function(num1, num2) {
    return num1 + num2;
    };
    Js中除了自定义对象之外还提供了一些内置对象:String
    Date Array
    Array:在文档中提供了三个属性

image.png

constructor

length

prototype

函数的总结
1.当一个函数没有明确的返回值的时候,返回的值就是undefined
2.在使用return的时候,函数就会停止执行。并返回指定的值(具体的值/函数)。
3.return会返回唯一的一个值,那么也可以返回一个函数

<script type="text/javascript">
        var box = function() {
            var a = 1;
            return function(){
                alert(a++);
            }
            alert(a);
        }
        
        var newFunction = box();
        alert(newFunction());
    </script>

4.匿名函数
d) 如何定义

function(){
return “这是一个匿名函数”
}
  1. 函数的自执行
(function(){
        alert("这是一个自执行函数");
    })();
//如果有参数
(function(age){
            alert(age);
        })(10);
  1. 在JS中函数的参数也可以传递函数function
function box(sumFunction,num) {
    return sumFunction(num);
}

var sum = function(num){
    return num+10;
}

var result = box(sum,10);
alert(result);

BOM: 浏览器对象模型(Browser Object Model (BOM))允许 JavaScript与浏览器对话。

浏览器对象模型包含的对象:

· Window: 所有浏览器都支持window对象。它代表浏览器的窗口。

· Navigator

· Screen

· History:对象包含浏览器历史。****history.back() history.forward()

· Location: 对象可用于获取当前页面地址(URL)并把浏览器重定向到新页面。

HTML DOM 树


image.png

Insensible:
通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。
• JavaScript 能够改变页面中的所有 HTML 元素
• JavaScript 能够改变页面中的所有 HTML 属性
• JavaScript 能够改变页面中的所有 CSS 样式
• JavaScript 能够对页面中的所有事件做出反应

Window对象的方法

image.png

setInterval()

setTimeout()

alert()

confirm()

prompt()

image.png

back()
forward()
go()

Window.document对象
每个载入浏览器的 HTML 文档都会成为 Document 对象。
Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。

image.png

getElementById()

getElementsByName()

getElementsByTagName()

关于Html,css,js的基础

P ul ol hr br strong em form input a img

Span div table select option header nav

Section footer aside

表单的元素:text password button submit reset

Radio checkbox file hidden date textarea

CSS:

外部样式表:不需要<style>标签 使用link标签来调用外部样式表,有什么好处?可以使网站简洁,风格统一。

Insensible:
JS:

1.JS中的对象:自定义对象 内置对象Array

String

RegExp

以下对象都属于BOM

Window

Navigator

Screen

History:go(-1) back()加载 history 列表中的前一个 URL。Forward()加载 history 列表中的下一个 URL。

Location:reload()方法 属性href

2.获取元素的三种方法:

getElementById() getElementsByName() getElementsByTagName();

<script type="text/javascript">

 function getValue() {

 var x = document.getElementById("username").value;正确的

 document.username.value;不正确的

 document.form1.username.value;正确的

 alert(x);

 }

 </script>

 <form action="" method="post" name=”form1”>

 <!--如何获取到当前文档框的值-->

 <input type="text" id="username" />

 <input type="button" value="ok" onclick="getValue()"/>

      </form>

Html中每个标签都会对应一个DOM对象

1.setInterval(code执行多次)与setTimeout(指定的毫秒后code执行一次)的区别

基本语法:setInterval(code,millisec[,"lang"])

setInterval(“show()”,50)在指定的周期内执行多次show()方法

setTimeout(“show()”,50)在50毫秒后调用一次show方法

4.Form对象中[elements[]]的用法(http://www.w3school.com.cn/jsref/coll_form_elements.asp)

求表单元素的个数

var x = document.form1.elements.length;

var x = document.form1.length;

document.form1.elements[0]获取到表单中指定的元素

5.如何向selec中动态的添加option选项

selTerm.add(new Option(i),null);

如何清空下拉框中的选项

selCourse.options.length =0;

3.通过js可以动态改变样式

<div id="imageLayer" style="display: none;">dfadf</div>

<script type="text/javascript">

 document.getElementById("imageLayer").style.display="block";

</script>

这是一个链接

表单:

<form action=”服务器端的资源” method=”post” id=”form1” name=”form1”></form>

Post与get的区别

表单的元素:<input type=””>text password file hidden date email radio checkbox select
全局函数

Eval() isNaN() decodeURI()encodeURI()

var a = "3",b="4";

alert(a+"+"+b);

//****如果 x 是特殊的非数字值 NaN****(或者能被转换为这样的值),返回的值就是 true****。如果 x 是其他值****,****则返回 false****。

alert(isNaN(a));//false

//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

alert(eval(a+"+"+b));

目录的结构:****../ / ../../../

如何改变堆叠次序:****z-index

面中的图像加入超链接后,默认情况下都带有一道黑框,如何去掉它呢?

border="0"

在****CSS****中下面哪种方法表示超链接文字在鼠标经过时,超链接文字无下划线

A:hover {TEXT-DECORATION: none}

CSS****有三种选择符,分别是标签选择符,类选择符和****ID****选择器。

通过****readonly****属性可以设置文本框为只读。

<pre style="background:white;word-break:break-all">JS****中的基本数据类型****Number String****Boolean Null</pre>

Undefined

*var a=“aaaa”; parseInt(a) NaN

** var a=“2aaa”,parseInt(a) 2

** eval“2+3”) 5

在****HTML5****规范中,定义了****<video>****和****<audio>****标签,请写出标签作用

标签****<video> 元素定义视频:****<video width="1280" height="720" controls src="video.mp4">****您的浏览器不支持 video 标签。****</video> 标签****<audio> 元素定义音频,比如音乐或其他音频流 <audio src=****“****audio.mp3****“ controls>****您的浏览器不支持 audio 标签。****</audio> 属性: autoplay 视频在就绪后马上播放。 controls 向用户显示控件,比如播放按钮。 height 设置视频播放器的高度。 loop 当媒介文件完成播放后再次开始播放。 src 要播放的视频的 URL****。 width 设置视频播放器的宽度。

在****CSS****中,伪类及伪对象是什么,有什么特点

伪类及伪对象:由****CSS****自动支持,属****CSS****的一种扩展型类****名称不能被用户自定义****使用时只能按照标准格式进行应用

function fun(){

return 5;

}

var a=fun ;

var b=fun() ;

a与b有什么区别:第一个是将函数赋值给a

第二个b的值为5,表示调用函数,这个函数的返回值为5

Vue react react native foundation angularjs

Nodejs webpack glup

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

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,486评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,753评论 1 92
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,197评论 0 3
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,888评论 0 0
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,600评论 0 20