Html的简单应用

概述

  HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记)。相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器根据标记语言的规则去解释它。

浏览器负责将标签翻译成用户“看得懂”的格式,呈现给用户!(例:djangomoan模版引擎),其实说白了,底层socket通信,但是浏览器拿到的数据是浏览器自己认识的语言(html语言)。

  

 

 

html树

 

 

 

 

 

Doctype

Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档

有和无的区别
  1. BackCompat:标准兼容模式未开启(或叫怪异模式[Quirks mode]、混杂模式)
  2. CSS1Compat:标准兼容模式已开启(或叫严格模式[Standards mode/Strict mode])

  这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。如果你的页面添加了那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

有,用什么?

Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档, dtd文件则包含了标记、attributes 、properties、约束规则。

更多说明:https://hsivonen.fi/doctype/

 

 

 

如上图所示,html有很多标签,比如上图显示的,html标签(一个html文件里面只能有一个html标签),head标签、body标签。如果把html比作一个完整的人体框架,head就是html的头,body是html的身体。

标签闭合类型:

  自闭合类型:

  这种meta标签里面,由一个<>组合成的,后面和加/也可以不加。

  <meta charset="UTF-8">

  主动闭合类型:

  由两组<>组成,最后一个<>里面还有一个/的,就称之为主动闭合标签。

  <div>主动闭合标签</div>

Meta(metadata information)

提供有关页面的元信息,例:页面编码、刷新、跳转、针对搜索引擎和更新频度的描述和关键词

  1、页面编码(告诉浏览器是什么编码)

      < meta http-equiv=“content-type” content=“text/html;charset=utf-8”>

  2、刷新和跳转(刷新:很多网页需要试试刷新数据,所以可以这么做。刷新加跳转:比如你登录一网站,5秒以后刷新一下,并跳转到指定的网站)

      < meta http-equiv=“Refresh” Content=“30″>

      < meta http-equiv=”Refresh“ Content=”5; Url=https//www.baidu.com“ />

  3、关键词(用户爬虫或者搜索网站的关键字来识别你的网站的作用和信息,但,但这只是关键字)

      < meta name="keywords" content="python,自学,Charles,哈哈哈" >

  4、描述信息(比如我搜索python 自学,可能用到的是keywords,但是描述信息则是关键字下面的信息,如下图)

      <meta name=”description” content=”你的描述内容”> 

  

 

 

 

  5、描述

     例如:cnblogs

  1. X-UA-Compatible

    微软的IE6是通过XP、Win2003等操作系统发布出来,作为占统治地位的桌面操作系统,也使得IE占据了通知地位,许多的网站开发的时候,就按照IE6的标准去开发,而IE6自身的标准也是微软公司内部定义的。到了IE7出来的时候,采用了微软公司内部标准以及部分W3C的标准,这个时候许多网站升级到IE7的时候,就比较痛苦,很多代码必须调整后,才能够正常的运行。而到了微软的IE8这个版本,基本上把微软内部自己定义的标准抛弃了,而全面的支持W3C的标准,由于基于对标准彻底的变化了,使得原先在早期IE8版本上能够访问的网站,在IE8中无法正常的访问,会出现一些排版错乱、文字重叠,显示不全等各种兼容性错误。

    与任何早期浏览器版本相比,Internet Explorer 8 对行业标准提供了更加紧密的支持。 因此,针对旧版本的浏览器设计的站点可能不会按预期显示。 为了帮助减轻任何问题,Internet Explorer 8 引入了文档兼容性的概念,从而允许您指定站点所支持的 Internet Explorer 版本。 文档兼容性在 Internet Explorer 8 中添加了新的模式;这些模式将告诉浏览器如何解释和呈现网站。 如果您的站点在 Internet Explorer 8 中无法正确显示,则可以更新该站点以支持最新的 Web 标准(首选方式),也可以强制 Internet Explorer 8 按照在旧版本的浏览器中查看站点的方式来显示内容。 通过使用 meta 元素将 X-UA-Compatible 标头添加到网页中,可以实现这一点。

当 Internet Explorer 8 遇到未包含 X-UA-Compatible 标头的网页时,它将使用 指令来确定如何显示该网页。 如果该指令丢失或未指定基于标准的文档类型,则 Internet Explorer 8 将以 IE5 模式(Quirks 模式)显示该网页。更多

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">



Title

  网页头部信息

  <title>百度一下,你就知道 </title>

  

 

Link

  CSS:

  我们知道在html是一个裸体的人,他要美观就得穿衣服,所以CSS就是好比是衣服,css不能直接写在html的属性里面,这样不方便维护更改,也不美观,所以需要把css样式单独写到一个.css的文件里面。这里就是告诉html你去哪里穿衣服。

  < link rel="stylesheet" type="text/css" href="css/common.css" >

  icon:

  icon是设置这个title旁边的图标,比如这个百度的icon图标。

  < link rel="shortcut icon" href="image/favicon.ico">

  

 

  百度的icon设置,

   

Style

  在页面中写样式

  例如:

  1、直接写到html文件的head里面,测试可以,但是生产不建议这么写。

  

 

  2、写到专门的css文件里面,如下所示,href的值就是文件目录下的css文件,这样css和html就完全分离了,生产建议这么用。

  <link rel="stylesheet" href="common.css">

  我们看一下百度门户网站写法。

  

 

Script

  1、引进文件

  < script type="text/javascript" src="http://www.googletagservices.com/tag/js/gpt.js"> </script >

  2、写js代码

  < script type="text/javascript" > ... </script >

 常用标签  

  a标签

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

  1、target属性,_black表示在新的页面打开

  2、去除下划线,<a href="www.baidu.com" style="text-decoration: none">百度</a>

  3、锚

  类似下面的代码,如果页面篇幅很长,为了让用户快速的定位到指定的篇幅,就可以用下面的方法。首先被定为的div标签要写上id=?,然后按钮的地方(也就是a标签)href的值写#+id名称,我们知道在html里面#号就是用来定位id的,所以要想做锚的同学可以尝试下面的写法。
    <div>
        <a href="#i1">上篇</a>
        <a href="#i2">中篇</a>
        <a href="#i3">下篇</a>
        <a href="#i4">终极篇</a>
    </div>
    <div>
        <div id="i1" style="height: 200px">上篇</div>
        <div id="i2" style="height: 200px">中篇</div>
        <div id="i3" style="height: 200px">下篇</div>
        <div id="i4" style="height: 200px">终极篇</div>
    </div>

  

  符号
  http://www.cnblogs.com/web-d/archive/2010/04/16/1713298.html


 p 和 br

  p表示段落,默认段落之间是有间隔的!!!

  br 是换行,换完行行之间是没有间隔的。(自闭合标签)

 

  H标签

  <h1>H1</h1>
  <h2>H2</h2>
  <h3>H3</h3>
  <h4>H4</h4>
  <h5>H5</h5>
  <h6>H6</h6>
  

    

  标签分类

    块级标签:默认占用整行空间。

    行内标签:只占用内容的空间。代表span标签。

    注意:怎么判断是行内标签,还是块级标签呢,可以利用浏览器的审查元素的功能查看。点击小箭头,然后选择那个标签,只要背景色是整行的,都是块级标签,反之是行内标签。

    

   div标签

     使用率最高的块级标签。

   input标签

     1、input的标签即输入框,type=text时候是明文输入。password时候就常见的密码输入框。

     2、如果需要提交内容,必须得结合form表单来操作,主要属性为action和method。action就是form表单里面的数据提交到哪里,method属性即get和post。get是将input输入内容放到url提交的,post是在body里面,将数据提交到后台。

    3、下图面的button属性在这里没有Mao用,但是可以使用CSS+js做定制自己想要的操作。

    4、text和password里面的name是这个form表单的唯一表示,后台可以通过name=。。。,pwd=。。。,email=。。。拿到用户输入的数据。

    5、如果text的写上value=“张三”,代表这个输入的默认值。

    6、默认submit只提交input输入的内容,嵌套的其它标签内容不会被提交。

    <form action="http://localhost:63342/day14/html1.html" method="get">
        <input type="text" name="name">
        <input type="password" name="pwd">
        <input type="text" name="email">
        <input type="button" value="操作">
        <input type="submit" value="登录">
    </form>

    

     敲黑板!!!敲黑板!!!

    我们知道不管是输入框,还是下面说的单选或是多选,默认情况下,只有鼠标点击框或者选项的时候,才能选上。这样就有点不舒服了,所有有了label标签,他可以帮你解决这个问题,就算你选择的是框或选项前的文字,鼠标也会落到他对应的选项下,写法如下:

    1、注意每个输入框或选项要想加这个,必须在对应的input前加上这句,注意for的值和下面的input里面的id的值必须式样的。

<label for="user">姓名:</label>
<input type="text" name="name" value="zhangsan" id="user">

  

     7、get和post的区别

    

   radio(单选框):

  1、type等于radio时候代表单选框。

  2、如果不加name属性,就可以同时选择多个,name属性内容一样的时候,同时只能选择一个。

  3、checked属性,默认选择。

<form>
        <div>
            男:<input type="radio" name="gender" value="man" checked="checked">
            女:<input type="radio" name="gender" value="women">
        </div>
            <input type="submit" value="提交">
    </form>

    

   checkbox(多选框):

  1、多选框type类型是checkbox。

  2、如果需要提交数据,需要写上name,所有checkbox的name写法都必须一样,后台拿到的数据会是favor=1&favor=2&favor=3,后台可以区分。

  3、如果需要默认选择,加checked属性,值为checked就证明是默认选择的。

<form>
        <div>
            <p></p>
            篮球:<input type="checkbox" name="favor" value="1" checked="checked">
            足球:<input type="checkbox" name="favor" value="2">
            网球:<input type="checkbox" name="favor" value="3">
        </div>
            <input type="submit" value="提交">
    </form>

    

   上传文件:

     1、type等于file的时候,即文件上传。

    2、但是注意,form表单里面必须写入enctype="multipart/form-data",文件才能一点一点的传送到后台。

<form enctype="multipart/form-data">
        <input type="file">
        <input type="submit" value="提交">
    </form>

  

  重置:

  1、在同一个form表单中,如果type等于reset时候,但点击此按钮后,此form表单中的所有填写的内容和选择都将被清除,但默认选项不会被清除。

<input type="reset" value="重置">

  

  多行文本:

  1、name是用来提交数据使用的。默认值写到中间。
<form action="https://www.baidu.com" method="post">
    <textarea name="meno">默认值</textarea>
    <input type="submit" value="提交">
</form>

  

   简单下拉框:

   1、select标签是专门用来做下拉框的,注意写法,如果要提交数据,在select里面必须写上name值,get提交的是选择的是谁,提交的就是谁。例如,选的天津,url就会变成http://localhost:63342/day14/html1.html?city=2

   2、默认选择谁就在谁那里写上selected="selected"

<form action="http://localhost:63342/day14/html1.html" method="get">
    <select name="city">
        <option value="1">北京</option>
        <option value="2" selected="selected">天津</option>
        <option value="3">上海</option>
        <option value="4">广州</option>
    </select>
    <input type="submit" value="提交">
</form>

  

  

   select多选:

  1、在select标签里面写上属性size和multiple即可,可以按住Ctrl的同时选择你要选择的值。size的意思不是说显示几个,你可以理解为高度。multiple才是多选的。url会变成:http://localhost:63342/day14/html1.html?city=1&city=2

<form action="http://localhost:63342/day14/html1.html" method="get">
    <select name="city" size="3" multiple="multiple">
        <option value="1">北京</option>
        <option value="2" selected="selected">天津</option>
        <option value="3">上海</option>
        <option value="4">广州</option>
    </select>
    <input type="submit" value="提交">
</form>

  

   select还有一个不常用的写法:

  如下图,一般全国省市有时候会这么写,注意这里还是一样的。如果要提交select里面必须加上name属性,size代表高度,multiple允许多选,每个option里面的value属性必须赋值,url可以看截图。但是optgroup这个标签也就是加粗的字鼠标是不能选的。

<form action="http://localhost:63342/day14/html1.html" method="get">
    <span>
            <select name="city" size="6" multiple="multiple">
                <optgroup label="北京">
                    <option value="海淀区">海淀区</option>
                    <option value="朝阳区">朝阳区</option>
                </optgroup>
                <optgroup label="河北省">
                    <option value="承德市">承德市</option>
                    <option value="唐山市">唐山市</option>
                </optgroup>
                <optgroup label="山东省">
                    <option value="济南市" 济南市
                    </option>
                    <option value="青岛市">青岛市</option>
                </optgroup>
            </select>
        <input type="submit" value="登录">
    </span>
</form>

  

   图片:

  1、如果要跳转就在img外面加一层a标签。

  2、img是图标的标签,src是图片在的相对路径。style可以控制它的大小等属性,title是鼠标放上去后显示的内容,如下图。

    <a href="https://www.baidu.com">
    <img src="image/456.jpg" style="height: 200px;width: 280px" title="机房">
    </a>

  

   列表

  ul和li

  1、ul和li是固定搭配。

    <ul>
        <li>123</li>
        <li>123</li>
        <li>123</li>
        <li>123</li>
    </ul>
    <ol>
        <li>456</li>
        <li>456</li>
        <li>456</li>
        <li>456</li>
    </ol>
    <dl>
        <dt>数字</dt>
        <dd>123</dd>
        <dd>123</dd>
        <dd>123</dd>
        <dt>字母</dt>
        <dd>abc</dd>
        <dd>abc</dd>
        <dd>abc</dd>
    </dl>

  

   表格

   1、tr:行(tbody里面的行)

   2、th:行(thead里面的行,其实就是加粗)

   3、td:列

  4、border:加上边框,1代表框的像素。

  table表格的写法分为两部分,table里面分为头和身体,头thead,身体tbody。thead里面的行是tr,列是th。而tbody里面的行也是tr,但列则是td--不加粗。

  标准写法:

<table border="1">
    <thead>
    <tr>
        <th>主机</th>
        <th>IP</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>堡垒机1</td>
        <td>172.16.1.2</td>
        <td>
            <a href="">编辑</a>
            <a href="">详细</a>
        </td>
    </tr>
    <tr>
        <td>堡垒机2</td>
        <td>172.16.1.3</td>
        <td>
            <a href="">编辑</a>
            <a href="">详细</a>
        </td>
    </tr>
    </tbody>
</table>

  

 

   合并单元格:

  横向合并单元格:colspan,colspan等于几,就代表他横向占几个格。

       纵向合并单元格:rowspan,rowspan等于几,就代表他纵向占几个格。

    分析:

  横向合并:表格中一共是3行3列。首先我们让第二行(也就是tbody里面的第一行)的第二列colspan=“2”,让它同时占2格。这样的这行就4个格子了,那肯定是超出去了,要想不超出去只能把后面的一格删除掉(第二行的第三列删除)。

  纵向合并:第二行的第一列和第三行的第一列要想合并,首先在第二行的里面加上rowspan=“2”,让它同时占用上下两格,同理然后把第三行的第一列删除,这样就完成了纵向合并。

<table border="1">
    <thead>
    <tr>
        <th>主机</th>
        <th>IP</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td rowspan="2">堡垒机</td>
        <td colspan="2" rowspan="">172.16.1.2</td>
    </tr>
    <tr>
        <td>172.16.1.3</td>
        <td>
            <a href="">编辑</a>
            <a href="">详细</a>
        </td>
    </tr>
    </tbody>

  

   fieldset:

  1、固定写法fieldset里面的legend标签写上这个框的名字。

  2、里面写上登陆窗口,当然你可以写别的。

  个人感觉没什么实际性作用,但装饰应该是可以的。

    <fieldset>
        <legend>登陆信息</legend>
        <form action="http://localhost:63342/AD调整组织架构/test.html" method="get">
            <div>
            <label for="username">用户名:</label>
            <input id="username" type="text">
                </div>
            <div>
                <label for="passwd">密   码:</label>
                <input id="passwd" type="password">
            </div>
        </form>
    </fieldset>

  

posted @ 2019-09-19 20:45  Charles.L  阅读(715)  评论(0)    收藏  举报