今日概要:

  前端基础之html

1、web服务器的本质: 

#!/usr/bin/python
# -*- coding:utf-8 -*- import socket def handle_request(client):
buf = client.recv(1024)
client.send(b"HTTP/1.1 200 OK\r\n")
client.send(b"Content-Type:text/html\r\n\r\n")
client.send(b"<a href='www.baidu.com'> Hello, liujiliang </a>")
def main():
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(('127.0.0.1',9999))
sock.listen(5) while True:
connection, address = sock.accept()
handle_request(connection)
connection.close()
if __name__ == '__main__':
main()

  用户使用浏览器访问一个网站的过程:

   

2、html的定义:   

  • 超文本标记语言(Hypertext Markup Language,HTML)通过标签语言来标记要显示的网页中的各个部分。一套规则,浏览器认识的规则
  • 浏览器按顺序渲染网页文件,然后根据标记符解释和显示内容。但需要注意的是,对于不同的浏览器,对同一标签可能会有不完全相同的解释(兼容性) 主要体现在IE6之前的版本
  • 静态网页文件扩展名:.html 或 .htm

  html是一种标记语言(markup language)

  html调用标记标签来描述网页

  

3、html结构

  

  • <!DOCTYPE html> 告诉浏览器使用什么样的html或者xhtml来解析html文档
  • <html></html>是文档的开始标记和结束标记。此元素告诉浏览器其自身是一个 HTML 文档,在它们之间是文档的头部<head>和主体<body>。
  • <head></head>元素出现在文档的开头部分。<head>与</head>之间的内容不会在浏览器的文档窗口显示,但是其间的元素有特殊重要的意义。
  • <title></title>定义网页标题,在浏览器标题栏显示。
  • <body></body>之间的文本是可见的网页主体内容

4、html标签格式 

    

  标签的语法:

  <标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>
  <标签名 属性1=“属性值1” 属性2=“属性值2”…… />

5、常用标签   

  1、<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

  作用:声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。

  document.compatMode:

    1. BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。
    2. CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。

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

  <head>内常用标签

  <meta标签>

    meta介绍
    <meta>元素可提供有关页面的元信息(meta-information),针对搜索引擎和更新频度的描述和关键词。
    <meta>标签位于文档的头部,不包含任何内容。
    <meta>提供的信息是用户不可见的

    meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name 属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。

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

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

  <非meta标签>    

    <title>oldboy</title>
<link rel="icon" href="http://www.jd.com/favicon.ico">
<link rel="stylesheet" href="css.css">
<script src="hello.js"></script> 

   例子:

<!DOCTYPE html>
<html lang="en">
<head id="1">
<!--head为标签-->
<!--id=1为属性-->
<meta charset="UTF-8">
<!--设置跳转-->
<!--<meta http-equiv="refresh" content="5;Url = http://www.baidu.com/"/>-->
<!--描述-->
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" />
<!--关键字-->
<meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东" />
<!--用IE最新的引擎去渲染html-->
<meta http-equiv="X-UA-COMPATIBLE" content="IE=Edge">
<!--头部图标-->
<link rel="shortcut icon" href="favicon.ico">
<!--头部标题-->
<title>京东</title>
</head>
<body>

  body内常用标签

   基本标签(块级标签和内联标签) --> 块级标签独占一行,内联标签不独占一行

<hn>: n的取值范围是1~6; 从大到小. 用来表示标题.

<p>: 段落标签. 包裹的内容被换行.并且也上下内容之间有一行空白.

<b> <strong>: 加粗标签.

<strike>: 为文字加上一条中线.

<em>: 文字变成斜体.

<sup>和<sub>: 上角标 和 下角表.

<br>:换行.

<hr>:水平线

    特殊字符:&lt; &gt;&quot;&copy;&reg;

           &nbsp;对应一个空格,因为如果在html里添加多个空格也只会显示一个空格,所以用&nbsp;&nbsp会占用多个空格

   div和span标签

    <div></div> : <div>只是一个块级元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现. 
    <span></span>: <span>表示了内联行(行内元素),并无实际的意义,主要通过CSS样式为其赋予不同的表现.

    块级元素与行内元素的区别
    所谓块元素,是以另起一行开始渲染的元素,行内元素则不需另起一行。如果单独在网页中插入这两个元素,不会对页面产生任何的影响。
    这两个元素是专门为定义CSS样式而生的。

   

    图形标签:<img>

'''
src: 要显示图片的路径. alt: 图片没有加载成功时的提示. title: 鼠标悬浮时的提示信息. width: 图片的宽 height:图片的高 (宽高两个属性只用一个会自动等比缩放.) '''

   例子:   

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>校花</div>
<img src="xiaohua.jpg" alt="校花" title="最美校花" width="800px" height="800px">
</body>
</html>

  

    

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

  什么是超级链接?

    所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序

'''

<a href="" target="_blank" >click</a>

href属性指定目标网页地址。该地址可以有几种类型:

    绝对 URL - 指向另一个站点(比如 href="http://www.jd.com)
相对 URL - 指当前站点中确切的路径(href="index.htm")
锚 URL - 指向页面中的锚(href="#top") '''

    _blank 有的是时候,超链接是在浏览器新创建一个窗口访问链接,没有的时候就在当前窗口直接跳转

    a标签当做锚的情况:   

    <!--a标签能够跳转href,锚-->
<!--不加target会在自己页面上跳转,加上_blank会开启另外一个页面请求-->
<a href="http://www.oldboyedu.com" target="_blank">老衲海</a>
<a href="#c1">第一章</a>
<a href="#c2">第二章</a>
<a href="#c3">第三章</a> <div id="c1" style="height: 700px;background-color: aqua">今天我去买菜了</div>
<div id="c2" style="height: 700px;background-color: aliceblue">今天我去买菜了</div>
<div id="c3" style="height: 700px;background-color: blueviolet">今天我去买菜了</div>

  列表标签 

<ul>: 无序列表 [type属性:disc(实心圆点)(默认)、circle(空心圆圈)、square(实心方块)]

<ol>: 有序列表
<li>:列表中的每一项. <dl> 定义列表 <dt> 列表标题
<dd> 列表项

  例子:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
<li>1111</li>
<li>2222</li>
<li>3333</li>
</ul> <ol>
<li>1111</li>
<li>2222</li>
<li>3333</li>
</ol> <dl>
<dt>河北省</dt>
<dd>保定</dd>
<dd>石家庄</dd>
<dd>雄安</dd>
</dl>
</body>
</html>

  

  表格标签(table):

    表格概念
      表格是一个二维数据空间,一个表格由若干行组成,一个行又有若干单元格组成,单元格里可以包含文字、列表、图案、表单、数字符号、预置文本和其它的表格等内容。
      表格最重要的目的是显示表格类数据。表格类数据是指最适合组织为表格格式(即按行和列组织)的数据。
    表格的基本结构:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table border="" cellpadding="10px" cellspacing="5px">
<tr>
<th>标题</th>
<th>端口</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<!--占两列-->
<td colspan=""></td>
<td></td>
<!--占两行-->
<td rowspan=""></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>

示例代码

    

<tr>: table row

<th>: table head cell

<td>: table data cell

属性:

    border: 表格边框.

    cellpadding: 内边距

    cellspacing: 外边距.

    width: 像素 百分比.(最好通过css来设置长宽)

    rowspan:  单元格竖跨多少行

    colspan:  单元格横跨多少列(即合并单元格)

  练习:

  一、菜谱

      

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style> </style>
</head>
<body>
<table border="" style="border: 1px solid #F00" cellpadding="0px" cellspacing="0px">
<tr>
<td colspan="" style="text-align: center " >星期一菜谱</td>
</tr>
<tr>
<td rowspan="">素菜</td>
<td>青椒茄子</td>
<td>花椒扁豆</td>
</tr>
<tr> <td>小葱豆腐</td>
<td>炒白菜</td>
</tr>
<tr>
<td rowspan="">荤菜</td>
<td>油焖大虾</td>
<td>海参鱼翅</td>
</tr>
<tr >
<td style="width: 400px">锅包肉
<img src="guobaorou.jpg" alt="guobaorou " style="width: 300px;height: 150px">
</td>
<td style="width: 150px">烤全羊</td>
</tr> </table> </body>
</html>

菜谱

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style> </style>
</head>
<body>
<div style="width: 500px;text-align: center">课程表</div>
<table border="" cellspacing="5px" cellpadding="5px" style="border: 1px solid deepskyblue">
<tr>
<td>项目</td>
<td colspan="" style="text-align: center">上课</td>
<td colspan="">休息</td>
</tr>
<tr>
<td>星期</td>
<td>星期一</td>
<td>星期二</td>
<td>星期三</td>
<td>星期四</td>
<td>星期五</td>
<td>星期六</td>
<td>星期日</td>
</tr>
<tr>
<td rowspan="">上午</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>英语</td>
<td>物理</td>
<td>计算机</td>
<td rowspan="">休息</td>
</tr>
<tr>
<td>数学</td>
<td>数学</td>
<td>地理</td>
<td>历史</td>
<td>化学</td>
<td>计算机</td>
</tr>
<tr>
<td>化学</td>
<td>语文</td>
<td>体育</td>
<td>计算机</td>
<td>英语</td>
<td>计算机</td>
</tr>
<tr>
<td>政治</td>
<td>英语</td>
<td>体育</td>
<td>历史</td>
<td>地理</td>
<td>计算机</td>
</tr>
<tr>
<td rowspan="">下午</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>英语</td>
<td>物理</td>
<td>计算机</td>
<td rowspan="">休息</td>
</tr>
<tr>
<td>数学</td>
<td>数学</td>
<td>地理</td>
<td>历史</td>
<td>化学</td>
<td>计算机</td>
</tr>
</table> </body>
</html>

课程表

    表单标签(form)

  功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互

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

  表单还可以包含textarea、select、fieldset和 label标签。

  表单属性

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

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

  表单元素

  基本概念:
    HTML表单是HTML元素中较为复杂的部分,表单往往和脚本、动态页面、数据处理等功能相结合,因此它是制作动态网站很重要的内容。
    表单一般用来收集用户的输入信息
    表单工作原理:
    访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传送到服务器上。 
    服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当数据完整无误后,服务器反馈一个输入完成的信息

    input系列表单

'''
<> 表单类型 type: text 文本输入框 password 密码输入框 radio 单选框 checkbox 多选框 submit 提交按钮 button 按钮(需要配合js使用.) button和submit的区别? file 提交文件:form表单需要加上属性enctype="multipart/form-data" 上传文件注意两点:
请求方式必须是post
enctype="multipart/form-data" <> 表单属性 name: 表单提交项的键. 注意和id属性的区别:name属性是和服务器通信时使用的名称;
而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和javascript中使用的 value: 表单提交项的值.对于不同的输入类型,value 属性的用法也不同: type="button", "reset", "submit" - 定义按钮上的显示的文本 type="text", "password", "hidden" - 定义输入字段的初始值 type="checkbox", "radio", "image" - 定义与输入相关联的值 checked: radio 和 checkbox 默认被选中 readonly: 只读. text 和 password disabled: 对所用input都好使. ''' 

  

  select标签 

'''
<select> 下拉选标签属性 name:表单提交项的键. size:选项个数 multiple:multiple
<optgroup>为每一项加上分组 <option> 下拉选中的每一项 属性: value:表单提交项的值.
selected: selected下拉选默认被选中 '''

  

            <!--单选下拉框-->
<!--checked设定默认值-->
<select name="city">
<option value="bj" checked="checked">北京</option>
<option value="sh">上海</option>
<option value="shahe">沙河</option>
</select>
<!--多选下拉框-->
<!--selected默认值-->
<select name="city2" multiple>
<option value="bj" selected="selected">北京</option>
<option value="sh">上海</option>
<option value="shahe">沙河</option>
</select>
</div>

  textarea 多行文本框

'''

<form id="form1" name="form1" method="post" action="">
<textarea cols=“宽度” rows=“高度” name=“名称”>
默认内容
</textarea>
</form> '''

  label标签

    定义:<label> 标签为 input 元素定义标注(标记)。
  说明:
    1 label 元素不会向用户呈现任何特殊效果。
    2 <label> 标签的 for 属性值应当与相关元素的 id 属性值相同。

'''

<form method="post" action="">

        <label for=“username”>用户名</label>
<input type=“text” name=“username” id=“username” size=“” />
</form> '''

  fieldset标签

'''

<fieldset>
<legend>登录吧</legend>
<input type="text">
</fieldset> '''

  

python自动化开发-[第十二天]-前端html的更多相关文章

  1. python自动化开发-[第十二天]-前端Css

    CSS基本语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. selector { property: value; property: value; ... property: v ...

  2. python自动化开发-[第二十二天]-bbs多级评论、点赞、上传文件

    今日概要: 1.related_name和related_query_name的区别 2.through_fields的用途 3.django的事务提交 4.点赞的动画效果 5.多级评论的原理 6.上 ...

  3. python自动化开发学习 进程, 线程, 协程

    python自动化开发学习 进程, 线程, 协程   前言 在过去单核CPU也可以执行多任务,操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换任务2,任务2执行0.01秒,在切换到任务3,这 ...

  4. python自动化开发学习 I/O多路复用

    python自动化开发学习 I/O多路复用   一. 简介 socketserver在内部是由I/O多路复用,多线程和多进程,实现了并发通信.IO多路复用的系统消耗很小. IO多路复用底层就是监听so ...

  5. python自动化开发-[第十三天]-前端Css续

    今日概要: 1.伪类选择器 2.选择器优先级 3.vertical-align属性 4.backgroud属性 5.边框border属性 6.display属性 7.padding,margine(见 ...

  6. Python自动化开发-简介

    1.Python简介 Python创始人  Guido Van Rossum,人称"龟叔",1989年圣诞节期间,为了在阿姆斯特丹打发时间,开发的一个新的脚本解释程序 作为ABC语 ...

  7. python自动化开发-1

    1.python简介 python是一门简明并且强大的面向对象的开发语言,已经在WEB开发,软件开发,科学计算,大数据分析,自动化运维等领域得到了广泛的应用. 注意:所有测试均已python3为主,与 ...

  8. 写给深圳首期Python自动化开发周未班的信

    你是否做了正确的决定? 深圳首期周未班的同学们大家好,我是Alex, 老男孩教育的联合创始人,Python项目的发起人,51CTO学院连续2届最受学员喜爱的讲师,中国最早一批使用Python的程序员, ...

  9. python自动化开发-[第十六天]-bootstrap和django

    今日概要: 1.bootstrap使用 2.栅格系统 3.orm简介 4.路由系统 5.mvc和mtv模式 6.django框架 1.bootstrap的引用方式 1.Bootstrap 专门构建了免 ...

随机推荐

  1. JSON in SQL Server 2016

    JSON functions in SQL Server enable you to analyze and query JSON data, transform JSON to relational ...

  2. 当使用cokie进行数据交互时候,cookie只需存储该对象的id即可不需要存放其他数据;只需在写个接口根据cookie里面的对象id来创建对象

    当使用cokie进行数据交互时候,cookie只需存储该对象的id即可不需要存放其他数据:只需在写个接口根据cookie里面的对象id来创建对象

  3. bzoj-1191(二分图最大匹配)

    解题思路:比较裸的一道题,直接跑匈牙利就行了,但是要注意一点,这个兔崽子是在闯关,一道题回答不出来就没了,直接在题目循环那里加一个else break;就行了!!!; #include<iost ...

  4. Git——Git的简单介绍【一】

    官方网站 Git官网 https://git-scm.com/ GitHub https://github.com GitLab https://about.gitlab.com/ SVN https ...

  5. 基准对象object中的基础类型----字符串 (三)

    object有如下子类: CLASSES object basestring str unicode buffer bytearray classmethod complex dict enumera ...

  6. Sorting It All Out POJ - 1094 拓扑排序

    题意:给N个字母,和M个偏序关系 求一个可确定的全序,可确定是指没有其他的可能例如A>B D>B 那么有ADB DAB两种,这就是不可确定的其中,M个偏序关系可以看做是一个一个按时间给出的 ...

  7. 安卓Android基础四天

    网页源码查看器 HttpURLConnection:用于发送和接受数据 ScrollView只能由一个孩子 消息机制的写法(***) anr Application not response 应用无响 ...

  8. Unnitest测试框架总结

    Unnitest总结 第一点,setUp和tearDown方法 l  每次执行test开头的用例都会执行setUp和tearDown方法 l  如:  import unittest class M ...

  9. 【SPOJ】Power Modulo Inverted(拓展BSGS)

    [SPOJ]Power Modulo Inverted(拓展BSGS) 题面 洛谷 求最小的\(y\) 满足 \[k\equiv x^y(mod\ z)\] 题解 拓展\(BSGS\)模板题 #inc ...

  10. Swarm stack

    什么是 stack ?例如:首先创建 secret. 然后创建 MySQL service,这是 WordPress 依赖的服务. 最后创建 WordPress service. 也就是说,这个应用包 ...