以下为我在黑马程序员学习期间整理的笔记和心得,期待与您交流!

一、HTML
1.网页编程语言。Html之所以能展现出各种各样的效果,是浏览器的功能。
2.HTML(HyperText Markup Language)就是描述网页长什么样子、有什么内容的一个文本。查看网页的描述内容(HTML)的方式:使用IE浏览器的话,在网页上点击右键,选择“查看源文件”
3./S(Browser/ Server):浏览器-服务器,客户端只需要一个浏览器
4.C/S(Client/Server):客户端必须安装对应的软件。比如:QQ、MSN、FoxMail
 
二、HTML和XML的联系、区别
1.HTML:描述文本长什么样的,侧重于数据展示。
2.XML:描述存的什么数据,侧重于数据存储。(html→xml,趋势)
3.XHTML可扩展超文本置标语言(eXtensible HyperText Markup Language,XHTML),xhtml的出现主要是为了向xml过度,通过xml+css也能实现很好的页面。
4.DHTML 是Dynamic HTML的简称,就是动态的html。 HTML、样式表和JavaScript的组合
5.格式标签:<p></p>创建段落;<br/>换行,也可以写成<br>,在HTML中有一些标签可以不关闭,<br>就是一个,这是和XML不同的地方(常考),但是为了遵循XHTML规范,推荐像XML一样严格关闭。如:<br/><img src="1.gif"/>
6.属性值:HTML中属性值即可以用单引号括起来、也可以用双引号括起来、甚至不用引号都可以(不推荐)
单双要配对。
7.注释:HTML使用和XML一样的<!--   注释内容 -->来做注释。
 
三、浏览器介绍
1.什么是浏览器?解释和执行HTML源码的工具。
Trident引擎,(就是IE的WebBrowser控件)。
WebKit引擎(开源浏览器内核),现在很多非IE核心的浏览器用的是WebKit引擎
2.浏览器兼容性
浏览器兼容性问题:描述文件是一个统一的,但是就像口语翻译一样,不同的翻译翻译出来的东西也是不一样的。不同浏览器品牌对HTML的支持是有差异的,所以同一个网页在IE上和FireFox上看起来可能长得不一样。
CSS、JavaScript都存在浏览器兼容问题,CSS尤甚,我们只考虑JS的兼容。
 
四、开发工具
1.编写普通的HTML页面是和任何后台语言无关的,可以使用记事本、高级记事本(Editplus、Notepad++)、Dreamweaver、Expression Web(FrontPage的改头换面版)等工具写。
2.网页基本结构:

 <html>
<head>
<title>我的第一个网页</title>
</head>
<body bgcolor="red"background="bg.jpg">
Hello world
</body>
 </html>


3.文档类型定义:

DocumentType Definition,DTD
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 
五、HTML页结构说明
1.所有内容都在<html></html>标签之内;<head></head>内放的是头部信息,是对页面的描述,不会直接显示在页面中,<head>内的<title>中设置的是页面的标题,<title>只能放在<head>中;<body>是页面的主体,大部分显示内容都定义在这里。
2.<head>中可以包括:

<title>网页标题</title>
<link href=“main.css” rel=“stylesheet” type=“text/css” />
<link href=“fav.ico” rel=“shortcut ico” /> 当前文档中导入另外一个文档,并说明其关系。
<base href=“” target=“”/> 指定网页中超链接的基准地址。


3.Title标签的结束标签,如果忘记/ ,则整个页面都不显示。
 
六、meta标签
1.meta【meita,元信息,机器来读取的】标签包括在head标签中。
2.<meta>标签

<meta>有指定name和指定http-equiv两种用法:
 <metaname=“名字” content=“值” />关于网页的描述信息。
<meta http-equiv="名字"content="值" />模拟http响应头信息。


3.例如:

<metahttp-equiv="Content-Type" content="text/html;charset=utf-8"/>指定网页编码
<meta http-equiv="Refresh" content="3" /> 三秒钟后刷新此网页。
<meta http-equiv="Refresh"content="3;url=http://www.rupeng.com" /> 三秒钟后重定向到新网页。发帖成功后提示“发帖成功,即将转向帖子查看页面”。
<meta http-equiv=“Cache-Control” content=“no-cache” /> 禁止浏览器缓存页面。
<meta name=“keywords” content=“新闻,娱乐,八卦”/>
<meta name=“description” content=”中国最全的八卦新闻”/>


 
七、颜色体系
1.body标签的bgcolor属性可以设定网页的背景颜色。R=Red、G=Green、B=Blue。
2.bgcolor的取值可以是英文单词red、blue、yellow……,也可以是十六进制的颜色#00FF69、#23AEFF(#000000黑色、#FFFFFF白色)
3.00FF69这就是HTML中表示颜色的方式,每两个是一组,三组分别就表示R、G、B的值,是16进制表示。
 
八、静态页面、动态页面
1.静态页面:后缀名为html或htm等都是静态页面。有一个html页面文件保存在服务器上,浏览器要这个页面的时候服务器就把这个页面文件发给浏览器;
2.动态页面:动态页面中会包括一些脚本代码。服务器上没有浏览者要看的页面,而是服务器动态生成的HTML页面发给浏览器,动态语言的服务器端可以用C#、VB.Net、PHP、Java、C等编写。
htm、html都是静态页面,asp、aspx、jsp、php等都是动态页面。
 
九、html常用标签:文字格式
1.h标签(标题)HTML定义了<h1></h1>到<h6></h6>六个h标签
分别表示不同大小的字体。h1最大,h6最小。
2.<br/>只是回车,<p>是分段。
<p>前后会有比较大的空白,而<br/>则没有。
3.

<center>传智播客</center>居中显示


4.<b>a</b>粗体,推荐<strong>。
<i>b</i>斜体
<u>c</u>带下划线
<em>强调
斜体</em>
5.<sub>2</sub>下标
如:H<sub>2</sub>O
6.<sup>2</sup>上标
如:10<sup>2</sup>
7.<font></font>字体标签,<fontcolor=“red“ size=“7” face=“隶书”>红色</font>。
color(设置颜色)  
size(1-7)  
face(设置字体)
8.<hr>  
color  
size(厚度)  
width(长度)  
lign=left/center/right (默认为剧中显示)
<hrcolor="blue" size="1" width="200px"align="left"/>
9.<pre> 预格式化  保持本色,如:

<pre>
<html>
 <head>
<title>标题</title>
 </head>
<body>
页面内容区!
</body>
 </html>
</pre>


 
十、html编码(特殊字符)
1.用于显示一些特殊字符,有特殊含义的(<、>)以及键盘上无法输入的字符。
2.HTML编码以&开头,以;结尾。
3.在网页上显示hello<welcome>China,hello&lt;welcome&gt;China
4.特殊字符:HTML中<、>是有特殊含义的、空格是不会被显示的(输入一个带空格的字符串看看),所以需要特殊符号,相当于C#中的‘ ’转义符。
&lt;(小于号,less than);
&gt;(大于号,greater than);
&nbsp;(空格,no-break space)。
 
十一、URL/超链接
1.URL:URL表示资源在网络中的地址
比如 http://www.baidu.com。
2.超级链接

<ahref="http://www.yahoo.com" target="_self" title="去美国雅虎">雅虎</a>


3.<a>中还可以嵌套图片,这样就是点击图片打开连接

<a href="http://www.microsoft.com"><imgborder="0" src="1.jpg"/></a>


4.相对UR:
相对URL表示相对于当前文档的资源,
“/”表示网站根目录,“../”表示父目录
“../../”表示父目录的父目录,“./”或者不写任何斜线表示相对于当前路径的目录
站内引用最好用相对URL,这样域名改变了、目录改变了都不受影响。

<img src="../images/csharp1.jpg" /><imgsrc="/images/csharp1.jpg" />


5.将<a>的target属性设定为"_blank"就可以在新窗口中打开超链接。
国情:国内的网站很多都是默认在新窗口中打开。target的取值范围:
_blank :在新窗口中打开
_self :在自己的窗口中打开
_parent :父窗口中打开
_top :表示在顶级窗口打开
框架名称:在指定框架中打开。
6.锚记:用name属性为<a> 起名字:<aname="Last">这里是最后</a>。这样可以通过<a href="#Last">转到平台</a>来跳转到超链接的部分。
 
十二、图片
1.<img src=“a.jpg”/>注意图片是链接的,不是插入的,所以如果src指向的文件不存在了,就看不了了。alt属性为图片无法显示时的显示文本,鼠标方式去也会有悬浮提示“点击查看大图”;title用来显示当鼠标放到图片上时显示的文字;border属性指定边框,border="0"不显示边框;width、height属性指定图片的显示大小,如果不指定则是图片的原始大小。
 
2.最好指定width、height,哪怕是原始尺寸大小,因为如果不指定大小,图片会不占位置,图片下载后才调整大小,会造成页面很乱。如果指定了width、height哪怕图片没有加载完成,也会先把位置占上。
 
3.如果网页上要显示小图(比如缩略图),不要仅仅是把大图设定一下width、height来缩小,因为仍然会下载大图,会使得加载速度很慢。
 
十三、知识补充
1.px (Pixel)单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的,国内推荐; QQ截图也是使用PX作为长度宽度单位。
2.em单位名称为相对长度单位。相对于当前对象内文本的字体尺寸,国外使用比较多;如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
3.pt单位名称为点(Point),绝对长度单位一般老版本的table使用长度大小单位但是现在基本上没有使用。
 
十四、列表/表格
1.dl→definitionlist(定义列表),如:

<dl>
<dt>河北</dt>
<dd>石家庄</dd>
<dd>秦皇岛</dd>
<dt>山西</dt>
<dd>太原</dd>
<dd>大同</dd>
</dl>


 
2.ul→unorderlist(无序列表) 
如:

<ul>
 <li>北京</li>
 <li>上海</li>
 <li>广州</li>
</ul>


 
3.ol→orderlist(有序列表) ,如:

<ol>
 <li>北京</li>
 <li>上海</li>
 <li>广州</li>
</ol>


 
4.用嵌套ul或ol来模拟二级菜单,如:


<ul type="disc">
 <li>黑龙江</li>
 <ul>
  <li>哈尔滨</li>
  <li>齐齐哈尔</li>
 </ul>
 <li>吉林</li>
 <li>辽宁</li>
</ul>
<ol type="a">
 <li>黑龙江</li>
 <ul>
  <li>哈尔滨</li>
  <li>齐齐哈尔</li>
 </ul>
 <li>吉林</li>
 <li>辽宁</li>
</ol>


5.<ol>与<ul>都有一个type属性,用来设置序列的显示样式。type的取值可以是:1、a、A、i、I、disc、circle、square。
 
十五、列表/表格
 
1.表格:<table></table>为表格,在内部通过<tr>创建行,<tr>内部通过<td>创建单元格。可以将table的border属性设为0来隐藏表格线。
2.填充、间距cellpadding内容和表格边线之间的距离cellspacing单元格之间的间距。
3.<tr>【table row】的属性:align,水平对齐,可选值left、right、center;valign,垂直对齐,可选值top、middle、bottom。
4.<td>【table datacell】也有align和valign。<tr align="right"><td>tom</td><tdalign="left">20</td><td>男</td></tr>:子标签默认继承父标签的属性,如果自己单独指定了属性,则会覆盖父标签的属性。
5.还可以使用rowspan(合并行)、colspan(和并列)进行单元格的合并<tdrowspan colspan>,是td的属性。
6.(*)表头的td可以用th代替,这样就会表头粗体、居中显示。
 
十六、表单
1.<form>标签为表单标签。如果要把数据提交到服务器,则需要将<input>、<textarea>、<select>等表单元素放到form中。
2.<input>是主要的表单元素,type的可选值:submit(提交按钮)、button(普通按钮)、checkbox(复选框)、file(文件选择框)、hidden(隐藏字段)、image(图片按钮)、password(密码框)、radio(单选按钮)、reset(重置按钮)、text(文本框)。<inputtype="file" />
 
十七、input表单详解
1.submit:点击submit按钮表单就会被提交给服务器,中文IE下默认按钮文本为“提交查询”,可以设置value属性修改按钮的显示文本
2.text:size属性为宽度,value为值,maxlength为可以输入的最大长度,readonly只读。
<inputtype="text" readonly/>(只写属性名,不写属性值)
或者<inputtype="text" readonly="readonly" />(推荐)
3.checkbox:checked属性表示是否被选中,<inputtype="checkbox" checked />或者<inputtype="checkbox" checked="checked" />(推荐)checked、readonly等这种一个可选值的属性都可以省略属性值。
4.radio:相同name属性的为一只有组,不同radio设定不同的value值,这样通过取指定name的值就可以知道谁被选中了,不用单独的判断。

<input name="gender"type="radio" value="1"/>男
<input name="gender"type="radio" value="0" checked="checked"/>女


5.file:使用file,则form的enctype必须设置为multipart/form-data、method属性为POST(*)
6.image:使用src属性指定图片的地址,用来实现美化的“登录按钮”。
 
十八、<select>标签
1.用来创建类似于WinForm中的ComboBox或者ListBox
2.如果size属性大于1就是ListBox(size的值为显示出来的列表数量),否则就是ComboBox。
<select  multiple>或者<select  multiple="multiple">(推荐),那么就是可以多选的ListBox。
3.select中的项是<option>

<option>北京</option>还可以设定项的值<optionvalue="1">北京</option>。


4.将一个option设置为选中:<optionselected>333</option>或者<option selected="selected">333</option>(推荐)就可以将这个项设定为选择项

<select name="country"size="10">
	<optgroup label="Africa">
		<optionvalue="gam">Gambia</option>
		<optionvalue="mad">Madagascar</option>
		<optionvalue="nam">Namibia</option>
	</optgroup>
 	<optgroup label="Europe">
 		<optionvalue="fra">France</option>
 		<optionvalue="rus">Russia</option>
 		<optionvalue="uk">UK</option> 
	</optgroup>
	<optgroup label="NorthAmerica">
		<optionvalue="can">Canada</option>
		<optionvalue="mex">Mexico</option>
		<optionvalue="usa">USA</option>
	</optgroup>
</select>


5.如何实现“不选择”,添加一个<option value="-1">--不选择--<option>,然后编程判断select选中的值如果是-1就认为是不选择。
6.select分组选项,可以使用optgroup对数据进行分组,分组本身不会被选择,无论对于下拉列表还是列表框都适用。如:

<select name="country"size="10">
	<optgroup label="Africa">
		<optionvalue="gam">Gambia</option>
		<optionvalue="mad">Madagascar</option>
		<optionvalue="nam">Namibia</option>
	</optgroup>
 	<optgroup label="Europe">
 		<optionvalue="fra">France</option>
 		<optionvalue="rus">Russia</option>
 		<optionvalue="uk">UK</option> 
	</optgroup>
	<optgroup label="NorthAmerica">
		<optionvalue="can">Canada</option>
		<optionvalue="mex">Mexico</option>
		<optionvalue="usa">USA</option>
	</optgroup>
</select>


 
十九、其他标签
1.<textarea>多行文本(也是表单元素):<textarea>文本</textarea>,cols=“50”、rows=“15”属性表示行数和列数。
2.<label>:在<inputtype=“text”>前可以写普通的文本来修饰,但是单击修饰文本的时候input并不会得到焦点,而用label则可以,for属性指定要修饰的控件的id,<label for=“txt1” >asdfad</label>;”,然后按下alt+u(了解)。accesskey=“u“,label的另一个属性。
3.为被修饰的控件设置一个唯一的id。
<label for="ma">婚否</label><input id="ma" type="checkbox" />
4.fieldset:GroupBox效果,将控件划分一个区域,看起来更规整
<fieldset>
<legend>常用</legend>
<inputtype="text" />
</fieldset>
5.Submit(提交)、reset(恢复为默认值)
6.*滚动文字<marquee> *
 <marqueedirection="left"behavior="alternate"scrolldelay="1">text</marquee>
direction:left、right、up、down
behavior:scroll、slide、alternate
scrolldelay:滚动的速度。单位为毫秒数,默认为85。
7.播放声音*(dw中添加媒体→插件)、显示flash。

<embed src="1.mp3"loop="true" autostart="true" name="bgss"width="460" height="68"/>
<objectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"width="760" height="700">
<paramname="movie" value="01.swf" />
<paramname="quality" value="high" />
<embedsrc="01.swf" quality="high" pluginspage=http://www.macromedia.com/go/getflashplayertype="application/x-shockwave-flash" width="760"height="700"></embed>
</object>


二十、Div(什么都可以放)、Span(文本)
1.层:<div></div>将内容放到层中,就以将这些内容当成一个整体进行处理,比如整体隐藏、整体移动等。div非常强大和常用。类似于WinForm的Panel。
2.span:div是将内容放到一个矩形的区块中,会影响布局(两端会换行),而span只是把一段内容定义成一个整体进行操作,但不影响布局、显示(两端没有换行)。
3.Div一般用于网页布局。
4.Span一般用来圈住一小段文字,设置不同的样式。为什么不用<font>标签,因为用<span>可以通过CSS来设样式。