01 前端--HTML内容

时间:2019-10-11 23:45:19   收藏:0   阅读:222

一、HTML的本质

1.1 Web服务本质

在这里我们先提一下网络编程中的socket套接字,我们知道我们的TCP连接有C/S和B/S

*通过B浏览器向服务端建立连接

  1. 先建立服务端
import socket

server = socket.socket()
server.bind(('127.0.0.1',8080)) #'127.0.0.1'是一个本机的回环地址,我只能在本机访问,8080是端口号

server.listen(5)

while True:
    conn,addr = server.accept()
    data = conn.recv(8096)
    conn.send(b'http://1.1 200 ok\r\n\r\n') # 是告诉浏览器遵循http协议
    conn.send(b'hello world !')
    # conn.send(b'<h1>hello world !</h1>')
    conn.close()
  1. 通过浏览器去访问我的服务端地址(127.0.0.1:8080)此时我的浏览器显示窗口中就会显示我服务端给浏览器的信息
  2. 浏览器发送请求-->HTTP协议-->服务端接收请求-->服务端返回响应-->服务端把内容发送给浏览器-->浏览器将服务端发送的信息渲染页面

1.2 HTML是什么

注意:HTML是一种标记语言(Markup language),它不是一种编程语言。HTML使用标签来描述网页

技术图片

1.3 HTML标记语言的文档结构

在Pycharm里面我们是可以之间创建.HTML网页文件的,并且Pycharm会自动给我们生成最基础的HTML文档的结构

<!DOCTYPE html>
<html lang='zh_CN'>
    <head>
        <meta charset='UTF-8'>
        <title>我的网页</title>
    </head>
    <body>
        
    </body>
</html>
  1. <==!DOCTYPE== ==html==>是声明这个文件为HTML5文档,浏览器要以HTML5的版本来解析我的文档,文件的声明必须位于文件的第一行,位于<html>标签之前
  2. <==html==> 、</==html==>是文档开始标记和结束的标记,是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。
  3. <==html lang=‘language‘==>其中的lang属性表示的是HMTL文档用的是那个国家的语言
  4. <==head==>、<==/head==>定义HTML文档的开头部分,他们之间的内容不会显示在浏览器的文档窗口显示,包含了文档的(meta)源数据
  5. <==title==>、<==/title==>定义了浏览器打开HTML文件时显示在网页标题内容,在浏览器标题栏中显示
  6. <==body==>、<==/body==>body标签之间的所有内容分都是浏览器打开HTML5文件时可见的网页的主题内容,也就是说浏览会把body标签的所有内容渲染到浏览器的文本显示窗口中

注意:对于中文网页需要使用<meta charset = ‘UTF-8‘>声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为<meta charset="gbk">。

1.4 HTML标签的格式

1.4.1 标签的语法

1.4.2 标签的重要属性

1.5 HTML的注释

<!--注释内容-->

特别提醒:想要写好的代码,注释是必不可少的, 写哪一种语言都必用的,注释是代码之母

二、HTML的常用标签

2.1 head标签内常用的标签

标签 意义
<meta/> 定义网页信息的
<title></title> 定义网页标题
<style></style> 定义内部CSS样式
<script></script> 定义JS代码,或者引入外部JS文件
<link/> 引入外部样式表文件的

2.1.1 Meta标签介绍

2.1.2 Meta标签组成

  1. http-equiv属性:相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
<!-- 2秒钟以后当前页面自动跳转到其他的页面,注意content属性值的“ ”-->
<meta http-equiv="refresh" content="2;URL=https://www.baidu.com">

<!--告诉IE浏览器以最高级模式来渲染文档,主要因为IE浏览器浏览网页熟读太慢了,也不怎么会用-->
<meta http-equiv='x-ua-compatible' content="IE-edge" >
  1. name属性:主要用于描述网页的,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
<!--比如我们在搜索引擎中搜索content属性中的值的话,搜索引擎会为我们推送此网站-->
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">

<!--content对应的属性值描述的是我们整个网页的信息,这个网页是干嘛的-->
<meta name="description" content="老男孩教育Python学院">

2.2 body标签内常用的标签

2.2.1 标题标签

<!--先提一些基本的标签-->
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除</s>

<!--换行-->
<br>

<!--水平线-->
<hr>

<h1>我的标题1</h1>
<h2>我的标题2</h2>
<h3>我的标题3</h3>
<h4>我的标题4</h4>
<h5>我的标题5</h5>
<h6>我的标题6</h6>

我们其实也是可以通过CSS样式控制字体的显示大小,但是用<h1></h1>标题标签的话,就相当于是一个标记,比较方便,可以清楚的标明这处为积极标题

注意:标题标签只有六级

1.特殊字符

内容 对应代码
空格 &nbsp;
> &gt;
< &lt;
& &amp;
&yen;
版权 &copy;
注册 &reg;

2.2.2 段落标签

<p>段落标签</p>:段落标签的内容,就是为一个段落

2.2.3 超链接标签

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

<!-- 指向另一个网页-->
<a href='http://www.baidu.com'>百度</a>
## 这里还有一个属性target,它的属性值指的是我跳转到另一个网页的时候是以新的窗口打开还是在原窗口中打开,覆盖原网页

### target默认是="_self" :在原网页中打开,覆盖当前打开的网页
### target="_blank" :打开一个新的窗口
<a href='http://www.baidu.com' target="_blank">百度</a>

2.2.4 图片标签

<img src="图片的路径" alt="加载图片不成功时,显示的提示信息" title="鼠标悬浮在图片上提示信息" width="宽" height="高(宽高两个属性只用一个会自动等比缩放)">

2.2.5 列表标签

1.无序列表

<ul type="disc">
  <li>第一项</li>
  <li>第二项</li>
</ul>

type属性:

2.有序列表

<ol type="1" start="2">
  <li>第一项</li>
  <li>第二项</li>
</ol>

type属性:

3. 标题列表

<dl>
  <dt>标题1</dt>
  <dd>内容1</dd>
  <dt>标题2</dt>
  <dd>内容1</dd>
  <dd>内容2</dd>
</dl>

2.2.6 表格标签

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

<thead></thead>:表格的标题部分

<tbody></tbody>:表格的内容

<table border="1" cellpadding="20" cellspacing="20">
            <thead >
                <tr>
                    <th>id</th>>
                    <th>name</th>
                    <th>age</th>>
                    <th>sex</th>>

                </tr>
            </thead>

            <tbody>
                <tr >
                    <td rowspan="2">1</td>
                    <td>xichen</td>
                    <td>18</td>
                    <td>女</td>
                </tr>

                 <tr>
                    <td>2</td>
                    <td>xcuhen</td>
                    <td>19</td>
                    <td>男</td>
                </tr>
            </tbody>
        </table>

属性:

2.2.7 div标签和span标签

div标签用来定义一个块级元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。
span标签用来定义内联(行内)元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。

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

注意:

关于标签嵌套:通常块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。

p标签不能包含块级标签,p标签也不能包含p标签。

三、form表单

3.1 form表单的功能

  1. 表单是用于向服务器传输数据的,从而实现用户与web服务器的交互
  2. 表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等
  3. 表单还可以包含textarea、select、fieldset和label标签

3.2 form表单的属性

属性 描述
action 提交地址,为空的时候默认提交的地址是当前网页
method 规定在提交表的时候的请求方式(get/post)默认的是get
enctype 在表单上传文件的时候,要设置为“multipart/form-data”
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。

3.3 form表单元素

1.input标签的属性

<input>标签会根据type属性,变化为多种形态

type属性值 表现形式 对应代码
text 单行输入文本框 <input type="text"/>
password 密码输入框 <input type="password"/>
date 日期输入框 <input type="date"/>
checkbox 复选框 <input type="checkbox"/>
radio 单选框 <input type="radio"/>
submint 提交按钮 <input type="submit"/>
reset 重置按钮 <input type="reset"/>
button 普通按钮 <input type="button"/>
hidden 隐藏输入框中的内容 <input type="hidden"/>
file 文本选择框,可以上传文件 <input type="file"/>

1.1 input标签属性说明

1.2input标签基本语法使用

<!-- input 标签也是写在form标签内部的-->
<!-- input标签是一个单标签,行内标签-->
1.表单中文本框和密码框(text/password)
2.表单的单选框和复选框(radio/checkbox)
3.submit提交按钮
4.button普通按钮
5.file上传文件/图片
4.reset重置
<form action="" method="get" enctype="multipart/form-data">
        <div>
            <!--这里的文本框的描述信息“用户名”我们可以像下面这样写,也可以用<label>标签写-->
            <!-- <label>用户名</label> -->
            <!--value="123" 是文本框一开始就默认显示的值-->
            <!--hidden 是隐藏文本框中的输入内容的-->
            <!--readonly 代表文本框是只读的-->
            用户名:<input type="text" name="user" value="123" readonly >
        </div>
        <div>
            <!-- 表单的密码框是密文的,描述信息“密码”一样可以用label标签写-->
            密码:<input type="password" name="pwd">
        </div>
        <div>
            <!--radio单选框,有多个选项只能选择一个,name属性是代表我单选框的总字段名,
                value的值是提交到后台的值,checked是默认选择的-->
            <input type="radio" name="sex" value="1" checked>男
            <input type="radio" name="sex" value="0">女
        </div>
        <div>
            <!--checkbox复选框,有多个选项,可以选择多个值,
                value的作用都是一样的,checked也是同理-->
            <input type="checkbox" name="hobbies" value="1" checked> 唱歌
            <input type="checkbox" name="hobbies" value="2" checked> 跳舞
            
            <!--disable 禁用,表示该input内不可用-->
            <input type="checkbox" name="hobbies" value="3" disabled> 做饭
        </div>

        <div>
            <!--submit 提交按钮,这个是根据form表单中的action和method的属性来提交的-->
            <input type="submit">
            <!--button 普通按钮 就是一个鼠标点上去会闪,但是不会提交-->
            <input type="button" value="登录">
        </div>
    
        <div>
            <!--file上传文件的,如果选择这个属性的话,
                需要把form表单的enctype属性设置为"multipart/form-data"-->
            <input type="file" name="上传文件">
        </div>

        <div>
            <!--reset重置,在点击她的时候,form表单的需要用户填写的内容都会被清空掉-->
            <input type="reset">
        </div>
</form>

3. select标签属性

select:form表单中的下拉列表框

3.1 select标签的属性说明

3.2 select标签的基本语法使用

<form action="" method="get">
    <!--multiple属性设置了以后,表示下拉列表框是可以多选-->
    <!--需要按住shift 选择多个选项-->
    <select name="city" id="city" multiple>
    <option value="1">淮南</option>

    <!--selected属性是代表默认选择-->
    <option value="2" selected>上海</option>


    <option value="3">北京</option>
    <option value="4">南京</option>
    <option value="5">合肥</option>

</form>
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!