黑马程序员-Html笔记

         ---------------------   Windows Phone 7手机开发.Net培训    期待与您交流! ----------------------


Html笔记

一、web开发相关概念:

1、什么是浏览器?

浏览器是接收浏览者的操作(打开一个网址,点击一个链接,点击一个按钮)然后帮助浏览者去web服务器请求网页内容(html格式返回),然后展示给人眼能看的懂的可视化页面的软件。

IE !=浏览器,Fire、 opera、chrome等,遨游搜狗浏览器和360浏览器并不是独立于IE的浏览器,内核还是IE。

WebBrowser控件:简单的链接,非真正的浏览器

 

2、静态页面:html页面文件保存在服务器上,浏览时发给浏览器。

动态页面:服务器上没有浏览者要看的页面,服务器动态生成的html页面发给浏览器。

普通的html页面和任何后台语言无关,开发人员实现页面功能即可,用visual studio够了

 

二、VS中开发HTML页面

第一个网页自动生成的:不过要知道格式能手写!!不要依赖工具箱。

右键在浏览器中查看和启动调试的区别:

Asp.net和ajax.net中调试时浏览器中查看是不能设置断点的,只能在启动调试中启动,将这个页面设置为起始页即可。

 

三、HTML基础加强:

1、HTML页面结构说明

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>内放的是头部的信息,是对页面的描述不会直接显示在页面中

    <title>无标题页</title>页面的标题只能放在<head>中

</head>

<body>内是页面的主体大部分显示内容都定义在这里

</body>

</html>所有内容都应在标签之内

所有页面都应该至少包含这些部分最好写全了

 

2、颜色体系     

非开发人员的事,美工css文件和后台编程

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>无标题页</title>

</head>

<body bgcol=>

   <imgsrc="1.gif" />aa<fontcolor="red">aaa</font>

</body>

</html>

 

3、HTML 和XML的联系和区别

格式标签:<p></p>创建段落;

<br/>回车,也可以写成<br>,在HTML中有一些标签可以不关闭,<br>就是一个,这是和XML不同的地方(常考),但是为了遵循XHTML规范,推荐像XML一样严格关闭。<br/><img src="1.gif"/>

 

属性值:HTML中属性值即可以用单引号括起来、也可以用双引号括起来、甚至不用引号都可以(不推荐),单双要配对。

注释:HTML使用和XML一样的<!--注释内容-->来做注释。

特殊字符:HTML中<、>是有特殊含义的、空格是不会被显示的(输入一个带空格的字符串看看),所以需要特殊符号,相当于C#中的'\n'转义符。&lt;(小于号,lessthan);&gt;(大于号,greaterthan);&nbsp;(空格,no-break space)。使用工具、免除记忆。为什么特殊字符?

 

4、格式相关的标签:

 文字格式

<br/>只是回车,<p>是分段。<p>前后会有比较大的空白,而<br/>则没有。

<p>是段落<br>是回车

 

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

h标签,HTML定义了<h1></h1>到<h6></h6>六个h标签,分别表示不同大小的字体。

<b>a</b>粗体。

<font></font>字体标签,<font color="red">红色</font> <font size="30" color="red">红色</font>

<tableborder="1">表格边框

  <thead><tr><td>姓名</td><td>学号</td><td>年龄</td></tr></thead>

  <tr><td>姓名</td><td>学号</td><td>年龄</td></tr>

  <tr><td><fontcolor="red" >姓名我是薇薇</font></td><td>学号</td><td>年龄</td></tr>

  <tr><tdalign="right">姓名</td><td>学号对齐方式</td><td><ahref ="http://www.baidu.com">年龄</a></td></tr>

  <tr><tdcolspan="2">登陆</td></tr>

  </table>  可以嵌套

 

5、超链接

URL、超链接

URL:URL表示资源在网络中的地址,比如http://127.0.0.1/a.htm、ftp://192.168.88.128/b.zip。还有URI的概念,比URL大,有的类中使用URI这种说法,可以暂时看成和URL一样就行。

超级链接:<a href="http://www.rupeng.com">如鹏网</a>。

<a>中还可以嵌套图片,这样就是点击图片打开连接<ahref="http://www.rupeng.com"><imgsrc="http://www.rupeng.com/forum/templates/uchome/images/logo.gif"/></a>

 

超链接深入

相对URL:相对URL表示相对于当前文档的资源,“/”表示网站根目录,“../”表示父目录,“../../”表示父目录的父目录,“./”或者不写任何斜线表示相对于当前路径的目录。

站内引用最好用相对URL,这样域名改变了、目录改变了都不受影响。<ahref="a.htm"><imgsrc="a.jpg"/></a>

<imgsrc="../images/csharp1.jpg" />先返回到父目录根目录下的images文件

<imgsrc="/images/csharp1.jpg" />根目录下的

<img src="images/csharp1.jpg"/>当前目录下的

 

将<a>的target属性设定为"_blank"就可以在新窗口中打开超链接。

国情:国内的网站很多都是默认在新窗口中打开。

用name属性为<a>起名字:<a name="Last">这里是最后</a>。

可以通过<a href="#Last">转到平台</a>来跳转到超链接的部分。

 

6、图片

<imgsrc="a.jpg"/>注意图片是链接的,不是插入的,所以如果Src指向的文件不存在了,就看不了了。alt属性为图片无法显示时的显示文本,鼠标方式去也会有悬浮提示“点击查看大图”;

border属性指定边框,border="0"不显示边框;

width、height属性指定图片的显示大小,如果不指定则是图片的原始大小。

最好指定width、height,哪怕是原始尺寸大小,因为如果不指定大小,图片会不占位置,图片下载后才调整大小,会造成页面很乱。如果指定了width、height哪怕图片没有加载完成,也会先把位置占上。

如果网页上要显示小图(比如缩略图),不要仅仅是把大图设定一下width、height来缩小,因为仍然会下载大图,会使得加载速度很慢。要通过美工进行设置。

易错,不要以为把bmp后缀改为jpg就是改文件格式了!

显示大图方式1

<a href ="NewFolder1/101_0647.jpg" /> <imgsrc="NewFolder1/101_0647.jpg" width="50" height="50"/></a>

显示大图方式2√推荐

经过美工改过大小之后101_0648.jpg

<a href ="NewFolder1/101_0647.jpg" /> <imgsrc="NewFolder1/101_0648.jpg"/></a>

 

注意必须要有</a>结束,不然的话会下面的都加入链接了,设定链接的范围

 

7、列表、表格

列表:<ul><li>灌水区</li><li>版务区</li><li>原创贴图</li></ul>。unorderedlist。

(*)还有有序的列表<ol></ol>,用的很少。ordered list

 

表格:<table></table>为表格,在内部通过<tr>创建行,<tr>内部通过<td> 创建单元格。

可以将table的border属性设为0来隐藏表格线。border="1"一般不隐藏,不然的话就没有效果了

<tr>的属性:align,水平对齐,可选值left、right、center;valign,垂直对齐,可选值top、middle、bottom。

<td>也有align和valign。

<tralign="right"><td>tom</td><tdalign="left">20</td><td>男</td></tr>:

 

子标签默认继承父标签的属性,如果自己单独指定了属性,则会覆盖父标签的属性。

 

<table border="1"><tralign="right"><td>tom</td><tdalign="left">20</td><td>男</td></tr></table>

(*)还可以使用rowspan、colspan进行单元格的合并,用VS可视

化的功能来做就行。

<tr><tdcolspan="2"><inputtype="checkbox"id="remember"/><labelfor="remember">记住密码</label></td></tr>合并单元格的多少

(*)表头的td可以用th代替,这样就会表头粗体、居中显示。

建议将表头用<thead>代替<tr>

 

8、表单

网站表单与填表

<form>标签为表单标签。如果要把数据提交到服务器,则需要将<input>、<textarea>、<select>等表单元素放到<form>中。

<input>是主要的表单元素,

type的可选值:

submit(提交按钮)、button(普通按钮)、checkbox(复选框)、file(文件选择框)、hidden(隐藏字段)、image(图片按钮)、password(密码框)、radio(单选按钮)、reset(重置按钮)、text(文本框)。<input type="file" />

 

9、input表单详解

submit:点击submit按钮表单就会被提交给服务器,中文IE下默认按钮文本为“提交查询”,可以设置value属性修改按钮的显示文本

text:size属性为宽度,value为值,maxlength为可以输入的最大长度,readonly只读。<inputtype="text" readonly/>(只写属性名,不写属性值)或者<input type="text" readonly="readonly" />(推荐)

 

checkbox:checked属性表示是否被选中,<input type="checkbox"checked />或者<input type="checkbox"checked="checked" />(推荐)

checked、readonly等这种只有一个可选值的属性都可以省略属性值。

 

radio:相同name属性的为一组,不同radio设定不同的value值,这样通过取指定name的值就可以知道谁被选中了,不用单独的判断。

<br/>

<inputtype="radio"name="gender"/>

<br/>

<inputtype="radio"name="gender"/>

<br/>

<input type ="radio"name="gender"/>保密

 

file:使用file,则form的enctype必须设置为multipart/form-data、method属性为POST(*)

 

image:使用src属性指定图片的地址,用来实现美化的“登录按钮”。

image(图片按钮)图片可以做按钮

可以设置<input type="image” src="NewFolder1/101_0647.jpg"/>

Ctrl+j恢复提示

 

10、<select>标签

(select size option value)

用来创建类似于WinForm中的ComboBox或者ListBox

如果size属性大于1就是ListBox(size的值为显示出来的列表数量),否则就是ComboBox。<selectmultiple>或者<select multiple="multiple">(推荐),那么就是可以多选的ListBox。

select中的项是<option>,<option>北京</option>

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

(编程时取得使用value的值,displaynumber和value number)

将一个option设置为选中:

<optionselected>333</option>或者

<option selected="selected">333</option>(推荐)就可以将这个项设定为选择项

 

组名不被选择两种不选择:

a:如何实现“不选择”,添加一个<option value="-1">--不选择--<option>,然后编程判断select选中的值如果是-1就认为是不选择。

b:select分组选项,可以使用optgroup对数据进行分组,分组本身不会被选择,无论对于下拉列表还是列表框都适用。

<selectname="country"size="5">   为什么这里是name?本身名字,一次显示5个数据

  <optgrouplabel="europe">区域本身不能选择,只能选择项

  <optionvalue="fc">france</option>

  <optionvalue="uk">uk</option>

  </optgroup>

  <optgrouplabel="chinese">

  <optionvalue="hn">henan</option>

<option value="bj">beijing </option>

 

11、其他标签

<textarea>多行文本(也是表单元素):<textarea>文本

</textarea>,cols、rows属性表示行数和列数。

 

<label>:在<inputtype="text">前可以写普通的文本来修饰,但是单击修饰文本的时候input并不会得到焦点,而用label则可以,for属性指定要修饰的控件的id,<labelfor="txt1">asdfad</label>为被修饰的控件设置一个唯一的id。

<labelfor="ma">婚否</label> <inputid="ma"type="checkbox"/>

 

fieldset:相当于winform中的GroupBox效果,将想要的控件框起来,划分一个区域,看起来更规整。

<fieldset>

<legend>常用(名称)</legend>

<inputtype="text" />

</fieldset>

 

12、练习

练习1:实现登录界面,有用户名、密码、验证码(使用普通图

片代替)、“记住密码”复选框、登录按钮。

使用Table进行布局。

 

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>登陆</title>

</head>

<body>

 

<tableborder="1" >

<tr><td><labelfor="username">用户名:</label></td><td><inputid ="usename"type="text"/></td></tr>

<tr><td><labelfor="password">密码:</label></td><td><inputid ="password"type="text"/></td></tr>

 

<tr><td><labelfor="authcode">验证码:</label></td><td><inputid ="authcode"type="text"/><imgtitle="验证码"src ="/imags/1232.jpg"/></td></tr>不显示时显示“验证码”

<!--<img alt="验证码" src ="/imags/1232.jpg" /></td></tr>放上去显示”验证码“-->

<tr><tdcolspan="2"><inputtype="checkbox"id="remember"/><labelfor="remember">记住密码</label></td></tr>

<tr><tdcolspan="2"><inputtype="submit"value="登陆"/></td></tr>

</table>

</body>

</html>

 

练习2:实现注册页面,分为两个页面,第一个页面是协议显示页面,点击“我同意”超链接进入第二个注册页面,填写内容:用户名、密码、重复密码、省份(下拉列表)、性别(男、女、保密三个Radio)、职业(学生、公司职员、其他三个Radio)、爱好(登山、篮球、足球、读书、游泳五个CheckBox)。使用label来写修饰文本。将爱好几个CheckBox放到一个GroupBox中

自动提示快速完成页面,结束标签<自动补全,Ctrl+J自动提示。

 

协议显示页面:只设置了同意协议超链接,没有设置不同意,没有使用button。

协议页面:

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>注册协议</title>

</head>

<body>

<textareacols="50"rows ="5">注册本网站会员后你的钱都是我的!此处仅设置了一个链接:“同意” 两个字,没有使用按钮

</textarea>

 

<p><ahref="HTML注册协议链接注册页面.htm">同意</a></p>

</body>

</html>

 

注册页面:

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

    <title>无标题页</title>

 

</head>

<body>

 

<tableborder="1">

<tr><td><labelfor="username">用户名:</label></td><td><inputtype="text"id="usename"/></td></tr>

<tr><td><labelfor="password">密码:</label></td><td><inputtype="text"id="password"/></td></tr>

<tr><td><labelfor="password1">重复密码:</label></td><td><inputtype="text"id="password1"/></td></tr>

</table>

 

<tr><td><labelfor="province">省份

 

<selectid="province">id标注在最外层的标签上

<option>北京</option>

<option>天津</option>

<option>上海</option>

</label></td></tr>

</select>

<br/>

 

<tr><td><labelfor="sex">性别

<br/>

<inputtype="radio"name="gender"/>

<br/>

<inputtype="radio"name="gender"/>

<br/>

<inputtype="radio"name="gender"/>保密

</label></td></tr>

 

<br/>

<tr><td><labelfor="zhiye">职业

<br/>

<inputtype="radio"name="profession"/>学生

<br/>

<inputtype="radio"name="profession"/>公司职员

<br/>

<inputtype="radio"name="profession"/>其他

<br/>

</label></td></tr>

 

<tr><tdcolspan="2">

<fieldset><legend>爱好</legend>

<inputtype="checkbox" id="ds"/><labelfor="ds">登山</label>

<inputtype="checkbox" id="lq"/><labelfor="lq">篮球</label>

<inputtype="checkbox" id="zq"/><labelfor="zq">足球</label>

<inputtype="checkbox" id="dsh"/><labelfor="dsh">读书</label>

<inputtype="checkbox" id="yy"/><labelfor="yy">游泳</label>

</fieldset>

</td></tr>

 

</body>

</html>

 

 

四、样式

 

1、样式表、CSS

CSS(层叠样式表)是用来美化页面用的,可以对页面元素进行更精细的设置,样式主要描述元素的字体颜色、背景颜色、边框等。

样式的格式:“名称:具体内容”

CSS主要有元素内联、页面嵌入和外部引用三种使用方式。CSS是描述元素的皮肤!

元素内联:直接将样式写入元素的style属性中,

<inputtype="text"readonly="readonly" style="background-color: #FF00FF" />。适用于样式没有可复用性的场合。

 

页面嵌入:Style提到head中,在head中加入

<style type="text/css">

input{border-color:Yellow;color:Red;}

</style>

表示页面中所有input都是采用指定的样式。适合于样式复用,减小页面体积

 

外部引用:将css内容写入css后缀的文件css1.css

textarea{background:yellow}

然后在页面中引用,在head中加入

<linktype="text/css" rel="Stylesheet" href="s1.css"/>。适合于多个页面共享css。

<link type="text/css" rel="Stylesheet"href="css1.css"/>

 

多设置几个css文件,可以实现换肤的效果

包括大小等,ctrl+j学习提示注释看一下

括一下可以说三种方法是:直接在元素中写死,声明到style中,写到css中

 

只有页面元素特有的样式才写到元素的<style>属性中。

如果不同级别的样式有冲突,详细级别、子元素的会覆盖更高级别、父元素的。

 

只有特有的东西才最底端,否则都写到上一层当中,最底层的覆盖上层的样式。

推荐把尽可能多的样式写到单独的css文件中,这样可以复用,可以实现美工人员和开发人员很好的分工。

 

2、层(Div)、块(Span)

层:<div></div>将内容放到层中,就以将这些内容当成一个整体进行处理,比如整体隐藏、整体移动等。

div非常强大和常用。类似于WinForm的Panel。

 

span:div是将内容放到一个矩形的区块中,会影响布局,而span只是把一段内容定义成一个整体进行操作,但不影响布局显示。

 

(*)层内文字连续英文不换行的问题,wordbreak溢出处理。overflow:scroll,overflow:hide

 

3、常见样式

css计量单位:cs;border-color:边框颜色;border-width:边框宽度(默认是0)。

例子:

style="border-color:Red;border-width:2px;border-style:dotted;"

display:元素是否显示,可选值none(不显示)、block (显示为块级

元素,此元素前后会带有换行符。)、inline(显示为内联元素,元素前

后没有换行符)等。

cursor,鼠标在元素上时显示的光标图标,可选值:cursor(默认光标)、pointer(超链接上的手)、text(输入Bean)、wait(忙沙漏)、help(帮助)等。

 

还可以通过cursor:url(dinosau2.ani)使用ani、cur格式的图片的自定义光标图片。

 

LI不显示圆点:LIST-STYLE-TYPE: none;一般设在li或者ul上应用:图片:不显示边框,

 

是由display属性决定的!!!

这些东西都是属性???

 

4、样式选择器

对于非元素内联的样式需要定义样式选择器,通俗的说就是这个样式适

合于哪些元素,

三种:标签选择器、class选择器和id选择器。

标签选择器:

input{border-color:Yellow;color:Red;},对于指定的标签采

用统一的

input{background-color:Blue;border-color:Green ;color:Red;}

p{color:Blue }

 

 

class选择器:

以定义一个命名的样式,然后在用到它的时候设定元素的class属性为样式的名称,还可以同时设定多个class,名称之间加空格

样式名称开头加“.”

.warning{background:Yellow;}

.highlight{font-size:xx-large;cursor:help;}

<table><tr><tdclass="highlight">aaa</td><tdclass="warning">bb</td><td

class="highlightwarning">ccc</td></tr></table>

 

选择器优先级:style替代class

 

标签+class选择器

class选择器也可以针对不同的标签,实现同样的样式名对于不同的标签有不同的样式,只要在样式名前加标签名即可。

input.accountno{text-align:right;color:Red;}

label.accountno{font-style:italic;}

<input class="accountno"type="text" value="111111111111111"/>

<labelclass="accountno">333333333333333333</label>

 

 

id选择器:

为指定id的元素设定样式,id前加#

 #username

{

font-size:xx-large;

}

<inputid="username" type="text" value="aaaaaaaaaaaa"/>

 

style、class可以同时组合使用

<inputid="username" class="accountno"style="font-size:xxlarge"

type="text"value="aaaaaaaaaaaa" />

 

 

4、更多选择器(*)

关联选择器:

P strong{background-color:Yellow}

表示P标签内的strong标签内的内容使用的样式

<strong>fadsfasdfads</strong>

<p><strong>adfasfd</strong></p>

 

组合选择器,同时为多个标签设定一个样式

H1,H2,input{background-color:Green}

<h1>nihao</h1>

<inputtype="text" value="test" />

 

伪选择器

伪选择器:为标签的不同状态设定不同的样式:

目前常用的是超链接,几乎所有的页面都用,并且仅此一种(伪选择器),因此复制粘贴,直接设置为css文件。

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}

说明:TEXT-DECORATION: none表示超链接不显示下划线。


  ---------------------   Windows Phone 7手机开发.Net培训    期待与您交流! ----------------------

                     详情请查看:http://edu.csdn.net/heima


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值