HTML+CSS、JS阶段总结(华清远见)

HTML+CSS、JS阶段总结(华清远见)

web

web三要素

1.浏览器

浏览器发送请求给服务器,下载服务器中的HTML,执行HTML显示出内容。

2.服务器

接受浏览器的请求,发送相应结果给浏览器。

3.http协议

浏览器与服务器的通讯协议

web学习的主要内容

1.html

用于勾勒出网页的结构和内容

2.css

用于网页的美化

3.js

以html和css为基础进行操作

web项目开发相关技术

 

HTML

HTML基本介绍

HTML:HyperText Markup Languages,超文本标记语言,是一种纯文本类型的语言

结构

 

<!DOCTYPE>声明

为浏览器提供声明HTML是用什么版本编写的

HTML标签

标题标签:h1~h6,字号逐渐变小,越来越细,会换行。写法为

<h1>文本内容</h1>

段落标签:p,字号默认,会换行。写法为

<p>文本内容</p>

文本标签:spandiv,没有默认的样式效果。写法为

<span>文本内容</span>//span标签为行内元素,不换行
<div>文本内容</div>//div标签为块元素,会换行

换行标签:br,用于换行。写法为

<br>

横线标签:hr,可以产生一条横线,可通过width属性设置其宽度,color属性设置其颜色。写法为

<hr width='300px' color='red'>

列表标签:分为有序列表和无序列表。

  • 有序列表:ol,列表会自动编号有序排列。写法为

    <ol>
        <li>文本1</li>
        <li>文本2</li>
        <li>文本3</li>
    </ol>
  • 无序列表:ul,列表按html的书写顺序排列,无编号。写法为

    <ul>
        <li>文本1</li>
        <li>文本2</li>
        <li>文本3</li>
    </ul>

样式标签:设置文本样式的标签,主要有加粗、倾斜、下划线、删除线等。写法为

<b>加粗</b>
<strong>加粗</strong>
<em>倾斜</em>
<i>倾斜</i>
<del>删除线</del>
<u>删除线</u>
<sub>上标</sub>
<sup>下标</sup>

图片标签:img,引用一张存在的图片,在网页上显示。用法为

<img src="xxx" alt="这是一张图片">//src为引用的图片资源的路径
//相对路径: 根据当前文件的路径,查找需要引用的资源的路径.
//绝对路径:从协议开始的全路径.
//alt: 如果图片没有正常加载成功,则显示alt的文字说明

超链接标签:a,点击超链接标签,可以让页面跳转到新的资源路径。用法为

<a href="xxx" target="_blank"></a>
//href属性:指定需要跳转的url地址(相对地址, 绝对地址)
//url:统一资源定位路径。(网络上可以访问的资源的路径)
//target属性:_blank,打开的内容显示在一个新窗口;_self,打开的内容显示当前窗口。

表格标签:table,用于实现一个表格。用法为

<table border="1" width="200px" cellpadding="5" cellspacing="0" align="center">
<!-- table标签的属性:
border,边框
width,宽度(默认的宽度有表格中的内容的宽度决定)
cellspacing="0",设置单元格之间的宽度
cellpadding="0",设置文本内容和表格边框的宽度
align : 表格显示位置-->
	<caption>表格1</caption>//设置表格的名字
	<tr>//表格的行元素
		<td>1</td>//表格的列元素(单元格)
	</tr>
</table>
<table border="1" cellspacing="0" width="300px">
			<caption>表格2</caption>
			<!-- thead : 代表表头 -->
			<thead>
				<tr>
					<!-- th和td类型, th中的文字会加粗 -->
					<th>文本内容</th>
				</tr>
			</thead>
			<!-- tbody:表格中的数据 -->
			<tbody>
				<tr>
					<td>文本内容</td>
				</tr>
			</tbody>
			<tfoot>
            <!-- tfoot:表格底部 -->
				<tr>
					<!-- table标签要求: 每行的列数相等, -->
					<!-- colspan="1" : 把n列合并为1列, 让每行的列数相等。 -->
					<td colspan="1">文本内容</td>
				</tr>
                <tr>
				<!-- rowspan="2" : 把两行的单元格合并为一个。让每行的列数相等 -->
					<td rowspan="2">1</td><td>2</td><td>3</td>
				</tr>
			</tfoot>
		</table>

表单标签:form,表单相关的标签,其内部嵌套用于用户输入数据的标签。写法为

<form action="#" method="get" enctype="application/x-www-form-urlencoded">
			 <!--  for:label的for属性对应的数据值时input标签的id。 
			 那么单击label标签的时候,input标签获取焦点(光标就在输入框内部, 用户就可以直接输入数据。) -->
			 <label for="inputname">用户名:</label>
			 <!-- 
			     input标签: 用于用户输入数据
				 * type: 设置标签的类型,对用户输入的数据进行一些设置
				 * name: 用户输入的数据,传输到服务器端的时候 , java程序根据name的值,获取到输入框的数据。
				 * value: 对应的就是用户输入的数据值
			  -->
			 <input id="inputname" type="text" name="username" value="tom" /><br>
			 <label for="inputpwd">密码:</label>
			 <input id="inputpwd" type="password" name="userpwd" /><br>
			 <!--  type="submit":提交请求(请求的地址 + 请求的参数)的按钮  , 单击按钮触发表“单提交事件”
			       “表单提交事件” : 发送请求给服务器,并且把请求参数(用户输入的数据)也传输到服务器端。
				   http://127.0.0.1:8848/web01/day2/xxx.html?username=tom&userpwd=1234
				         url                                ?     参数 (&参数之间的分隔符)
			 。-->
			 <input type="submit" value="提交" />
			 <!-- type="reset" , reset事件, 清空表单中的数据值 -->
			 <input type="reset" value="重置" />
</form>
<form action="#" method="post" enctype="multipart/form-data">
			 单行文本框: <input type="text" name="user" /><br>
			 密码框:<input type="password" name="pwd" /><br>
			 隐藏域:<input type="hidden" name="hide" /><br>
			 文件上传:<input type="file" name="photyo" /><br>
			 <!--  单选按钮:①一般一组单选按钮,需要设置相同的name值,才能保证只有一个按钮被选中。 
			                ② 标签后面的文本提示,是给用户看的, 标签的value值时给 程序使用的。
							   (程序中用0表示男,1表示女)
							③ checked="checked" ,表示设置为默认选中
			 -->
			 单选按钮:<input type="radio" name="sex" value="0"/> 男
			 <input type="radio" name="sex" value="1" checked="checked"/> 女  <br>
			 复选框:<input type="checkbox" name="hobbys" value="看书" checked="checked" /> 看书
			 <input type="checkbox" name="hobbys" value="弹琴" /> 弹琴
			 <input type="checkbox" name="hobbys" value="跑步" /> 跑步<br>
			 下拉列表(单选):<select name="city">
				         <option>请选择</option>
						 <option value="0">上海</option>
						 <!-- selected="selected" : 设置默认选中项 -->
						 <option value="1" selected="selected">北京</option>
						 <option value="2">天津</option>
					 </select><br>
			下拉列表(多选):
			<!-- multiple="multiple":用于设置下拉列表,支持多选  -->
			<select name="language" multiple="multiple" size="6">
				<option value="java">java</option>
				<option value="c">c</option>
				<option value="c++">c++</option>
				<option value="python">python</option>
				<option value="html">html</option>
			</select><br>
			多行文本框:
			<!--  cols="5" :设置宽度  rows="10" :设置高度 -->
			  <textarea name="info" cols="5" rows="10"></textarea><br>
			submit:<input type="submit" value="提交数据" /><br><br>
			reset:<input type="reset" value="清空数据" /><br>
			button:<input type="button" value="普通按钮" /><br>
			
分组标签:
<fieldset>
	<legend>地址</legend>
	邮箱: <input type="email" name="email" />
				
	年龄: <input type="number" name="phone" />
	date: <input type="date" name="date" />
	颜色:<input type="color" name="color" />
			submit:<input type="submit" value="提交数据" /><br><br>
</fieldset>

iframe标签:在网页中,可以通过src的路径找到新的网页,嵌套在当前网页中。写法为

<iframe src="xxx" width="100" height="100"></iframe>
		<iframe src="xx" width="100" height="100"></iframe>
		<ul>
			<!-- a标签的target ,指定为iframe标签的name值 , 那么超链接的内容,则显示到iframe标签中。   -->
			<li><a href="xxx" target="content">文本</a></li>
			<li><a href="xxx" target="content">文本</a></li>
			<li><a href="xxx" target="content">文本</a></li>
		</ul>
		<!--  单击li中的超链接,把超链接的内容显示到iframe标签中。 -->
		<iframe src="xx" width="300px" height="300px" name="content" ></iframe>

每个标签都有style属性, 用于设置标签的样式,如

  • width="xx";---宽

  • height="xx";---高

  • border: 1px solid green; --- 边框 (宽度 ,类型, 颜色)

  • background-color: gray; --- 背景颜色(颜色值)

CSS语言

css(Cascading Style Sheets):层叠样式表,又叫级联样式表,简称样式表

用于HTML文档中元素的样式定义,实现网页的美化

实现将内容和表现分离

CSS的三种使用方法

1.内联样式

样式定义在单个的HTML元素中

2.内部样式

样式定义在HTML页的头元素中

3.外部样式

将样式定义在一个外部的css文件中,由html页面引用样式表文件

CSS的语法规则

样式表由多个样式规则组成

每个样式规则有两个部分:选择器和声明

  • 选择器:决定哪些元素使用规则

  • 声明:由一个或者多个属性/值对组成,用于设置元素的外观表现

CSS的特征

继承性

大多数css的样式规则可以被继承

层叠性

可以定义多个样式表,多个不冲突的样式可以层叠为一个

优先级

样式你故意冲突时,按照不同样式的规则优先级来应用样式

下面是上述内容在代码内的具体表现

<head>
<style>
	h1{
		border: 2px dotted aqua; /*边框:宽度 类型 颜色*/
		color: red; /*字体颜色*/
	}
		
	h2{
		color: green;
		font-size: 50px;
	}
	#h3{
		border:  2px solid black;color: green;
	}
	h3{
		font-size: 50px; color: yellow !important;/*!important: 设置样式的优先级最高*/
	}
</style>
<link href="./p3.css" type="text/css" rel="stylesheet" /><!-- 导入外部的css文件 -->
</head>
<body>
	<!-- css特征:
		① 继承性: 父元素的一些样式,会被其子元素继承。比如字体颜色。
		② 层叠性: 一个元素可以有多个样式效果进行叠加。
		③ 优先级: 浏览器默认样式< 标签的默认样式 < [外部样式/内部样式/内联样式] 
		          ** 外部样式/内部样式/内联样式: 根据谁后写,谁优先。
	 -->
	 <!--  继承性 -->
	 <div style="background-color: red; color:  white;">
		 <p>文本内容</p>
		 <a href="#" style="color: white;">a标签</a>
	 </div>
	 <!-- 层叠性 :
	 background: yellow; 背景色
	 font-size: 20px;  字体大小
	 color:  #FF0000;  字的颜色
	 font-weight: bold;  字体的粗细
   	 width: 300px; height: 100px; 标签的宽,高
	 overflow: scroll; 溢出,则使用滚动条。
	 -->
	 <p style="background: yellow;font-size: 20px; color:  #FF0000;
	  font-weight: bold; width: 300px; height: 100px; overflow: scroll;">文本内容</p>
	 <!-- 优先级 -->
	 <!-- 内联样式的优先级高于内部样式和外部样式 -->
 	 <h1 style="color:green;">文本内容</h1>
	 <!--  内部样式和外部样式: 谁后写,谁优先。 -->
	 <h2>文本内容</h2>
	 <!-- 练习:通过内部样式设置 h3 : ① 根据标签选择器设置h3标签字号50px , 字体颜色黄色。 
		                          ② 根据id选择器,设置h3标签边框 , 字体颜色绿色
	 -->
	 <!-- ** id选择器优先级 >  class选择器  > 标签选择器    -->
	 <h3 id="h3" style="color: pink;">文本内容</h3>
	 <!--  使用三种不同的方式给标签设置样式,不冲突情况就是都有效(层叠性),冲突则以优先级为准(优先级)。 -->
</body>

CSS的选择器

 

  • 元素选择器:即标签选择器,元素名即标签名

  • 类选择器:即class选择器,根据设置的class选择对应的标签

  • 分类选择器:元素选择器和类选择器一起使用

  • id选择器:根据设置的id选择对应的标签

  • 选择器分组:一次性选择多个标签进行样式设置

  • 派生选择器:找到子类选择器,如图中为找到p标签下的类名为main的标签

  • 伪类选择器:伪类用于向某些选择器添加特殊的效果,使用冒号(:)作为结合符,结合符左边是其他选择器,右边是伪类 常用伪类:

    • :link 页面上从来没有点击过的链接

    • :active 选择活动链接,并设置其样式

    • :visited 选择已访问的链接,并设置其样式

    • :hover 鼠标悬停的状态

    • :focus 获取焦点的状态[对有键盘焦点的元素设置

    • :first-child 元素的第一个子元素添加样式

CSS常用单位

尺寸单位

%:百分比 in:英寸 cm:厘米 mm:毫米 pt:榜(1pt=1/72英寸) px:像素(计算机屏幕上的一个点) em:1em等于当前的字体尺寸,2em等于当前字体尺寸的两倍。(移动端用的多)

颜色单位

rgb(x,x,x ):RGB值,如rgb(255,0,0) x的取值范围0~255 rgb(x%,x%,x%):RGB百分比值,如rgb(100%,0%,0%) #rrggbb:十六进制数,如#ff0000 #rgb:简写的十六进制数,如#f00

CSS样式

  • 尺寸相关样式

    • width:宽

    • height:高

    • overflow:当内容溢出元素框时的处理方法

      • visible:溢出部分可见,溢出的默认的处理方式

      • hidden:隐藏溢出部分

      • scroll:溢出的内容通过滚动条查看

      • auto:继承父元素的溢出处理方式

  • 边框属性

    • border: width style color:分别对应宽度、样式、颜色

    • border-left/right/top/bottm: width style color:设置边框左边/右边/顶部/底部的宽度、样式、颜色

    • border-left/right/top/bottm-width/style/color:设置边框左边/右边/顶部/底部的宽度/样式/颜色

  • 框模型

框模型(Box Model)定义了元素框处理元素内容、内填充、边框和外边距的方式

width和height指内容区域的宽度和高度

增加内填充、边框和外边距不会影响内容区的尺寸,但是会增加元素框的总尺寸。

  • 背景

    • 背景色 :background-color

    • 背景图像:

    • background-image:url();

      background-repeat:repeat/repeat-x/repeat-y/no-repeat;

      background-position:left top;

      background-attachment:scroll/fixed;

    • 组合设置:background:颜色 背景图片 重复方式 背景图片是什么方式显示 left top;

  • 文字和table相关样式

    • 文字样式

      指定字体:font-family:value1,value2; 字体颜色:color:value 字体大小:font-size:value 字体加粗:font-weight:normal/bold; 文本排列:text-align:left/right/center 行高:line-height:value 文字修饰:text-decoration:none/underline 文本缩进:text-indent:value;

    • 表格样式

      垂直对齐

      — vertical-align:top/middle/bottom

      边框合并

      — border-cellapse:separate/cpllapse

      边框边距

      — border-spacing:value

  • 标签的显示方式

    • display: none; -- 隐藏标签。

    • display:block; -- 设置为块级元素

    • display: inline ; -- 设置为行内元素

    • display: inline-block ; -- 设置为行内块级元素。

  • 流定位

    • 页面中的块级元素框从上到下一个接一个地排列

      — 每一个块级元素都会出现在一个新行中

      — 元素框之间的垂直距离是由框的垂直外边距计算出来的

    • 行内元素将在一行中从左到右排列水平布置

      — 不需要重新开始

      — 可以使用水平内边距、边框和外边距调整它们的间距

  • 浮动定位

    • 浮动定位是指

      — 让元素脱离普通流定位

      — 将浮动元素放置在父元素的左边或者右边

      — 浮动元素依旧位于父元素之内

    • 浮动的框可以向左或向右移动,直到它的外边缘碰到父元素或另一个浮动框的边框为止

      — 经常使用它来实现特殊的定位效果

    • 设置浮动

      float:none/left/right

子元素浮动之后,父元素高度为0,造成溢出现象: 解决方式① 给父元素设置高度, ② 使用overflow,隐藏溢出。 标签浮动之后,影响了其他标签的显示。如果其他标签不想受其影响,可以在标签中通过clear,清除浮动的影响。

  • 定位:position

元素设置了position定位之后,可以通过top,left, right, bottom等样式设置元素的具体位置。

  1. 相对定位:relative , 参考自己本身原来的位置。

  2. 绝对定位:absolute , 参考的是自己的有相对定位的包裹元素, 如果直接父元素没有相对定位,那么就找父辈的, 如果最终也没有,那么就找html(body)为准。

  3. 固定定位:fixed , 参考html(body)--网页内容区域的左上角。

  • 层叠和透明性

    • opacity :背景和文字都透明

    • rgba: 背景透明,名字不透明

JavaScript

js的三种使用方式

  1. 事件定义的方式

  2. js嵌入到html页面,通过script标签来使用

  3. 把js相关内容写在单独的.js文件中,然后在html页面上,通过script标签的 src="xx.js"引入js文件,进行使用。

js知识点

变量

  • let变量名

  • let变量名=变量名

  • 变量的名字不能使用关键字

数据类型

  • string

  • number

  • boolean

  • null

  • undefined

运算符

  • 算术运算符

    +、-、*、/

  • 关系运算符

    <、>、==

  • 逻辑运算符

    &&、||、!=

  • 赋值运算符

    =

数据类型转换

  • 隐式转换

    • boolean参与运算的时候,true转为1,false转为0

    • 有string参与运算的时候,做的是字符串的拼接

    • 把变量直接用于条件判断的时候, 非空为true , 空为false

  • 数据类型转换函数

    • typeof(变量名)

    • toString()

    • parseInt()

    • parseFloat()

    • isNaN()

分支语句

  • if...else

  • if...

  • if...else if...

循环语句

  • for(let i = 0; i < n; i++){}

  • while(条件){}

  • 循环语句规则同java语法规则

获取元素的方式

  • document.getElementById(id值) : 根据id查找元素,结果是一个元素对象

  • document.getElementsByTagName(标签名字) : 根据标签名查找,结果是一个元素的数组对象

  • document.getElementsByName(标签的name属性) : 根据标签的name属性的值查找,结果是一个元素的数组对象

  • document.getElementsByClassName(标签class的值) : 根据标签的class的值查找,结果是一个元素的数组对象

修改和获取标签内部的内容

  • obj.innerHTML: 可以对文本和标签进行使用

  • obj.innerText:只能对文本进行使用

  • obj.value: 表单元素的value值的获取或者设置

修改标签的style

  • obj.style.width/height

  • obj.style.color

this元素

如下列代码中 this代表的就是当前触发单击事件的元素对象

οnclick="change(this)"

js对象

  • String

  • Number

  • Date

  • Boolean

  • Math

let str = new String("对象内容")

如上创建对象,可通过固定函数获取该对象属性,如

  • length:长度属性

  • toUpperCase():转大写

  • toLowerCase():转小写

  • charAt():找指定位置的字符

  • indexOf():找到就返回索引位置,否则返回-1

  • lastIndexOf():从后往前找

  • indexOf(x,num):从num位置开始找

  • substring():从指定位置开始找,找到原字符串的最后

  • replace(x,y):替换字符串

  • split():以指定元素分割原字符串

  • concat():将指定元素拼接到原字符串末尾

数组

let arr = new Array()

数组常用的函数:

  • join函数: 把数组按指定的字符串拼接为一个字符串

  • concat函数:用于给数组连接新的元素,可连接的元个数不定,原数组不会改变

  • slice函数:用于获取数组的子数组,可以指定获取的范围

  • reverse函数: 数组的反转,原数组变化了

  • sort函数:升序排序 ,按字符升序排序

setInterval(function(),time)函数

该函数为定时函数,意思是将函数function()每个time的时间调用一次,其中time=1000为一秒

arguments对象

js中的arguments对象:方法调用的时候,所有的参数都是保存在arguments对象中的,arguments本质就是数组

正则表达式

  • 能出现那些字符 [字符] , \d表示纯数字[0-9], \w匹配字母数字[0-9a-zA-Z] .....

  • 出现的字符的个数{n} , {n,m} , +等价于{1,} , ?等价于{0,1} , *等价于{0,}

  • 匹配行首 ^

  • 匹配结尾 $

  • .等价于任意内容

  • \用于转义, .表示.本身

  • () 用于分组

  • |表示或

相关函数

  • test函数: 测试字符串是否满足正则表达式的要求,满足返回true,不满足返回false

  • exec函数: 如果字符串满足正则表达式的要求,返回匹配成功的字符串(返回的是一个包含了字符串的一个数组)

节点

常用函数

  • nodeName:获取节点的名字

  • nodeType:获取节点的类型

  • getAttribute(属性名):获取节点的属性

  • setAttribute("class","active"):修改节点的属性,如给节点修改类名为active

  • removeAttribute("class"):删除节点的属性,如class

  • parentNode:节点的父节点

  • childNodes:找到子节点,找到的节点包含元素节点和文本节点

  • children:找到子节点,只包含元素节点

  • firstChild:第一个孩子,所有孩子中的第一个,可能是文本节点

  • firstElementChild:第一个孩子,代表孩子中的第一个元素节点

  • lastChild:最后一个孩子,所有孩子中的最后一个,可能是文本节点

  • lastElementChild:最后一个孩子,代表孩子中的最后一个元素节点

  • previousSibling:上一个兄弟,可能是文本类型的兄弟

  • previousElementSibling:上一个元素节点兄弟

  • nextSibling:下一个兄弟,可能是文本类型的兄弟

  • nextElementSibling:下一个元素节点兄弟

创建对象的三种方式

  1. 通过Object创建对象

  2. 通过构造函数,创建自定义对象

  3. 采用json格式定义对象

事件和事件对象

  • 事件分为: 鼠标事件, 键盘事件,状态事件和其他事件

  • 事件对象: event , 事件触发的时候会产生一个event对象

  • 事件的定义方式:

    在标签上使用on+事件名称,调用函数。

    在js代码中,通过函数绑定进行函数的调用,如

    obj.onclick = function()

  • 事件的取消: 事件执行的函数返回值是false. 事件就取消了

  • 事件的执行机制:冒泡原理-- 元素的某个事件被触发了。 那么其包裹元素的同类事件也会被触发

  • 事件源:通常使用“event.target”找到事件源

  • 阻止冒泡:在事件函数中加入“event.cancelBubble=true”阻止冒泡

jquery相关内容

jquery就是js的函数库,jquery中封装了常用的函数。语法规则同java

如何使用

导入jquery.js文件, 然后就可以使用jquery了

jquery选择器

用法:$(选择器)

函数使用方法

jquery中的函数和js还有css中的函数名相同,如

  • 要修改颜色:$(选择器).css("color","red")

  • 要删除父节点:$(选择器).parent().remove()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值