HTML基本知识点总结

HTML&CSS很久没有用了,再拿出来已是有点生疏,现在将自己总结的主要知识点记录在这里,可以快速回忆。

HTML

基本标签

  1. <span>标签是没有语义的,它的作用就是为了设置单独的样式用的。如果现在我们想把上一小节的第一段话“美国梦”三个字设置成blue(蓝色),但注意不是为了强调“美国梦”,而只是想为它设置和其它文字不同的样式(并不想让屏幕阅读器对“美国梦”这三个字加重音读出),所以这样情况下就可以用到<span>标签了,并且在style中修改其样式的使用方法为span{}
  2. <q>标签的意义是引用别人的话,注意这里用<q>标签的真正关键点不是它的默认样式双引号(如果这样我们不如自己在键盘上输入双引号就行了),而是它的语义:引用别人的话。语义化!!!让网页更好的被搜索引擎理解
  3. <blockquote>的作用也是引用别人的文本。但它是对长文本的引用,如在文章中引入大段某知名作家的文字,这时需要这个标签。 等等,上一节<q>标签不是也是对文本的引用吗?不要忘记<q>标签是对简短文本的引用,比如说引用一句话就用到<q>标签。浏览器对<blockquote>标签的解析是缩进样式。
  4. 在 html 代码中输入回车、空格都是没有作用的。在html文本中想输入回车换行,就必须输入<br />;要想输入空格,必须写入&nbsp(no-breaking space);
  5. 在介绍语言技术的网站中,避免不了在网页中显示一些计算机专业的编程代码,当代码为一行代码时,你就可以使用<code>标签了,如果是多行代码,可以使用<pre>标签。<pre> 标签的主要作用:预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。<pre> 标签不只是为显示计算机的源代码时用的,在你需要在网页中预显示格式时都可以使用它,只是<pre>标签的一个常见应用就是用来展示计算机的源代码。
  6. 列表就可以使用ul-li标签来完成。ul-li是没有前后顺序的信息列表。ul-li在网页中显示的默认样式一般为:每项li前都自带一个圆点。如果想在网页中展示有前后顺序的信息列表,怎么办呢?如,当当网上的书籍热卖排行榜,如下图所示。这类信息展示就可以使用<ol>标签来制作有序列表来展示。<ol>在网页中显示的默认样式一般为:每项<li>前都自带一个序号,序号默认从1开始
  7. 在网页制作过程过中,可以把一些独立的逻辑部分划分出来,放在一个<div>标签中,这个<div>标签的作用就相当于一个容器。什么是逻辑部分?它是页面上相互关联的一组元素。如网页中的独立的栏目版块,就是一个典型的逻辑部分。同时,为了使逻辑更加清晰,我们可以为这一个独立的逻辑部分设置一个名称,用id属性来为<div>提供唯一的名称,这个就像我们每个人都有一个身份证号,这个身份证号是唯一标识我们的身份的,也是必须唯一的。
  8. 有时候我们需要在网页上展示一些数据,创建表格的四个元素:table、tbody、tr、th、td。表格还是需要添加一些标签进行优化,可以添加标题和摘要。摘要的内容是不会在浏览器中显示出来的。它的作用是增加表格的可读性(语义化),使搜索引擎更好的读懂表格内容,还可以使屏幕阅读器更好的帮助特殊用户读取表格内容。语法:<table summary="表格简介文本">。标题用以描述表格内容,标题的显示位置:表格上方。<table><caption>标题文本</caption></table>
  9. 使用<a>标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这个标签。<a href="目标网址" title="鼠标滑过显示的文本">链接显示的文本</a><a>标签在默认情况下,链接的网页是在当前浏览器窗口中打开,有时我们需要在新的浏览器窗口中打开。<a href="目标网址" target="_blank">click here!</a><a>标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件。我们还可以利用mailto做许多其它事情。如果mailto后面同时有多个参数的话,第一个参数必须以“?”开头,后面的参数每一个都以“&”分隔。
  10. 在网页的制作中为使网页炫丽美观,肯定是缺少不了图片,可以使用<img>标签来插入图片。<img src="图片地址" alt="下载失败时的替换文本" title = "提示文本">

表单

  1. 使用表单标签,与用户交互!!!
  2. 网站怎样与用户进行交互?答案是使用HTML表单(form)。表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。语法:<form method="传送方式" action="服务器文件"><form><form>标签是成对出现的,以<form>开始,以</form>结束;action :浏览者输入的数据被传送到的地方,比如一个PHP页面(save.php);method : 数据传送的方式(get/post)。注意: 1、所有表单控件(文本框、文本域、按钮、单选框、复选框等)都必须放在<form></form>标签之间(否则用户输入的信息可提交不到服务器上哦!)。2、method:post/get的区别这一部分内容属于后端程序员考虑的问题。介绍如下:
    Form中的get和post方法,在数据传输过程中分别对应了GET和POST方法。
    二者主要区别如下:
    1、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
    如下形式:
    http://www.imooc.com/test.asp?name=lilian&password=12345678
    2、Get是不安全的,因为在传输过程,数据被存放在请求的URL地址中,这样就可能会有一些隐私的信息被第三方看到。
    3、Get方式传输的数据量非常小,一般限制在 2KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form()可接收的最大数据有限制,IIS4中为 80KB 字节,IIS5 中为 100KB 字节。
    综上所述,请尽量用 Post 方法。
  3. 当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。当type=”text”时,输入框为文本输入框,当type=”password”时, 输入框为密码输入框;name:为文本框命名,以备后台程序ASP 、PHP使用。(name是独一无二的id!value才是显示值!!!)
<form>
   <input type="text/password" name="名称" value="默认文本" />
</form>

4.在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选。语法:<input type="radio/checkbox" value="值" name="名称" checked="checked"/>。当 type=”radio” 时,控件为单选框,当 type=”checkbox” 时,控件为复选框;value:提交数据到服务器的值(后台程序PHP使用);name:为控件命名,以备后台程序 ASP、PHP 使用(value和name一个是值,一个是名称,都是要提交到后台的!!!都不是要显示的值);checked:当设置 checked=”checked” 时,该选项被默认选中。注意:同一组的单选按钮,name 取值一定要一致,比如上面例子为同一个名称“radioLove”,这样同一组的单选按钮才可以起到单选的作用。
5.下拉列表在网页中也常会用到,它可以有效的节省网页空间。既可以单选、又可以多选。

<form action="save.php" method="post" >
    <label>爱好:</label> (所有文字都应用label、span之类的框住,不要孤零零)
    <select>
      <option value="看书">看书</option>
      <option value="旅游" selected="selected">旅游</option>
      <option value="运动">运动</option>
      <option value="购物">购物</option>
    </select>
</form>

其中,<option value="向服务器提交的值">显示的值</option>。(给服务器的传值和显示的值要区分清楚)
下拉列表也可以进行多选操作,在<select>标签中设置multiple=”multiple”属性,就可以实现多选功能,在 widows 操作系统下,进行多选时按下Ctrl键同时进行单击(在 Mac下使用 Command +单击),可以选择多个选项。
6. 在表单中有两种按钮可以使用,分别为:提交按钮、重置。这一小节讲解提交按钮:当用户需要提交表单信息到服务器时,需要用到提交按钮。语法:<input type="submit/reset" value="提交/重置">
7. form表单中的label标签:label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性。如果你在 label 标签内点击文本,就会触发此控件。就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该 label标签相关连的表单控件上)。语法:<label for="控件id名称"> 注意:标签的 for 属性中的值应当与相关控件的 id 属性值(即name而非value)一定要相同。
**

CSS

**
1. CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的同一元素的文字有着统一的字体、字号或者颜色等。
2. css 样式由选择符和声明组成,而声明又由属性和值组成,如下图所示:
选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔。
3. 就像在Html的注释一样,在CSS中也有注释语句:用/*注释语句*/来标明(Html中使用<!--注释语句-->)。
4. CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式、嵌入式和外部式三种。
内联式css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:<p style="color:red">这里文字是红色</p>。注意要写在元素的开始标签里,并且css样式代码要写在style=”“双引号中,如果有多条css样式代码设置可以写在一起,中间用分号”;”隔开。如若需要更改多个标签,为每一个标签加入style=””很不方便。
嵌入式 css样式,就是可以把css样式代码写在<style type="text/css"></style>标签之间。嵌入式css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间。如右边编辑器中的代码。
外部式 css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,如下面代码:<link href="base.css" rel="stylesheet" type="text/css" /> 注意,css样式文件名称以有意义的英文字母命名,如 main.css。rel=”stylesheet” type=”text/css” 是固定写法不可修改。<link>标签位置一般写在<head>标签之内。
5. 这三种样式是有优先级的,记住他们的优先级:内联式 > 嵌入式 > 外部式。但是嵌入式>外部式有 一个前提:嵌入式css样式的位置一定在外部式的后面。如右代码编辑器就是这样,<link href="style.css" ...>代码在<style type="text/css">...</style>代码的前面(实际开发中也是这么写的)。其实总结来说,就是–就近原则(离被设置元素越近优先级别越高)。
选择器(6-10不太熟)
1. 每一条css样式声明(定义)由两部分组成,形式如下:选择器{ 样式; } 在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。
2. 标签选择器其实就是html代码中的标签。如右侧代码编辑器中的<html>、<body>、<h1>、<p>、<img>。例如下面代码:p{font-size:12px;line-height:1.6em;} 为p标签设置12px字号,行间距设置1.6em的样式。
3. 类选择器在css样式编码中是最常用到的,如右侧代码编辑器中的代码:可以实现为“胆小如鼠”、“勇气”字体设置为红色。语法:.类选器名称{css样式代码;} 注意:1、英文圆点开头2、其中类选器名称可以任意起名(但不要起中文噢)使用方法:第一步:使用合适的标签把要修饰的内容标记起来,如下:<span>胆小如鼠</span> 第二步:使用class=”类选择器名称”为标签设置一个类,如下:<span class="stress">胆小如鼠</span> 第三步:设置类选器css样式,如下:.stress{color:red;}/*类前面要加入一个英文圆点*/
4. 在很多方面,ID选择器都类似于类选择符,但也有一些重要的区别:1、为标签设置id=”ID名称”,而不是class=”类名称”。2、ID选择符的前面是井号(#)号,而不是英文圆点(.)。
5. 类选择器和ID选择器:相同点:可以应用于任何元素 不同点:1、ID选择器只能在文档中使用一次。与类选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。2、可以使用类选择器词列表方法为一个元素同时设置多个样式。我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以的(不能使用 ID 词列表)
6. 还有一个比较有用的选择器子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素。如右侧代码编辑器中的代码:.food>li{border:1px solid red;} 这行代码会使class名为food下的子元素li(水果、蔬菜)加入红色实线边框。即改变某一个标签的第一个子元素。
7. 包含选择器,即加入空格,用于选择指定标签元素下的后辈元素。如右侧代码编辑器中的代码:.first span{color:red;} 请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。总结:>作用于元素的第一代后代,空格作用于元素的所有后代。
8. 通用选择器是功能最强大的选择器,它使用一个(*)号指定,它的作用是匹配html中所有标签元素,如下使用下面代码使用html中任意标签元素字体颜色全部设置为红色:* {color:red;}
9. 更有趣的是伪类选择符,为什么叫做伪类选择符,它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:a:hover{color:red;} 上面一行代码就是为 a 标签鼠标滑过的状态设置字体颜色变红。这样就会使第一段文字内容中的“胆小如鼠”文字加入鼠标滑过字体颜色变为红色特效。关于伪类选择符,到目前为止,可以兼容所有浏览器的“伪类选择符”就是 a 标签上使用 :hover 了(其实伪类选择符还有很多,尤其是 css3 中,但是因为不能兼容所有浏览器,本教程只是讲了这一种最常用的)。其实 :hover 可以放在任意的标签上,比如说 p:hover,但是它们的兼容性也是很不好的,所以现在比较常用的还是 a:hover 的组合。
10. 当你想为html中多个标签元素设置同一个样式时,可以使用分组选择符(,),如下代码为右侧代码编辑器中的h1、span标签同时设置字体颜色为红色:h1,span{color:red;} 就相当于多个选择器设置为相同样式时使用。(分组选择器是”,”,如果是空格就变成包含选择器了)
继承
1. CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签。p{color:red;} <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p> 但注意有一些css样式是不具有继承性的。如border:1px solid red;
2. 有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?
p{color:red;}
.first{color:green;}

<p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

p和.first都匹配到了p这个标签上,那么会显示哪种颜色呢?green是正确的颜色,那么为什么呢?是因为浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。
下面是权值的规则:标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。注意:还有一个权值比较特殊–继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。

p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/

3.我们来思考一个问题:如果在html文件中对于同一个元素可以有多个css样式存在并且这多个css样式具有相同权重值怎么办?好,这一小节中的层叠帮你解决这个问题。层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。层叠很好理解,理解为后面的样式会覆盖前面的样式。所以前面的css样式优先级就不难理解了:内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。
4. 我们在做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,怎么办?这时候我们可以使用!important来解决。注意:!important要写在分号的前面

p{color:red!important;}
p{color:green;}
<p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

这里注意当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚。这时注意样式优先级为:浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。
字体字号

font-size:20px;
color:red;
font-weight:normal/bold font-family:Microsoft Yahei font-style:italic text-decoration:underline/line-through;
text-indent:2em;(2字符的缩进)
line-height:2em;(行间距、行高)
letter-spacing:20px;(字符间距)
word-spacing:20px;(单词间距)
text-align:center/left/right;

CSS盒模型

  1. 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。
    常用的块状元素有:
<div><p><h1>...<h6><ol><ul><dl><table><address><blockquote><form>

常用的内联元素有:

<a><span><br><i><em><strong><label><q><var><cite><code>

常用的内联块状元素有:

<img><input>
  1. 什么是块级元素?在html中<div>、 <p>、<h1>、<form>、<ul><li>就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点:a{display:block;}
    块级元素特点:1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)2、元素的高度、宽度、行高以及顶和底边距都可设置。3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
  2. 在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的内联元素(行内元素)(inline)元素。当然块状元素也可以通过代码display:inline将元素设置为内联元素。内联元素特点:1、和其他元素都在一行上;2、元素的高度、宽度、行高及顶部和底部边距不可设置;3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
  3. 内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。(css2.1新增),<img>、<input>标签就是这种内联块状标签。inline-block元素特点:1、和其他元素都在一行上;2、元素的高度、宽度、行高以及顶和底边距都可设置。
    总结一下:只有块状的元素是可以设置宽度高度的,而且块状元素独占一行,即宽度为100%;内联元素,亦称行内元素,与其余元素在同一行,不能设置宽高。
  4. 盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色。也可以分别设置,border-top|border-right|border-bottom|border-left
    边框三个属性:
    border-width: thin | medium | thick(但不是很常用),最常还是用象素(px)。
    border-style: dashed(虚线)| dotted(点线)| solid(实线)
    border-color:#888 十六进制颜色
  5. 盒模型宽度和高度与我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以里的内容范围。因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

元素内容与边框之间是可以设置距离的,称之为“填充”,即padding。
元素与其它元素之间的距离可以使用边界(margin)来设置。
边框也是有宽度的!
总结一下:padding和margin的区别,padding在边框里,margin在边框外。
css布局模型(很常用,也佷容易混淆)
1. 清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与盒模型一样都是 CSS 最基本、最核心的概念。 但布局模型是建立在盒模型基础之上,又不同于我们常说的 CSS 布局样式或 CSS 布局模板。如果说布局模型是本,那么 CSS 布局模板就是末了,是外在的表现形式。
CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。
在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)
2. 先来说一说流动模型,流动(Flow)是默认的网页布局模式。也就是说网页在默认状态下的 HTML 网页元素都是根据流动模型来分布网页内容的。
流动模型有两个特点:第一,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。如右侧代码编辑器中三个块状元素标签(div,h1,p)宽度显示为100%。第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)
3. 浮动模型:块状元素这么霸道都是独占一行,如果现在我们想让两个块状元素并排显示,怎么办呢?不要着急,设置元素浮动就可以实现这一愿望。任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动,如 div、p、table、img 等元素都可以被定义为浮动。如下代码可以实现两个 div 元素一行显示。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    float:left;
}
<div id="div1"></div>
<div id="div2"></div>
  1. 什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计领域,由于网页大 小的活动性,层布局没能受到热捧。但是在网页上局部使用层布局还是有其方便之处的。下面我们来学习一下html中的层布局。
    如何让html元素在网页中精确定位,就像图像软件PhotoShop中的图层一样可以对每个图层能够精确定位操作。CSS定义了一组定位(positioning)属性来支持层布局模型。
    层模型有三种形式:绝对定位(position: absolute) 相对定位(position: relative) 固定定位(position: fixed)
  2. 如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
    如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px。
div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    left:100px;
    top:50px;
}
<div id="div1"></div>
  1. 如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。(虽然div元素相对于以前的位置产生了偏移,但是div元素以前的位置还是保留着,所以后面的span元素是显示在了div元素以前位置的后面。)
    如下代码实现相对于以前位置向下移动50px,向右移动100px;
#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
}
<div id="div1"></div>
7. fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。 由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。 以下代码可 以实现相对于浏览器视图向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。
#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:fixed;
    left:100px;
    top:50px;
}
<p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
....
  1. 小伙伴们学习了12-6小节的绝对定位的方法:使用position:absolute可以实现被设置元素相对于浏览器(body)设置定位以后,大家有没有想过可不可以相对于其它元素进行定位呢?答案是肯定的,当然可以。使用position:relative来帮忙,但是必须遵守下面规范:1、参照定位的元素必须是相对定位元素的前辈元素2、参照定位的元素必须加入position:relative; 3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。
<div id="box1"><!--参照定位的元素-->
    <div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
</div>
#box1{
    width:200px;
    height:200px;
    position:relative;        
}
#box2{
    position:absolute;
    top:20px;
    left:30px;         
}

这样box2就可以相对于父元素box1定位了(这里注意参照物就可以不是浏览器了,而可以自由设置了)。

JavaScript

  1. document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容。
  2. 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字。如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的。alert(字符串或变量);
  3. confirm 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。
    confirm(str);
    str:在消息对话框中要显示的文本 返回值: Boolean值
  4. prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息。弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。
    prompt(str1, str2);
    str1: 要显示在消息对话框中的文本,不可修改
    str2:文本框中的内容,可以修改
    返回值:1. 点击确定按钮,文本框中的内容将作为函数返回值2. 点击取消按钮,将返回null
  5. open() 方法用于打开一个新的窗口。window.open(<URL>, <窗口名称>, <参数字符串>)
  6. close()关闭窗口 window.close() //关闭本窗口 或 <窗口对象>.close(); //关闭指定的窗口
  7. 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。将HTML代码分解为DOM节点层次图如下。

HTML文档可以说由节点构成的集合,三种常见的DOM节点: 1. 元素节点:上图中<html>、<body>、<p>等都是元素节点,即标签。2. 文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本。3. 属性节点:元素属性,如<a>标签的链接属性href=”http://www.imooc.com”。
看下面代码: <a href="http://www.imooc.com">JavaScript DOM</a>

  1. 通过ID获取元素:学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人。那么在网页中,我们通过id先找到标签,然后进行操作。语法:document.getElementById(“id”) 注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
  2. innerHTML 属性用于获取或替换 HTML 元素的内容。语法:Object.innerHTML注意:1.Object是获取的元素对象,如通过document.getElementById(“ID”)获取的元素。2.注意书写,innerHTML区分大小写。
  3. HTML DOM 允许 JavaScript 改变 HTML 元素的样式。如何改变 HTML 元素的样式呢?语法:Object.style.property=new style; 注意:Object是获取的元素对象,如通过document.getElementById(“id”)获取的元素。
  4. 网页中经常会看到显示和隐藏的效果,可通过display属性来设置。语法:Object.style.display = value value取值:none,此元素不被显示;block,此元素将显示为块级元素。
  5. className 属性设置或返回元素的class 属性。语法:object.className = classname 作用:1.获取元素的class 属性2. 为网页内的某个元素指定一个css样式来更改该元素的外观
    事件响应
    JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。比如说,当用户单击按钮或者提交表单数据时,就发生一个鼠标单击(onclick)事件,需要浏览器做出处理,返回给用户一个结果。

要注意,添加事件时,格式为onclick=”openwin()”,其中,属性一定要加上引号,且调用的因为是函数,所以一定有括号!
JS内置对象
1. JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;
访问对象属性的语法: objectName.propertyName如使用 Array 对象的 length 属性来获得数组的长度:var myl=myarray.length; 这是没有括号的!
访问对象的方法:objectName.methodName() 如使用string 对象的 toUpperCase() 方法来将文本转换为大写:var request=mystr.toUpperCase(); 这是有括号的!
2. Date 日期对象:日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。定义一个时间对象 : var Udate=new Date();Date对象中处理时间和日期的常用方法:(这些全是对象的方法!!!)

  1. 定义String字符串对象后,我们就可以访问它的属性和方法。属性有length,方法有toUpperCase() charAt(index) indexOf(substring, startpos) split(separator,limit) substring(starPos,stopPos) substr(startPos,length)
  2. Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法。这是它与Date,String对象的区别。
    Math 对象属性:

Math 对象方法:

  1. 数组Array:数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的。
    数组定义的方法:
    1、定义空数组 var 数组名= new Array();
    2、定义时指定有n个空元素的数组:var 数组名 =new Array(n);
    3、定义数组的时候,直接初始化数据:var 数组名 = [<元素1>, <元素2>, <元素3>…];
    属性:length Array.length;
    方法:

Windows对象/BOM

  1. window对象是BOM的核心,window对象指当前的浏览器窗口。
  2. 在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。
    计时器类型:
    一次性计时器:仅在指定的延迟时间之后触发一次。
    间隔性触发计时器:每隔一定的时间间隔就触发一次。
    计时器方法:

  3. history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。注意:从窗口被打开的那一刻开始记录,每个浏览器窗口、每个标签页乃至每个框架,都有自己的history对象与特定的window对象关联。
    语法:window.history.[属性|方法]
    History 对象属性:

History 对象方法:

  1. location对象用于获取或设置窗体的URL,并且可以用于解析URL。
    location对象属性图示:

location 对象属性:

location 对象方法:

  1. Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。
    对象属性:

几种浏览的user_agent.,像360的兼容模式用的是IE、极速模式用的是chrom的内核。

  1. screen对象用于获取用户的屏幕信息。
    语法:window.screen.属性

你可能感兴趣的:(HTML基本知识点总结)