前端(1)HTML介绍
1.1 HTML介绍
1.1Web服务本质
服务端
import socket
server = socket.socket()
server.bind(("127.0.0.1",8080))
server.listen(5)
while True:
conn,addr = server.accept()
data = conn.recv(1024)
conn.send(b"HTTP/1.1 200 OK\r\n\r\n") # HTTP协议
conn.send(b"<h1>Hello world!</h1>")
conn.close()
流程:浏览器发出请求->HTTP协议->服务端返回响应->服务端把HTTP文件内容发给浏览器->浏览器渲染页面
1.2HTML是什么?
超文本标记语言(Hypertext Markup Language,HTTP)是一种用于创建网页的标记语言(扩展名:html或htm)
HTML是一种标记语言(markup language),它不是一种编程语言,HTML使用标签来描述网页。
1.3HTML文档结构
最基本的HTML文档
<!DOCTYPE html> # 声明为HTML5文档
<html lang="zh-CN">
<head>
<mete charset="UTF-8">
<title>css样式优先级</title>
</head>
<body>
</body>
</html>
1.<html></html>是文档的开始标记和结束标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主题(body)。
2.<head></head>定义了HTML文档的开头部分,它们之间的内容不会再浏览器的文档窗口显示。包含了文档的元(meta)数据。
3.<title></title>定义了网页标题,是浏览器标题六显示。
4.<body></body>之间的文本是可见的网页主题内容。
注意:对于中文网页需要使用<meta charset="utf-8">声明编码,否则会出现乱码。有些浏览器会设置GBK为默认编码,则你需要设置为<meta charset="gbk">。
HTML标签格式
HTML标签是由尖括号包围的关键字,如<html>,<div>等
HTML标签是成对出现的,比如:<div>,</div>,第一个标签是开始,第二个标签是结束。结束标签会有斜线。
也有一部分标签是单独呈现的,比如:<br/>,<hr/>,<img src="1.jpg">等。
标签里面可以有若干属性,也可以不带属性。
**标签的语法:**
<标签名 属性1="属性值1" 属性2="属性值2"......>内容部分</标签名>
<标签名 属性1="属性值1" 属性2="属性值2"....../>
**几个很重要的属性:**
id: 定义标签的唯一ID,HTML文档树中唯一。
class:为html元素定义一个或多个类名(classname)(CSS样式类名)
stype:规定元素的行内样式(CSS样式)
HTML注释
<!--注释内容--> # 注释是代码之母
标签
<!DOCTYPE>声明必须是HTML文档的第一行,位于<html>标签之前。
<!DOCTYPE>声明不是HTML标签,它是指示web浏览器关于页面使用哪个HTML版本进行编写的指令。
HTML常用标签
head内常用标签
标签 意义
<title></title> 定义网页标题
<stype></stype> 定义内部样式表
<script></script> 定义JS代码或引入外部JS文件
<link/> 定义外部样式表文件或网站图标
<meta/> 定义网页原信息
Meta标签
Meta标签介绍
<meta>元素可提供有关页面的元信息(mata-information),针对搜索引擎和更新频度的描述和关键词。
<meta>标签位于文档的头部,不包含任何内容。
<meta>提供的信息是用户不可见的。
meta标签的组成:meta标签共有两个属性,它们分表是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就是先了不同的网页功能。
1.http-equiv属性:相当于http的文件头作用,它可以向浏览器传回一些有用的信息,有帮助正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
<!--指定文档的编码内型(需要知道)-->
<meta http-equiv="content-Type" charset="UTF8">
<!--2s后跳转到对应的网址,注意引号(了解)-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboydu.com">
<!--告诉IE以最高级模式渲染你问的(了解)-->
<meta http-equiv="x-ua-compatible" content="IE=edge">
2.name属性:主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
<meta name="description" content="老男孩教育python学院">
基本标签(块级标签和内联标签)
1.<b>加粗</b>
2.<i>斜体</i>
3.<u>下划线</u>
4.<s>删除</s>
5.<p>段落标签</s>
6.<h1>标题1</h1>
7.<h2>标题2</h2>
8.<h3>标题3</h3>
9.<h4>标题4</h4>
10.<h5>标题5</h5>
11.<h6>标题6</h6>
12.<!--换行-->
13.<br>
14.<!--水平线--><hr>
特殊字符
内容 对应代码
空格
> >
< <
& &
¥ ¥
版权 ©
注册 ®
**div标签和span标签**
div标签用来定义一个块级元素,并无实际意义。主要通过CSS样式为其赋予不同的表现。
span标签用来定义内联(行内)元素,并无实际意义。主要通过CSS样式为其赋予不同的表现。
块级元素与行内元素的区别:
所谓块级元素,是以另起一行开始渲染的元素,行内元素则不许另起一行。如果单独在网页中插入这两个元素,则不会对页面产生任何影响。
这两个元素是专门为定义CSS样式而生的。
注意:关于标签嵌套:通常块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它智能包含其它内联元素。
img标签:
<img src="图片的路径" alt="图片未加载成功时的提示" title="鼠标悬浮时提示信息" width="宽" height="高(宽高两个属性只用一个会自动等比缩放)">
a标签:
超链接标签:所谓的超链接是从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。
什么是URL?
URL是统一资源定位器(Uniform Ressource Locator)的缩写,也被称为网页地址,是因特网上标准的资源的地址。
URL举例:
http://www.sohu.com/stu/intro.html
http://222.172.123.33/stu/intro.html
URL地址有4部分组成
第1部分:为协议:https://,ftp://等。
第2部分:为站点地址:可以是域名或IP地址。
第3部分:为页面在站点中的目录:stu。
第4部分:为页面名称,例如 index.html
各部分之间用"/"符号隔开。
<a href="http://www.oldboyedu.com" target="_blank">点我</a>
href属性指定目标网页地址。该地址可以有几种类型:
.绝对URL-指向另一个站点(比如 href="http://www.jd.com")
.绝对URL-指当前站点中确切的路径(href="index.htm")
.锚URL-指向页面中的锚(href="#top")
target:
._blank表示在新标签页中打开目标网页。
._self表示在当前标签页中打开目标网页。
列表
1.无序列表
<u1 type="disc">
<li>第一项</li>
<li>第二项</li>
</ul>
type属性:
。disc(实心圆点,默认值)
。circle(空心圆圈)
。square(实心方块)
。none(无样式)
2.有序列表
<ol type="1" start="2">
<li>第一项</li>
<li>第二项</li>
</ol>
type属性:
。 1数字列表,默认值
。 A大写字母
。 a小写字母
。 I大写罗马
。 i小写罗马
3.标题列表
<d1>
<dt>标题1</dt>
<dd>内容1</dd>
<dt>标题2</dt>
<dd>内容1</dd>
<dd>内容2</dd>
</dl>
表格:
表格是一个二维数据空间。一个表格由若干行组成,一个行又有若干单元格组成,单元格里可以包含文字,列表,图案,表单,数字符号,预置文本和其它的表格等内容。
表格最重要的目的是显示表格类数据。表格类数据是指最适合组织为表格格式(即按行和列组织)的数据。
表格的基本结构:
<table>
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>爱好</th>
</tr>
</thread>
属性:
。border:表格边框
。cellpadding:内边距
。cellspacing: 外边距
。width:像素 百分比.(最好通过css来设置长宽)
。rowspan:单元格竖跨多少行
。colspan:单元格横跨多少列(即合并单元格)
form
功能:
表单用于向服务器传输数据,从而实现用户与Web服务器的交互
表单能够包含input系列标签,比如文本字段,复选框,单选框,提交按钮等等。
表单还可以包含textarea,select,fieldset和label标签。
表单属性
属性 描述
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。如果是上传文件需要将enctype="multipart/form-data"
method 规定在提交表单时所用的HTTP方法(默认:GET)
name 规定识别表单的名称(对于DOM使用:document.forms.name)
novalidata 规定浏览器不验证表单
target 规定action属性中地址的目标(默认:_self)
表单元素
基本概念:
HTML表单是HTML元素中较为复杂的部分,表单往往和脚本、动态页面、数据处理等功能相结合,因此它是制作动态网站很重要的内容。
表单一般用来收集用户的输入信息
表单工作原理:
访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传送到服务器上。
服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当数据完整无误后,服务器反馈一个输入完成的信息。
复制代码
from django.conf.urls import url
from django.shortcuts import HttpResponse
def upload(request):
print("request.GET:", request.GET)
print("request.POST:", request.POST)
if request.FILES:
filename = request.FILES["file"].name
with open(filename, 'wb') as f:
for chunk in request.FILES['file'].chunks():
f.write(chunk)
return HttpResponse('上传成功')
return HttpResponse("收到了!")
urlpatterns = [
url(r'^upload/', upload),
]
input
<input> 元素会根据不同的 type 属性,变化为多种形态。
type属性值 表现形式 对应代码
text 单行输入文本 <input type=text" />
password 密码输入框 <input type="password" />
date 日期输入框 <input type="date" />
checkbox 复选框 <input type="checkbox" checked="checked" />
radio 单选框 <input type="radio" />
submit 提交按钮 <input type="submit" value="提交" />
reset 重置按钮 <input type="reset" value="重置" />
button 普通按钮 <input type="button" value="普通按钮" />
hidden 隐藏输入框 <input type="hidden" />
file 文本选择框 <input type="file" />
属性说明:
name:表单提交时的“键”,注意和id的区别
value:表单提交时对应项的值
type="button", "reset", "submit"时,为按钮上显示的文本年内容
type="text","password","hidden"时,为输入框的初始值
type="checkbox", "radio", "file",为输入相关联的值
checked:radio和checkbox默认被选中的项
readonly:text和password设置只读
disabled:所有input均适用
select标签
复制代码
<form action="" method="post">
<select name="city" id="city">
<option value="1">北京</option>
<option selected="selected" value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
</select>
</form>
复制代码
属性说明:
multiple:布尔属性,设置后为多选,否则默认单选
disabled:禁用
selected:默认选中该项
value:定义提交时的选项值
属性说明:
multiple:布尔属性,设置后为多选,否则默认单选
disabled:禁用
selected:默认选中该项
value:定义提交时的选项值
label标签
定义:<label> 标签为 input 元素定义标注(标记)。
说明:
label 元素不会向用户呈现任何特殊效果。
<label> 标签的 for 属性值应当与相关元素的 id 属性值相同。
<form action="">
<label for="username">用户名</label>
<input type="text" id="username" name="username">
</form>
textarea多行文本
<textarea name="memo" id="memo" cols="30" rows="10"> 默认内容 </textarea>
属性说明:
name:名称
rows:行数
cols:列数
disabled:禁用
标签的总结:
块级元素:块级大多为结构性标记
<h1>...</h1> 标题一级
<h2>...</h2> 标题二级
<h3>...</h3> 标题三级
<h4>...</h4> 标题四级
<h5>...</h5> 标题五级
<h6>...</h6> 标题六级
<hr> 水平分割线
<p>...</p> 段落
<ul>...</ul> 无序列表
<ol>...</ol> 有序列表
<dl>...</dl> 定义列表
<table>...</table> 表格
<form>...</form> 表单
<div>...</div>
行内元素:行内大多为描述性标记
<span>...</span>\
<a>...</a> 链接
<br> 换行
<b>...</b> 加粗
<strong>...</strong> 加粗
<img > 图片
<i>...</i> 斜体
<em>...</em> 斜体
<del>...</del> 删除线
<u>...</u> 下划线
<input>...</input> 文本框
<textarea>...</textarea> 多行文本
<select>...</select> 下拉列表
·块级元素
1.总是从新的一行开始
2.高度、宽度都是可控的
3.宽度没有设置时,默认为100%
4.块级元素中可以包含块级元素和行内元素
·行内元素
1.和其他元素都在一行
2.高度、宽度以及内边距都是不可控的
3.宽高就是内容的高度,不可以改变
4.行内元素只能行内元素,不能包含块级元素
前端(1)HTML介绍的更多相关文章
- Sublime Text前端开发工具介绍
Sublime Text前端开发工具介绍.. Sublime Text这款前端开发工具中的非常优秀的特性进行介绍 ------------ sublime text 3 3114 注册码 —– BEG ...
- [原创]H5前端性能测试工具介绍
[原创H5前端性能测试工具介绍 一 网络抓包工具 网络抓包工具选择原则,可以捕获网络请求,抓取具体请求信息流,同时可以针对网络请包进行修改或拦截: 1.Fiddler(推荐) 2.Charles(推荐 ...
- 前端路由vue-router介绍
一.前端路由vue-router介绍 Vue-Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌.包含的功能有: 嵌套的路由/视图表 模 ...
- 4- vue django restful framework 打造生鲜超市 -restful api 与前端源码介绍
4- vue django restful framework 打造生鲜超市 -restful api 与前端源码介绍 天涯明月笙 关注 2018.02.20 19:23* 字数 762 阅读 135 ...
- Vue.js教程 1.前端框架学习介绍
Vue.js教程 1.前端框架学习介绍 什么是Vue.js 为什么要学习流行框架 什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站, ...
- 优秀网站看前端 —— 小米Note介绍页面
刚开始经营博客的时候,我写过不少“扒皮”系列的文章,主要介绍一些知名站点上有趣的交互效果,然后试着实现它们.后来开始把注意力挪到一些新颖的前端技术上,“扒皮”系列便因此封笔多时.今天打算重开“扒皮”的 ...
- web前端开发教程系列-1 - 前端开发编辑器介绍
目录: 前言 一. Webstorm 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 二. SublimeText 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 前言 由于很 ...
- 使用Fiddler提高前端工作效率 (介绍篇)
1. Fiddler 是什么? Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器.英语中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一样,可以让 ...
- WEB常用前端开发调试工具介绍
只要是设计开发,就需要进行调试,尽管相对来说,前端的调试要简单一些,但使用一些调试工具或插件还是能提高你的工作效率.下面是一些主要用于IE浏览器环境和Firefox浏览器环境等的调试工具简介. 一.I ...
- 前端基础-html 介绍和head标签 ( 1 )
主要内容 web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 HTML规范 HTML结构详解 写在前面: 前端 后端 C(client) S ...
随机推荐
- [LeetCode] 874. Walking Robot Simulation 走路机器人仿真
A robot on an infinite grid starts at point (0, 0) and faces north. The robot can receive one of th ...
- 微信小程序开发注意事项
1.小程序方法是异步的,开发过程要注意此点,避免在需要同步执行过程中的错误,尤其是在app.js处理登入的时候要特别注意. 2.小程序api.组件依赖微信的版本,注意版本的兼容,可以通过版本判断当前的 ...
- withDefaultPasswordEncoder() 过时弃用问题
在学springsecurity5.X时,在demo里,内存配置用户的时候,提示withDefaultPasswordEncoder过时,特查看了源码,官方给出的理由是: /** @deprecate ...
- java十题
这是我收集的10个最棘手的Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Jav ...
- webpack系列--浅析webpack的原理
一.前言 现在随着前端开发的复杂度和规模越来越大,鹰不能抛开工程化来独立开发,比如:react的jsx代码必须编译后才能在浏览器中使用,比如sass和less代码浏览器是不支持的.如果摒弃这些开发框架 ...
- Harmonious Army
Harmonious Army Now, Bob is playing an interesting game in which he is a general of a harmonious arm ...
- 阿里云RDS数据库备份同步到自建库方法(SHELL脚本)
一.背景: 由于阿里云RDS生产库每天都需要备份且拷贝到自建读库,而如果使用阿里云的自动拷贝到只读实例, 费用太高, 故采用自编写同步脚本方法实现. 二.前提: 1). 已开通阿里云RDS, 且开启定 ...
- 【MySQL】binlog2sql
binlog2sql 1.安装 shell> git clone https://github.com/danfengcao/binlog2sql.git && cd binlo ...
- 利用SQL计算两个地理坐标(经纬度)之间的地表距离
两个地理坐标(经纬度)地表距离计算公式: 公式解释如下: Long1,Lat1表示A点经纬度,Long2,Lat2表示B点经纬度: a=Lat1–Lat2 为两点纬度之差,b=Long1-Long2为 ...
- java设计模式结构型模式
结构型模式: – 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结 构,用来解决更大的问题 分类: • 适配器模式.代理模式.桥接模式. 装饰模式.组合模式.外观模式.享元模式 结构型模式 ...