内容:HTML、CSS 目标:掌握手写HTML实现一般难度的Web页面的能力(如网站注册表单),为ASP.Net学习打基础。坚持手写HTML,可视化设计只是一种自学的手段。 参考书:张孝祥《JavaScript网页开发——体验式学习教程》

HTML(HyperText Markup Language)就是描述网页长什么样子、有什么内容的一个文本。

查看网页的描述内容(HTML)的方式:使用IE浏览器的话,在网页上点击右键,选择“查看源文件” B/S(Browser / Server)

最初原因就是Web刚起步的时候没有一个统一的HTML标准,后来虽然有了标准的W3C组织提出的HTML标准,但是各个浏览器厂商还是各自为政,没有完全遵守这个标准。

第一个网页

使用记事本创建网页

新建一个文本文件,后缀名改为.html或.htm 输入

<html>

<head>

<title>我的第一个网页</title>

</head>

<body bgcolor="red" background="bg.jpg">

Hello world

</body>

</html>

HTML页结构说明

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

<head></head>内放的是头部信息,是对页面的描述,不会直接显示在页面中,<head>内的<title>中设置的是页面的标题,<title>只能放在<head>中;

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

所有页面都应该至少包含这些部分,由于浏览器容错性强,所以即使不包含也能正常显示,但是最好还是写完全了。

开发工具

编写普通的HTML页面是和任何后台语言无关的,可以使用记事本、高级记事本(Editplus,Notepad++)、Dreamweaver、Expression Web(FrontPage的改头换面版)等工具写,这些工具是给页面美工用的,开发人员用VisualStudio写html就够了。

不要把精力放到怎么把界面做好看上,正规公司都有专门的页面美工,不正规公司都是偷别人的美工页面,无论是偷别人的页面,还是使用公司美工开发出来的页面,对于开发人员要做的“填模板”工作都是一样的。

文字格式

h标签,

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

<br>只是回车,

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

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

<b>a</b>粗体。

<i>b</i>斜体

<font></font>字体标签,

<font color="red">红色</font>

<font size="30" color="red">红色</font>

color size face 特殊字符:HTML中<、>是有特殊含义的、空格是不会被显示的(输入一个带空格的字符串看看),所以需要特殊符号,相当于C#中的'\n'转义符。

&lt;(小于号,less than);

&gt;(大于号,greater than);

&nbsp;(空格,no-break space)。

见备注。

<hr> color size width align=left,center,right

<pre> 预格式化 保持本色

HTML不把“ ”当成空格,因为HTML中经常有缩进,如果把缩进的空格在浏览器中以空格形式展现的话,排版会很麻烦。“&nbsp;”表示空格。

为什么<>要用&lt;&gt;代替?

就是因为<>有特殊含义:标签的定义。

颜色体系

body标签的bgcolor属性可以设定网页的背景颜色,<body bgcolor="#006699">

#006699这就是HTML中表示颜色的方式,每两个是一组,三组分别就表示R、G、B的值,是16进制表示。关于RGB见备注

可以使用VS内置的颜色选择对话框生成RGB值,也可以用取色器(比如DebugBar内置的取色器:打开IE,打开DebugBar工具栏,点击吸管图标);HTML还预定义了一些颜色:red、black、white等,比如bgcolor="black"。

配色不是一个专业开发人员考虑的,是美工的事情,所以对于颜色的取值不用太操心,知道有这么一回事就行了。

(任何颜色都是红、绿、蓝三色的组合颜色,三原色。R=Red、G=Green、B=Blue。)任何一个颜色都能分成无限多分,但是计算机中不能表示无限。把一个颜色分成256份就基本能骗过人眼了,就是专业的美术师也分别不出来。表示任何一个颜色你都可以说R值是多少,B值是多少,G是多少。纯红色:R=255,G=0,B=0;纯黑色:R=255、G=255、B=255,纯白色:R=0、G=0、B=0。)

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>中还可以嵌套图片,这样就是点击图片打开连接

<a href="http://www.rupeng.com">

<img src="http://www.rupeng.com/forum/templates/uchome/images/logo.gif"/>

</a>

超链接深入

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

<a href="a.htm"><img src="a.jpg"/></a>

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

<img src="http://images.cnblogs.com/csharp1.jpg" />

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

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

锚记:用name属性为<a> 起名字:<a name="Last">这里是最后</a>。这样可以通过<a href="#Last">转到平台</a>来跳转到超链接的部分。

案例:去往评论、回到正文。多敲几个回车

图片

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

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

如果指定了width、height哪怕图片没有加载完成,也会先把位置占上。 如果网页上要显示小图(比如缩略图),不要仅仅是把大图设定一下width、height来缩小,因为仍然会下载大图,会使得加载速度很慢。

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

列表、表格

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

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

表格:<table></table>为表格,在内部通过<tr>创建行,<tr>内部通过<td> 创建单元格。可以将table的border属性设为0来隐藏表格线。

填充、间距Cellpadding内容和表格边线之间的距离 cellspacing单元格之间的间距s

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

<td>也有align和valign。<tr align="right"><td>tom</td><td align="left">20</td><td>男</td></tr>:子标签默认继承父标签的属性,如果自己单独指定了属性,则会覆盖父标签的属性。

还可以使用rowspan、colspan进行单元格的合并

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

列表属性

Type = disc, circle, square

Type= 1,a,A,I,is

练习1:分别使用<ol> <ul> 显示歌曲列表,<ol>使用a,b,c格式显示,<ul>使用实心圆显示

练习2:使用<table>做一个员工表格.显示员工姓名、性别、工资,表头加粗、居中显示。显示4个员工

练习3:跨行跨列。学生成绩表格、学生基本情况表格

表单

网站表单与填表

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

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

去银行里边开户,你需要到柜台去填一张表,然后递给银行工作人员,由银行工作人员根据你填的信息来进行后续的处理,你本人不能直接去操作银行的系统去自己开户。 对于网站同样是这样的原理:163邮箱注册来说,你在注册页面里也是填一张表:用了什么用户名、密码是什么。点击【注册账号】按钮以后,IE浏览器会将这个表格提交给163的后台服务器进行处理。表单一般要和服务端程序进行交互才能起作用,暂时不涉及服务端编程。

input表单详解

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

text:size属性为宽度,value为值,maxlength为可以输入的最大长度,readonly只读。

<input type="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的值就可以知道谁被选中了,不用单独的判断。

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

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

<select>标签

用来创建类似于WinForm中的ComboBox或者ListBox 如果size属性大于1就是ListBox(size的值为显示出来的列表数量),否则就是ComboBox。<select multiple>或者<select multiple="multiple">(推荐),那么就是可以多选的ListBox。 select中的项是<option>,<option>北京</option>还可以设定项的值<option value="1">北京</option>。 将一个option设置为选中:<option selected>333</option>或者<option selected="selected">333</option>(推荐)就可以将这个项设定为选择项 如何实现“不选择”,添加一个<option value="-1">--不选择--<option>,然后编程判断select选中的值如果是-1就认为是不选择。 select分组选项,可以使用optgroup对数据进行分组,分组本身不会被选择,无论对于下拉列表还是列表框都适用。备注

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

其他标签

<textarea>多行文本(也是表单元素):<textarea>文本</textarea>,cols、rows属性表示行数和列数。 <label>:在<input type="text">前可以写普通的文本来修饰,但是单击修饰文本的时候input并不会得到焦点,而用label则可以,for属性指定要修饰的控件的id,<label for="txt1" >asdfad</label> 为被修饰的控件设置一个唯一的id。 <label for="ma">婚否</label> <input id="ma" type="checkbox" /> fieldset:GroupBox效果,将控件划分一个区域,看起来更规整 <fieldset> <legend>常用</legend> <input type="text" /> </fieldset> *滚动文字 <marquee> * *播放声音、显示flash,见备注

 调用wmp的插件<embed src="coder.mp3" loop=true autostart=true name=bgss width="" height="">
只能播放wav和mid格式,只支持ie<bgsound src="town.mid" loop="true" /> 插入flash
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="" height="">
<param name="movie" value="light-bot-2205.swf" />
<param name="quality" value="high" />
<embed src="light-bot-2205.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="" height=""></embed>
</object>

练习

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

头部标签

<meta>标签,<meta>有指定name和指定http-equiv两种用法,<meta name="名字" content="值" />、<meta http-equiv="名字" content="值" />两种用法。 <meta http-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" /> 禁止浏览器缓存页面。

练习

class0513(html基础加强)的更多相关文章

  1. class0513(html基础加强2)

    使用VS创建网页 新建Web项目(新建→ASP.Net Web应用程序),新建html页面(添加→新建项→Web→HTML页) 查看页面的方式: 切换到“设计”视图,可以在这里查看初步的预览效果,不是 ...

  2. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  3. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  6. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  7. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  8. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  9. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

随机推荐

  1. Webstorm10.0.4注册码

    分享几个Webstorm10的注册码: (1) user name :EMBRACE ===== LICENSE BEGIN =====17739-1204201000002KkN!4z2O8JEyj ...

  2. C#实现IDispose模式

    .net的GC机制有两个问题:首先GC并不能释放所有资源,它更不能释放非托管资源.其次,GC也不是实时的,所有GC存在不确定性.为了解决这个问题.NET提供了析构函数 public class Dis ...

  3. asp 文件上传(无组件上传)

    文件1.上传界面文件 upload.htm<html><head><meta http-equiv="Content-Language" conten ...

  4. adt安装慢解决

    原地址:http://yuanzhifei89.iteye.com/blog/1884398 安装adt的时候不管时在线安装还是下载下来了离线安装,都不见安装进度条动,只要把一个选项勾掉立马就让进度条 ...

  5. POJ 1562 && ZOJ 1709 Oil Deposits(简单DFS)

    题目链接 题意 : 问一个m×n的矩形中,有多少个pocket,如果两块油田相连(上下左右或者对角连着也算),就算一个pocket . 思路 : 写好8个方向搜就可以了,每次找的时候可以先把那个点直接 ...

  6. UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

    首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件. 具体代码如下: ViewController. ...

  7. MyBatis之传入参数parameterType

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...

  8. centos安装异常解决方法

    VMware系统安装Centos7后,第一次启动出现以下异常信息: Initial setup of CentOS Linux (core) ) [x] Creat user ) [!] Licens ...

  9. Java汉字排序(3)按笔划排序

    对于包含汉字的字符串来说,排序的方式主要有两种:一种是拼音,一种是笔画. 本文就讲述如何实现按笔划排序的比较器(Comparator). 作者:Jeff 发表于:2007年12月21日 11:27 最 ...

  10. 【HDOJ】4297 One and One Story

    综合性很强的题目.存在环,可以用tarjan处理,然后需要求LCA.并查集+RMQ可以搞.非常不错的题目. /* 4297 */ #include <iostream> #include ...