HTML学习笔记
一.简介
1. 什么是浏览器?
——浏览器就是接受浏览者的操作(打开一个网址、点击一个链接、点击一个按钮),然后帮浏览者去Web服务器请求网页内容(HTML格式返回),然后展现成人眼能看得懂的可视化页面的软件;
2. 静态页面、动态页面(*)
a.静态页面:有一个html页面文件保存在服务器上,浏览器要这个页面的时候服务器就把这个页面文件发给浏览器;
b.动态页面:服务器上没有浏览者要看的页面,而是服务器动态生成的HTML页面发给浏览器,动态语言的服务器端可以用C#、VB.Net、PHP、Java、C等编写;
3. 编写普通的HTML页面是和任何后台语言无关的,可以使用Dreamweaver、Expression Web(FrontPage的升级版)等工具写,这些工具是给页面美工用的,开发人员用VisualStudio写html就够了。不要把精力放到怎么把界面做好看上,可以借鉴网上美工页面。
二.HTML页结构说明
1. 所有内容都在<html></html>标签之类;<head></head>内放的是头部信息,是对页面的描述,不会直接显示在页面中,<head>内的<title>中设置的是页面的标题,<title>只能放在<head>中;<body>是页面的主体,大部分显示内容都定义在这里;
2. 所有页面都应该至少包含这些部分,由于浏览器容错性强,所以即使不包含也能正常显示,但是最好还是写完全了。
三.颜色体系
1. body标签的bgcolor属性可以设定网页的背景颜色,<bodybgcolor=”#006699”>
2. 其中#006699就是HTML中表示颜色的方式,每两个是一组,三组分别就表示R、G、B的值,是16进制表示;
3. 可以使用VS内置的颜色选择对话框生成RGB值,也可以用取色器(比如DebugBar内置的取色器:打开IE,打开DebugBar工具栏,点击吸管图标);HTML还预定义了一些颜色:red、black、white等,比如bgcolor=”black”。
四.HTML和XML的联系、区别
1. 属性值:HTML中属性值即可以用单引号括起来,也可以用双引号括起来,单双要配对;
2. 注释:HTML使用和XML一样的<!--注释内容-->来做注释;
3. 特殊字符:HTML中<、>是有特殊含义的、不能表示小于号、大于号,空格是不会被显示的,所以需要特殊符号,相当于C#中的’\n’转义符。<(小于号,lessthan);>(大于号,greater than); (空格,no-break space)。使用工具、免除记忆;
4. 格式标签:<p></p>创建段落;<br/>回车,也可以写成<br>,在HTML中有一些标签可以不关闭,<br>就是一个,这是和XML不同的地方,但是为了遵循XHTML规范,推荐像XML一样严格关闭。
5. 注意:HTML不把“ ”当成空格,因为HTML中经常有缩进,如果把缩进的空格在浏览器中以空格形式展现的话,排版会很麻烦。可以用<pre></pre>可以将原文中的空格原型输出。
五.URL、超链接
1. URL:URL表示资源在网络中的地址,比如http://127.0.0.1/a.htm、ftp://192.168.88.128/b.zip。还有URI的概念,比URL大,有的类中使用URI这种说法,可以暂时看成和URL一样就行。
2. 超级链接:<ahref=”http://www.rupeng.com”>如鹏网</a>;
3. <a>中还可以嵌套图片,这样就是点击图片打开链接<a href=”http://www.rupeng.com”><imgsrc=”sunset.jpg”/></a>
六.超链接深入
1. 相对URL:相对URL表示相对于当前文档的资源,”/”表示网站根目录,”../”表示父目录,”../../”表示父目录的父目录,”./”或者不写然和斜线表示相对于当前路径的目录。站内引用最好用相对URL,这样域名改变了、目录改变了都不受影响。<a href=”a.htm”><img src=”sunset.jpg”/></a>;
<img src="../myTest/Sunset.jpg" />
<img src="./Sunset.jpg" />
2. 将<a>的target属性设定为”_blank”就可以在新窗口中打开超链接。国内的网站很多都是默认在新窗口中打开;
3. 用name属性为<a>起名字:<a name=”Last”>这是是最后</a>。这样可以通过<a href=”#Last”>转到平台</a>来跳转到超链接的部分。
七.图片
1. <img src=”a.jpg”/>注意图片是链接的,不是插入的,所以如果src指向的文件不存在了,就看不了了。alt属性为图片无法显示时的显示文本,鼠标方式去也会有悬浮提示”点击查看大图”;
2. border属性指定边框,border=”0”不显示边框;width、height属性指定图片的显示大小,如果不指定则是图片的原始大小;
3. 最好指定width、height,哪怕是原始尺寸大小,因为如果不指定大小,图片会不占位置,图片下载后才调整大小,会造成页面很乱;
4. 如果网页上要显示小图(比如缩略图),不要仅仅是把大图设定一下width、height来缩小,因为仍然会下载大图,会使得加载速度很慢。
八.列表、表格
1. 列表:<ul><li>灌水区</li><li>版务区</li><li>原创贴图</li></ul>,还有有序的列表<ol></ol>——unordered list(ul) ordered list(ol)
2. 表格:<table></table>为表格,在内部通过<tr>创建行,<tr>内部通过<td>创建单元格。可以将table的border属性设为0来隐藏表格线:
a. <tr>的属性:align,水平对齐,可选值left、right、center;valign,垂直对齐,可选值top、middle、bottom;
b. <td>也有align和valign;
<tr align="right"><td>Susan</td><td><a href="sunset.jpg">22</a></td><td>女k</td></tr>:
3. 子标签默认继承父标签的属性,如果自己单独指定了属性,则会覆盖父类的属性;
甲、(*)还可以使用rowspan、colspan进行单元格的合并,用VS可视化的功能来做就行;
乙、(*)表头的td可以用th代替,这样就会表头粗体、居中显示。建议将表头用<thead>代替<tr>。
九.表单
1. 网站表单与填表;
2. <form>标签为表单标签。如果要把数据提交到服务器,则需要将<input>、<textarea>、<select>等表单元素放到form中;
3. <input>是主要的表单元素,type的可选值:submit(提交按钮)、button(普通按钮)、checkbox(复选框)、file(文件选择框)、hidden(隐藏字段)、image(图片按钮)、password(密码框)、radio(单选按钮)、reset(重置按钮)、text(文本框)。
4. (缩略图:可以用系统自带画图工具,拉伸/扭曲实现)
十.input表单详解
1. submit:点击submit按钮表单就会被提交给服务器,中文IE下默认按钮文本为”提交查询”,可以设置value属性修改按钮的显示文本;
2. text:size属性为宽度,value为值,maxlength为可以输入的最大长度,readonly只读。<input type=”text”readonly/>或者<input type=”text” readonly=”readonly”/>(推荐);
3. checkbox:checked属性表示是否被选中,<input type=”checkbox” checked/>或者<input type=”checkbox” checked=”checked”/>(推荐);
4. checked、readonly等这种只有一个可选值的属性都可以省略属性值;
5. radio:相同name属性的为一组,不同radio设定不同的value值,这样通过取指定name的值就可以知道谁被选中了,不用单独的判断;
6. file:使用file,则form的enctype必须设置为multipart/form-data、method属性为POST
7. image:使用src属性指定图片的地址,用来实现美化的”登录按钮”。
img标签有两个属性分别为alt和title:
a. alt
此属性的实质作用是图片在无法正确显示的时候起到文本替代的作用
b. title
鼠标滑过时显示的文字提示,用户体验上很重要
8. 格式:<img src="图片路径" alt="logo" title="首页" />
十一.<select>标签
1. 用来创建类似于WinForm中的ComboBox或者ListBox;
2. 如果size属性大于1就是ListBox,否则就是ComboBox。<select multiple>或者<select multiple=”multiple”>(推荐),那么就是可以多选的ListBox;
3. select中的项是<option>,<option>北京</option>还可以设定项的值<option value=”1”>北京</option>;
4. 将一个option设置为选中: <option selected>3333</option>或者<option selected=”selected”>3333</option>(推荐)就可以将这个项设定为选择项;
5. 如何实现”不选择”,添加一个<option value=”-1”>--不选择--</option>,然后编程判断select选中的值如果是-1就认为是不选择;
6. select分组选项,可以使用optgroup对数据进行分组,分组本身不会被选择,无论对于下拉列表还是列表框都适用。
十二.其他标签
1. <textarea>多行文本(也是表单元素):<textarea>文本</textarea>,cols、rows属性表示行数和列数;
2. <label>: 在<input type=”text”>前可以写普通的文本来修饰,但是单击修饰文本的时候input并不会得到焦点,而用label则可以,for属性指定要修饰的控件的id,<labelfor=”txt1”>asdfad</label>
a. 为被修饰的控件设置一个唯一的id
b. <lable for=”ma”>婚否</label><input id=”ma” type=”checkbox”/>
3. fieldset: GroupBox效果
a. <fieldset>
i. <legend>常用</legend>
ii. <input type=”text” />
b. </fieldset>
十三.层(Div)、块(Span)
1. 层:<div></div>将内容放到层中,就以将这些内容当成一个整体进行处理,比如整体隐藏、整体移动等。div非常强大和常用。类似于WinForm的Panel;
2. span:div是将内容放到一个矩形的区块中,会影响布局,而span只是把一段内容定义成一个整体进行操作,但不应该布局、显示。
十四.样式表、CSS
1. CSS(层叠样式表)是用来美化页面用的,可以对页面元素进行更精细的设置,样式主要描述元素的字体颜色、背景颜色、边框等。CSS主要有元素内联、页面嵌入和外部引用三种使用方式:
a.元素内联:直接将样式写入元素的style属性中,<input type=”text”readonly=”readonly”style=”background-color:#FF00FF” />,适用于样式没有可复用性的场合;
b.页面嵌入:在head中加入
l <style type=”text/css”>
n input{border-color:Yellow,color:Red;}
l </style>
l 表示页面中所有input都是采用指定的样式。适合于样式复用,减小页面体积
c. 外部引用:将CSS内容写入CSS后缀的文件
l textarea{background:yellow}
l 然后在页面中引用,在head中加入
l <link type=”text/css” rel=”Stylesheet”href=”s1.css” />
link标签是单独出现的
属性
href -- 指定需要加载的资源(CSS文件)的地址URI
rel -- 指定链接类型
rev -- 指定链接类型
type -- 包含内容的类型,一般使用type="text/css"
l 适合于多个页面共享CSS。
十五.常见样式
1. css计量单位:css中表示宽度、距离时有多种计量单位:px(像素)、30%(百分比)、em(相对单位)等。width:20px;
2. background-color:Red;背景颜色;color:文本颜色;
3. border-style:solid;边框风格,实线,还有dotted(点)等值;border-color:边框颜色;border-width:边框宽度。eg:style=”borde-color:Red;border-width:1px;border-style:dotted;”
4. display:元素是否显示,可选值none(不显示)、block(显示为块级元素,此元素前后会带有换行符。)、inline(显示为内联元素,元素前后没有换行符)等;
5. cursor:鼠标在元素上时显示的光标图标,可选值:cursor(默认光标)、pointer(超链接上的手)、text(输入Bean)、wait(忙沙漏)、help(帮助)等;
6. LI不显示圆点:LIST-STYLE-TYPE:none;一般设在li或者ul上。应用:图片——不显示边框;
7. url:引用一个指定的图标。eg:<body style="cursor:url(dinosau2.ani)">
十六.样式选择器
1. 对于非元素内联的样式需要定义样式选择器,通俗的说就是这个样式适合于哪些元素,三种:标签选择器、class选择器和id选择器;
a. 标签选择器:input{border-color:Yellow;color:Red;},对于指定的标签采用统一的样式;
b. class选择器:以定义一个命名的样式,然后在用到它的时候设定元素的class属性为样式的名称,还可以同时设定多个class,名称之间加空格
样式名称开头加“.”
.warning{font-size:xx-large;cursor:help;}
.highlight{font-size:xx-large;cursor:help;}
<table>
<tr>
<tdclass=”highlight”>aaa</td>
<tdclass=”warning”>bb</td>
<tdclass=”highlight warning”>ccc</td>
</tr>
</table>
c. id选择器:为指定id的元素设定样式,id前加#
#username
{
font-size:xx-large;
}
<inputid=”username” class=”accountno” style=”font-size:xx-large” type=”text” value=”aaaaaaaaa”/>
2. 更多选择器
a. 关联选择器
l P Strong{background-color:Yellow}
l 表示P标签内的Strong标签内的内容使用的样式
l <strong>加粗</strong>
l <p><strong>hello,world!</strong></p>
b. 组合选择器,同时为多个标签设定一个样式
l h1,h2,input{background-color:Green}
l <h1>hello,my country</h1>
l <input type=”text” value=”test” />
3. 伪选择器:为标签的不同状态设定不同的样式:
A:visited:超链接点击过的样式;
A:active:选中超链接时的样式;
A:link:超链接未被访问时的状态;
A:hover鼠标移到超链接时的状态。
A:visited{text-decoration:none}
A:active{text-decoration:none}
A:link{text-decoration:none}
A:hover{text-decoration:underline}
十七.标签+class选择器
1. class选择器也可以针对不同的标签,实现同样的样式名对于不同的标签有不同的样式,只要在样式名前加标签名即可:
l input.accountno{text-align:right;color:Red;}
l label.accountno{font-style:Italic;}
l <input class=”accountno” type=”text”value=”111111” />
l <label class=”accountno”>33333333333</label>