zoukankan      html  css  js  c++  java
  • html基础

      1 HTML概述
      2 
      3 超文本标记语言(Hyper Text Markup Language)
      4 HTML文档是一个包含标记的文本文件
      5 文件名以.htm或者.html 结尾 
      6 
      7 ------------------------------------------------------------------------------
      8 
      9 文档结构
     10 
     11 为了使浏览器能正确渲染页面,我们需要告诉浏览器网页所使用的文档类型(DOCTYPE)。
     12 
     13 目前的HTML版本是4.01,但是实际中广泛使用的是XHTML 1.0 Transitional。
     14 
     15 XHTML比HTML有更加严格的语法:
     16 标签必须被正确地嵌套。 (<b><i>Hello</b></i> 是不正确的)
     17 标签名必须用小写字母。
     18 所有标签必须闭合
     19 
     20 DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分,除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。
     21 在XHTML中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。打个比方:人体模特换衣服。模特就好比数据,衣服则是表现形式,模特和衣服是分离的,这样你就可以随意换衣服。而原来HTML4中,数据和表现是混杂在一起的,要一次性换个表现形式非常困难。
     22 
     23 一个完整的页面:
     24 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     25 
     26 其中的DTD叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。
     27 
     28 
     29 为了让浏览器正确的渲染HTML文档,我们需要告诉浏览器我们的HTML文档使用的是哪个版本的HTML。
     30 
     31 当前的HTML 4.01,有三个不同的版本:
     32 
     33 Strict
     34 最严格、干净的HTML版本。不允许表现层的属性和标签,W3C也将逐渐淘汰这些标签,因为完全可以用CSS来实现。比如<center>  <font>  <iframe> 标签,以及width,height(img,table),align(table),target(a)等属性。
     35 
     36 Transitional:
     37 过渡期HTML版本。支持大部分的表现层属性和标签。
     38 
     39 Frameset:
     40 允许在一个页面中嵌入多个页面。
     41 
     42 使用三个不同版本的HTML,需要在页面的第一行添加DOCTYPE声明:
     43 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     44 
     45 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     46 
     47 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
     48 
     49 XHTML 1.0 提供了三种DTD声明可供选择:过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如<br>。完整代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
     50 
     51 ------------------------------------------------------------------------------
     52 基本标签
     53 
     54 块级标签
     55 就像标题、段落一样,需要在页面上占据一块的位置的标签。
     56 <h1> 最大的标题    <h2> - <h6> 大小依次减小的标题   <p> 段落
     57 
     58 <pre> 显示一段预格式化的文本。此标签内的空格、换行、Tab等都被原样显示出来。一般用来显示一段源代码。
     59 predefined:即预定义的。     paragraph:段落
     60 
     61 <pre>                                            ********************
     62 if (!IsPostBack)
     63 {
     64     string num1 = Request.QueryString["num1"];
     65     string num2 = Request.QueryString["num2"];
     66 
     67     if (!String.IsNullOrEmpty(num1) && !String.IsNullOrEmpty(num2))
     68     {
     69         labResult.Text = (Convert.ToInt32(num1) + Convert.ToInt32(num2)).ToString();
     70     }
     71 }
     72 </pre>                                            *********************
     73 
     74 显示效果如下:
     75 if (!IsPostBack)
     76 {
     77     string num1 = Request.QueryString["num1"];
     78     string num2 = Request.QueryString["num2"];
     79 
     80     if (!String.IsNullOrEmpty(num1) && !String.IsNullOrEmpty(num2))
     81     {
     82         labResult.Text = (Convert.ToInt32(num1) + Convert.ToInt32(num2)).ToString();
     83     }
     84 }
     85 
     86 大多数XHTML可以表示为两种类型的标签:块标签(block tag)和内联标签(inline tag)。
     87 
     88 <div>一般块级标签。
     89 
     90 <hr>水平线
     91 
     92 注:HTML自动在一个<h1> - <h6> <p> <pre> 的段落前后各添加一个空行。
     93 
     94 ------------------------------------------------------------------------------
     95 基本标签
     96 
     97 内联标签
     98 <em> 强调,大部分浏览器渲染为斜体。
     99 <strong> 强调,大部分浏览器渲染为黑体。
    100 <sub> 下标
    101 <sup> 上标
    102 
    103 内联标签通常用于样式化一行中的文本,并且不会导致换行。常见的内联标签包括<i>斜体、<em>、<strong>和<b>104 
    105 <code> 标示一段代码        <span> 一般内联标签
    106 <br> 换行        <b> 黑体    <i> 斜体
    107 注:<span> 标签被用来组合文档中的行内元素。如果不对 span 应用样式,那么 span 元素中的文本与其他文本不会任何视觉上的差异
    108 
    109 ------------------------------------------------------------------------------
    110 实体字符
    111 
    112 HTML文档本身使用了一些字符来作为标签,所以要想在页面上显示 < 或 >,就必须使用实体字符。    
    113 比如使用 &lt; 可以在页面上显示 < 字符。
    114 
    115 实体字符的格式是:
    116     AND符号(&) + 实体名 +分号(;)
    117 
    118 转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
    119 
    120 常用的实体字符             ******************************
    121 
    122 &nbsp;    空格
    123 &lt;        <
    124 &gt;        >
    125 &amp;    &
    126 &quot;    “
    127 &copy;    ?
    128 &reg;    ?                 ******************************
    129 
    130 参考:http://www.w3schools.com/html/html_entities.asp
    131 
    132 <p>空格:&nbsp;END</p>
    133 <p>左括号:&lt;</p>
    134 <p>右括号:&gt;</p>
    135 <p>AND符号:&amp;</p>
    136 <p>引号:&quot;</p>
    137 <p>人民币:&yen;</p>
    138 <p>版权:&copy;</p>
    139 <p>注册:&reg;</p>
    140 <p>乘号:&times;</p>
    141 <p>除号:&divide;</p>
    142 
    143 ------------------------------------------------------------------------------
    144 链接
    145 
    146 HTML使用超级链接来连接到网络上的其他页面。
    147 
    148 一个简单的链接是由 <a> 标签和 href 属性构成的
    149 
    150 <a href="http://www.baidu.com/">百度</a>
    151 
    152 href 属性
    153       -- 绝对路径
    154           http:
    155                  --HTTP请求
    156           https:                           ********************
    157                  --加密的HTTP请求
    158           mailto:
    159                  --打开邮件客户端,准备发送邮件
    160           ftp:
    161                  --打开FTP服务器
    162 
    163 示例:绝对路径
    164 <a href="http://www.baidu.com/">链接到百度首页</a>
    165 <a href="mailto:leizhang5@iflytek.com">打开邮件客户端</a>
    166 <a href="https://mail.google.com/">登陆Gmail</a>
    167 <a href="ftp://mail.ustc.edu.cn/">登陆科大FTP服务器</a>
    168 
    169 href 属性
    170       --相对路径               ****************
    171          ./
    172             --本目录     也可以不写
    173          ../ 
    174             --上一级目录
    175          ../../
    176             --上一级目录的上一级目录
    177           /
    178             --根目录
    179 
    180 target属性(控制链接打开的位置)
    181          _blank
    182                   新窗口中打开链接
    183          _self
    184                   当前窗口中打开链接(默认)
    185          _parent
    186                   父窗口中打开链接
    187          _top
    188                   最顶层父窗口中打开链接
    189          targetname                                  ***************
    190                   指定窗口或Frame中打开链接
    191 
    192 注:当用户第一次选择内容列表中的某个链接时,浏览器将打开一个新的窗口,将它标记为 "view_window",然后在其中显示希望显示的文档内容。如果用户从这个内容列表中选择另一个链接,且这个 "view_window" 仍处于打开状态,浏览器就会再次将选定的文档载入那个窗口,取代刚才的那些文档。(即相当于java中的覆盖或重写的方法,取代原来的页面内容)
    193 
    194 <a href="http://www.baidu.com" target="page1">在IFRAME中打开百度首页</a>
    195 <a href="../character.htm" target="page1">在IFRAME中打开字符实体示例</a>
    196 <iframe style=" 600px; height: 300px; border: 1px solid #666;" name="page1">
    197 </iframe>                               **********************
    198 
    199 <a href="#" onclick="javascript:window.open('','mywindow');">打开一个空白的新窗口                   ***********************
    200 </a>
    201 <a href="test2.htm" target="mywindow">在这个新窗口中打开“test2.htm”</a>
    202 
    203 ------------------------------------------------------------------------------
    204 页面锚点
    205 
    206 html 锚点 到底是干吗的?                       ******************
    207 通俗简单地说,比如一篇很长的文章,你想按分段精确来看,那就可以用到锚点了。
    208 
    209 代码:
    210 <a href="#001">跳到001</a>
    211 ...文字省略
    212 <a name="001" id="001" ></a>
    213 ...文字省略
    214 
    215 其实锚点只需name就可以可,加id是为了让它兼容性更好.
    216 href的值要跟name  i d 一致,前面必须加"#",以上代码在ie6/7,ff中都可以兼容,但在ie8中就不行。
    217 因为我们锚点的<a></a>值为空,为不影响美观我们加个空格就行了,
    218 
    219 
    220 如以下代码,就可以兼容ie8
    221 <a href="#001">跳到001</a>
    222 ...文字省略
    223 <a name="001" id="001" > </a>
    224 ...文字省略
    225 
    226 
    227 另一问题,想显示某页面(如:123.html)的某锚点内容呢? 
    228 
    229 代码如下
    230 <a href="123.html#001">跳到001</a>
    231 ...文字省略
    232 <a name="001" id="001" > </a>
    233 ...文字省略
    234 ------------------------------------------------------------------------------
    235 图片
    236 
    237 可以在页面中添加bmp,gif,jpg,png等格式的图片。
    238 src 是图片的路径
    239 alt是图片不能显示时的文本,应该为每个图片提供这个属性。
    240 
    241 <img alt=“birthday" src="images/birthday.bmp" />
    242 <img alt="Rose" src="images/rose2.bmp" />
    243 
    244 图片链接:
    245     <a href="http://www.baidu.com/">
    246         <img alt="baidu" src="baidu_logo.gif" />
    247     </a>
    248 
    249 大部分的浏览器会为图片链接的图片添加边框,可以通过设置图片的样式来去掉边框:                                      *******************
    250 <a href="http://www.baidu.com/">
    251   <img alt="baidu" style="border: 0px;" src="baidu_logo.gif" />
    252 </a>                                               *******************
    253 
    254 图片地图:
    255 点击图片的不同部分,可以链接到不同的地方。
    256 
    257 示例:图片地图                                    ******************
    258 <img alt="earth" src="./images/earth.bmp" usemap="#earthmap" />
    259 <map name="earthmap">
    260     <area shape="rect" coords="0,0,20,20" alt="baidu" href="http://www.baidu.com/" target="_blank" />
    261     <area shape="circle" coords="76,76,20" alt="google" href="http://www.google.cn/"
    262     target="_blank" />
    263 </map>
    264 
    265 <area>定义了图片中特定区域的链接行为      **************
    266 shape属性指出区域的形状
    267        如果为矩形(rect),则coords需要指定四个数字(左上角横坐标,左上角纵坐标,右下角横坐标,右下角纵坐标)
    268        如果为圆形(circle),则coods需要指定三个数字(圆心横坐标,圆心纵坐标,半径)
    269 
    270 ------------------------------------------------------------------------------
    271 列表
    272 
    273 无序列表
    274 <ul>
    275             <li>太阳</li>
    276             <li>月亮</li>
    277             <li>星星</li>
    278             <li>地球</li>
    279 </ul>
    280 
    281 有序列表
    282 <ol>
    283         <li>太阳</li>
    284         <li>月亮</li>
    285         <li>地球</li>
    286 </ol>
    287 
    288 示例:无序列表中各无序图标形状
    289 <ul type="disc">       黑圆
    290     <li>太阳</li>
    291     <li>月亮</li>
    292     <li>地球</li>
    293 </ul>
    294 <ul type="circle">     白园
    295     <li>太阳</li>
    296     <li>月亮</li>
    297     <li>地球</li>
    298 </ul>
    299 <ul type="square">     黑方块
    300     <li>太阳</li>
    301     <li>月亮</li>
    302     <li>地球</li>
    303 </ul>
    304 
    305 示例:嵌套列表
    306    
    307 <ul>
    308     <li>太阳</li>
    309     <li>月亮</li>
    310     <li>地球
    311             <ul>
    312             <li>海洋</li>
    313             <li>陆地</li>
    314             <li>雪山</li>
    315             </ul>
    316     </li>
    317 </ul>
    318 ------------------------------------------------------------------------------
    319 表格
    320 
    321 Table用来展示列表数据。
    322 <tr> 表示一行,<td>表示一个单元格
    323 
    324 <table>
    325         <tr>
    326             <td>数据一</td>
    327             <td> 数据二</td>
    328         </tr>
    329 </table>
    330 
    331 border属性
    332 <table border=“5">
    333 
    334 th与td标签
    335 <td>:table data 表示一个单元格
    336 <th>:table head 表示一个单元格,这个单元格是表头,浏览器一般渲染为黑体(可以是第一行横排或者是第一列纵排)   ***************
    337 
    338 cellpadding属性                         ************************
    339 单元格的内边距。
    340 <table border="1" cellpadding="20">(即单元格内的文字与左边边框的距离)
    341 
    342 cellspacing属性                          ************************
    343 单元格边框的宽度。
    344 <table border="1" cellspacing="20">(即整个表格的外边框与单元格边框的距离)(注:将cellspacing="0" 则可实现外边框与内边框合并的效果,即只看到一个边框)                     ************************
    345 
    346 空单元格
    347 如果table设置了border,那个空单元格的border会不显示,可以通过在空单元格中添加 &nbsp; 来解决。
    348 
    349 对齐方式
    350 居左、右、中对齐
    351         <th align="right">标题一</th>
    352         <th align="right">标题二</th>
    353 注意:需要在table中设置宽width和高height,如果只是设置cellpadding,是不会显示上下左右的排列         **************************
    354 
    355 表格中数据的排列方式有两种,分别是左右排列和上下排列。左右排列是以ALIGN属性来设置,而上下排列则由VALIGN属性来设置。其中左右排列的位置可分为三种:居左(left)、居右(right)和居中(center);而上下排列基本上比较常用的有四种:上齐(top)、居中(middle)、下齐(bottom)和基线(baseline)。                    **************************
    356 
    357 rowspan属性
    358 跨行单元格,rowspan=”2” 表示当前单元格跨两行。(即上下单元格合并)
    359 <td rowspan="2">
    360 
    361 colspan属性
    362 跨列单元格,colspan=”2” 表示当前单元格跨两列。(即左右单元格合并)
    363 <td colspan="2">
    364 ------------------------------------------------------------------------------
  • 相关阅读:
    设计模式之创建型模式
    Django Admin的简单使用
    单例模式
    自定义异步IO模块
    ps 处理gif
    安装vmware tools问题
    ppt图片在word中不能正常显示,只显示为矩形框的解决方法
    没有注册类别的一种解决方法
    VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法
    Ubuntu重装VMwareTools
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/6051660.html
Copyright © 2011-2022 走看看