HTML

HTML介绍

前端概述

877318-20160622221214969-916045696.png

 

import socket

def main():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.bind(('localhost',8089))
    sock.listen(5)

    while True:
        connection, address = sock.accept()
        buf = connection.recv(1024)

        connection.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n","utf8"))

        connection.sendall(bytes("<h1>Hello,World</h1>","utf8"))

        connection.close()

if __name__ == '__main__':

    main()

html

htyper text markup language  超文本标记语言

超文本:就是指页面内可以包含图片,链接,音乐,程序等非文字元素

标记语言:标记(标签)构成的语言

 

网页==html文档,由浏览器解析,用来展示的

静态网页:静态的资源

动态网页:html代码由某种开发语言根据用户请求动态生成的。

html文档树形结构图:

877318-20161025132859984-662031019.png

标签的定义:

是由一对尖括号包裹的单词构成 例如: <html> *所有标签中的单词不可能以数字开头.

标签不区分大小写.<html> 和 <HTML>. 推荐使用小写.

标签分为两部分: 开始标签<a> 和 结束标签</a>. 两个标签之间的部分 我们叫做标签体.

有些标签功能比较简单.使用一个标签即可.这种标签叫做自闭和合标签.例如: <br/> <hr/> <input /> <img />

标签可以嵌套.但是不能交叉嵌套. <a><b></a></b>

 

标签的属性:

通常是以键值对形式出现的. 例如 name="alex"

属性只能出现在开始标签 或 自闭和标签中.

属性名字全部小写. *属性值必须使用双引号或单引号包裹 例如 name="alex"

如果属性值和属性名完全一样.直接写属性名即可. 例如 readonly

 

<!DOCTYPE html>标签

 由于历史的原因,各个浏览器在对页面的渲染上存在差异,甚至同一浏览器在不同版本中,对页面的渲染也不同。在
W3C标准出台以前,浏览器在对页面的渲染上没有统一规范,产生了差异(Quirks mode或者称为Compatibility 
Mode);由于W3C标准的推出,浏览器渲染页面有了统一的标准(CSScompat或称为Strict mode也有叫做Standars
mode),这就是二者最简单的区别。
      W3C标准推出以后,浏览器都开始采纳新标准,但存在一个问题就是如何保证旧的网页还能继续浏览,在标准出来以前,
很多页面都是根据旧的渲染方法编写的,如果用的标准来渲染,将导致页面显示异常。为保持浏览器渲染的兼容性,使以
前的页面能够正常浏览,浏览器都保留了旧的渲染方法(如:微软的IE)。这样浏览器渲染上就产生了Quircks mode
和Standars mode,两种渲染方法共存在一个浏览器上。

window.top.document.compatMode:
//BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。 
//CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。

       这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,

这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。

    如果你的页面添加了<!DOCTYPE html>那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的

标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

这就是<!DOCTYPE html>的作用。

 

head标签

<meta>:

meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name 属性

1: name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

1 # keywords 关键字搜索
2 # content 关键字
3 <meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
4  
5 <meta name="description" content="老男孩培训机构是由一个老的男孩创建的">

2: http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,              content中的内容其实就是各个参数的变量值。

1 # Refresh 链接重置
2 <meta http-equiv="Refresh" content="2;URL=https://www.baidu.com"> //(注意后面的引号,分别在秒数的前面和网址的后面)
3  
4 <meta http-equiv="content-Type" charset=UTF8">
5  
6 # X-UA-Compatible 兼容浏览器的类型
7 <meta http-equiv = "X-UA-Compatible" content = "IE=EmulateIE7" /> 

非meta标签

1 <title>oldboy</title> # 标签
2     <link rel="icon" href="http://www.jd.com/favicon.ico">   #icon设置标签图标
3     <link rel="stylesheet" href="css.css">  # stylesheet 样式表
4     <script src="hello.js"></script> 

 body标签

基本标签

 1 <hn>: n的取值范围是1~6; 从大到小. 用来表示标题.
 2 
 3 <p>: 段落标签. 包裹的内容被换行.并且也上下内容之间有一行空白.
 4 
 5 <b> <strong>: 加粗标签.
 6 
 7 <strike>: 为文字加上一条中线.
 8 
 9 <em>: 文字变成斜体.
10 
11 <sup>和<sub>: 上角标 和 下角表.
12 
13 <br>:换行.
14 
15 <hr>:水平线
16 
17 <div><span>

 

一.块级标签

1 # 块级标签
2 
3 <p></p> # 段落标签. 包裹的内容被换行.并且也上下内容之间有一行空白.
4 <h1></h1> # 取值范围是1~6; 从大到小. 用来表示标题.
5 <table></table>. # 
6 <ol></ol>. # 有序列表
7 <ul></ul>  # 无序列表
8 <form action=""></form>  # 表单,向服务端提交数据
9 <div></div>. # 没有任何属性,写什么就是什么

二.内联标签

 1 #######内敛标签
 2 <b>加粗</b>> # 加粗
 3 <strong>京东</strong>  # 加粗
 4 <strike>京东</strike> # 横线
 5 <em> 淘宝</em>  # 斜体
 6 <sup>3 2</sup>  # 上角标
 7 <sub>3 2</sub>  # 下角标
 8 <a href=""></a>
 9 <input type="text">
10 <img src="" alt="">
11 <textarea name="" id="" cols="30" rows="10"></textarea>
12 <span></span>

 

block(块)元素的特点

 总是在新行上开始;
 宽度缺省是它的容器的100%,除非设定一个宽度。
 它可以容纳内联元素和其他块元素

inline元素的特点

和其他元素都在一行上;
宽度就是它的文字或图片的宽度,不可改变
内联元素只能容纳文本或者其他内联元素

特殊字符

      &lt 小于; &gt 大于;&quot;&copy;&reg;

 

图形标签属性<img>

1 <img src="图片url" alt="图片没有加载成功是的提示" title="鼠标悬浮时的提示" width="宽度" height="高度">
2 
3 
4 #当宽高两个属性只用一个时会自动等比缩放

 

超链接标签(锚标签)<a>

1 <a href="要连接的资源路径,如http://www.jd.com" target="_blank在新窗口打开" name="定义页面的书签"></a>
2  # href用于跳转

 

列表标签

 1 <ul>: 无序列表
 2 
 3 <ol>: 有序列表
 4          <li>:列表中的每一项.
 5 
 6 <dl>  定义列表
 7 
 8          <dt> 列表标题
 9          <dd> 列表项
10 
11 
12 # 示例
13 <ul>
14     <li>无序列表第一行</li>
15     <li>无序列表第二行</li>
16     <li>无序列表第三行</li>
17 </ul>
18 <ol>
19     <li>有序列表第一行</li>
20     <li>有序列表第一行5</li>
21     <li>有序列表第一行</li>
22 </ol>
23 
24 <dl>
25     <dt style="color: aqua">列表标题第一章</dt>
26     <dd>第一节</dd>
27     <dd>第二节</dd>
28 </dl>

 

表格标签<table>

 1 border: 表格边框.
 2 
 3 cellpadding: 内边距
 4 
 5 cellspacing: 外边距.
 6 
 7 width: 像素 百分比.(最好通过css来设置长宽)
 8 
 9 <tr>: table row
10 
11          <th>: table head cell
12 
13          <td>: table data cell
14 
15 rowspan:  单元格竖跨多少行
16 
17 colspan:  单元格横跨多少列(即合并单元格)
18 
19 <th>: table header <tbody>(不常用): 为表格进行分区.
20 
21 
22 ######示例
23 <table border="2px" cellpadding="1px" cellspacing="5px">
24         <tr>
25             <th>第一行</th>  # 标题
26             <th>第一行</th>
27             <th rowspan="2">第一行</th>
28         </tr>
29         <tr>
30             <!--<td>第二行</td>  # 普通的描述信息-->
31             <td>第二行</td>
32             <td>第二行</td>
33         </tr>
34         <tr>
35             <td colspan="2">第三行</td>
36             <!--<td>第三行</td>-->
37             <td>第三行</td>
38             <!--<td>第三行</td>-->
39         </tr>

 

表单标签<form>

      表单用于向服务器传输数据。

      表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。

      表单还可以包含textarea、select、fieldset和 label 元素

表单属性

  HTML 表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签, 要提交的所有内容都应该在该标签中.

            action: 表单提交到哪. 一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web

            method: 表单的提交方式 post/get 默认取值 就是 get(信封)

                          get: 1.提交的键值对.放在地址栏中url后面. 2.安全性相对较差. 3.对提交内容的长度有限制.

                          post:1.提交的键值对 不在地址栏. 2.安全性相对较高. 3.对提交内容的长度理论上无限制.

                          get/post是常见的两种请求方式.

 

表单元素

<input>标签的属性和对应值

 1 type:        text 文本输入框
 2 
 3              password 密码输入框
 4 
 5              radio 单选框
 6 
 7              checkbox 多选框  
 8 
 9              submit 提交按钮            
10 
11              button 按钮(需要配合js使用.) button和submit的区别?
12 
13              file 提交文件:form表单需要加上属性enctype="multipart/form-data"   
14 
15  name:    表单提交项的键.注意和id属性的区别:name属性是和服务器通信时使用的名称;而id属性是浏览器端使用的名称,该属性主要是为了方便客
16           户端编程,而在css和javascript中使用的
17  value:   表单提交项的值.对于不同的输入类型,value 属性的用法也不同:
18 
type="button", "reset", "submit" - 定义按钮上的显示的文本 
type="text", "password", "hidden" - 定义输入字段的初始值
type="checkbox", "radio", "image" - 定义与输入相关联的值   20 21 checked: radio 和 checkbox 默认被选中 22 23 readonly: 只读. text 和 password 24 25 disabled: 对所用input都好使. 比如:关闭用户输入框,不然用户输入 26 27 ######示例 28 <h1>注册页面</h1> 29 <form action="http://127.0.0.1:8088/index" method="post" enctype="multipart/form-data"> 30 31 <p>姓名<input type="text" name="username" id="username" placeholder="姓名"></p> 32 <p>密码<input type="text" name="password" id="passowrd" placeholder="密码" readonly="readonly"></p> 33 <p>爱好 <input type="checkbox" name="hobby" value="music"> 34 电影 <input type="checkbox" name="hobby" value="move"> 35 </p> 36 <p>性别 男<input type="radio" name="gender" value="men"> 37 女<input type="radio" name="gender" value="woen"> 38 39 </p> 40 <p><input type="reset" value="重置"></p> 41 <p><input type="button" value="提交注册"></p> 42 <p><input type="submit" value="提交注册"></p>

 

<select>下拉选标签属性, <textarea> 文本域,<fieldset>,<label> 

 1 name:表单提交项的键.
 2 
 3           size:选项个数
 4 
 5           multiple:multiple 
 6 
 7                  <option> 下拉选中的每一项 属性:
 8 
 9                        value:表单提交项的值.   selected: selected下拉选默认被选中
10 
11                  <optgroup>为每一项加上分组
12 
13 
14 #######示例
15 <label for="xiala">这是下拉框</label>
16     <select id="xiala" name="keyselect" size="4">
17         <option value="北京">北京市</option>
18         <option value="重庆">重庆市</option>
19         <option value="上海">上海市</option>
20     </select>




<textarea> 文本域              

name:    表单提交项的键.
cols: 文本域默认有多少列
rows: 文本域默认有多少行

########示例
<label for="wenben"></label>
<textarea name="wby" id="wenben" cols="5" rows="5"></textarea>

#############<fieldset>
<label for="fiel"></label>
<fieldes id="fiel">
<legen>登录吧</legen>
<input type="text">

</fieldes>


############## <label>
<label for="www">姓名</label>
<input id="www" type="text">





posted @ 2017-02-07 18:01  LaniLai  阅读(222)  评论(0编辑  收藏  举报