• HTML


    HTML

    前端内容介绍

    静态网页:没有与用户进行交互而仅仅供读者浏览的网页。

    动态网页:用户不仅仅可以浏览网页,还可以与服务器进行交互。

    网页组成:HTML(结构)+CSS(样式)+JavaScript(行为)

    web服务本质:浏览器(客户端)发请求——>HTTP协议——>服务端返回响应——>服务端把HTML文件内容发给浏览器——>浏览器渲染页面。

    import socket
    server=socket.socket()
    server.bind(('127.0.0.1',8000))
    server.listen(5)
    while True:
        conn,addr=server.accept()
        data=conn.recv(1024)
        conn.send(b'HTTP/1.1 200 OK
    
    ') # 一定要用bytes格式,可以到浏览器渲染
        conn.send(b'<h1>hello world</h1>')
        conn.close()

    HTML语言介绍

    • HTML(Hyper Text Markup Language)超文本标记语言是一种用于创建网页的标记语言。

    • 本质上是浏览器可识别的规则,我们根据规则写网页,浏览器根据规则渲染我们的页面。对于不同的浏览器,对同一个便签可能会有不同的解释(兼容性问题)。
    • 网页文件的扩展名:html或htm
    • 一种标记语言,而不是一种编程语言
    • 使用标签来描述网页

    HTML文档结构

    最基本的HTML文档:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>HTML介绍</title>
    </head>
    <body>
    </body>
    </html>
    • <!DOCTYPE html>声明为HTML5文档,位于<html>标签之前,不是声明HTML标签,指示web浏览器关于页面使用哪个HTML版本进行编写的指令。
    • <html></html>是文档的开始标记和结束标记。是HTML页面的根元素,在他们之间是文档的头部(head)和主体(body)。
    • <head></head>是定义了HTML文档的开头部分。他们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。
    • <title></title>是定义了网页标题,在浏览器标题栏显示。
    • <body></body>之间的文本是可见的网页主体内容。
    • 注:对于中文网页需要使用<meta charset="utf-8">声明编码,否则会出现乱码。有些浏览器会设置GBK为默认编码,则你需要设置为<meta charset="gbk">

    HTML标签格式

    • HTML标签是由尖括号包围的关键字,如<html>、<div>
    • HTML便签通常是成对出现的,比如:<div><div>,第一个标签是开始,第二个标签是结束。结束标签会有斜线。
    • 也有一部分标签是单独呈现的,比如:<br/>、<hr/>、<img/>
    • 标签里面可以有若干属性,也可以不带属性。

    标签的语法

    • <标签名 属性1="属性值1" 属性2="属性值2"...>内容部分
    • <标签名 属性1="属性值1" 属性2="属性值2"..../>

    重要属性

    • id:定义标签的唯一ID,HTML文档树中唯一
    • class:为HTML元素定义一个或多个类名(classname)(CSS样式类名)
    • style:规定元素的行内样式(CSS样式)

    HTML注释

    注释是代码之母

    <!--注释内容-->

    HTML常用标签

    head内常用标签

    标签意义
    <title></title> 定义网页标题
    <style></style> 定义内部样式表
    <script></script> 定义JS代码或引入外部JS文件
    <link/> 引入外部样式表文件或网站图标
    <meta/> 定义网页原信息
    <!--引入css或js-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>HTML</title>
        <style>
            div{
                background: red;
            }
        </style>
        <script>
            alert(123);
        </script>
    </head>
    <body>
        <div>hello world</div>
    </body>
    </html>
    <!--导入css或js-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>HTML</title>
        <style></style>
        <link rel="stylesheet" href="test01.css">
        <script src="test01.js"></script>
    </head>
    <body>
        <div>hello world</div>
    </body>
    </html>

    Meta标签

    • <meta>元素可提供有关页面的元信息,针对搜索引擎和更新频度的描述和关键词

    • <meta>标签位于文档的头部,不包含任何内容。

    • <meta>提供的信息是用户不可见的。

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

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

        <!--重定向 2秒后跳转到对应的网址,注意分号-->
        <meta http-equiv="refresh" content="2;URL=http://www.baidu.com">
        <!--指定文档的内容类型和编码类型 -->
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <!--告诉IE浏览器以最高级模式渲染当前网页-->
        <meta http-equiv="x-ua-compatible" content="IE=edge">
      • name属性:主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息的。

        <meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
        <meta name="description" content="学城">

    body常用标签

    基本标签

    <b>加粗</b>
    <i>斜体</i>
    <u>下划线</u>
    <s>删除</s>
    <p>段落标签</p>
    <h1>标题1</h1>
    <h2>标题2</h2>
    <h3>标题3</h3>
    <h4>标题4</h4>
    <h5>标题5</h5>
    <h6>标题6</h6>
    <!--换行-->
    <br>
    <!--水平线-->
    <hr>

    特殊字符

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

    div标签和span标签

    • div标签用来定义一个块级元素,并无实际意义。主要通过CSS样式为其赋予不同的表现。
    • span标签用来定义行内元素,并无实际意义。主要通过CSS样式为其赋予不同的表现。
    • 块级元素与行内(内联)元素的区别:
      • 所谓块级元素是以另起一行开始渲染的元素,行内元素则不需要另起一行。如果单独在网页中插入这两个元素,不会对页面产生任何的影响,这两个是专门为定义CSS样式而生的。
      • 关于标签嵌套:通常块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,只能包含其它内联元素。
      • p标签不能包含块级标签,p标签也不能包含p标签。

    img标签

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

    a标签(超链接标签)

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

    什么是URL?
    URL是统一资源定位器(Uniform Resourse Locator)的缩写,也被称为网页地址,是因特网上标准的资源的地址。
    URL举例:
    http://www.sohu.com/stu/intro.html
    http://222.172.123.33/stu/intro.html
        
    URL地址由4部分组成,各部分之间用"/"符号隔开:
    第一部分:协议——http://、ftp://等
    第二部分:站点地址——域名或IP地址
    第三部分:页面在站点的目录——stu
    第四部分:页面名称,如index.html
    <a href="http://www.baidu.com" target="_blank">点我</a>

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

    • 绝对URL-指向另一个站点,如href="http://www.baidu.com"
    • 相对URL-指向站点中确切的路径,如href="index.htm"
    • 锚URL-指向页面中的锚,如href="#top"

    target:

    • _blank表示在新标签页中打开目标网页
    • _self表示在当前标签页中打开目标网页

    列表

    • 无序列表

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

      type属性:

      • disc(实心圆点,默认值)
      • circle(空心圆圈)
      • square(实心方块)
      • none(无样式)
    • 有序列表

      <!--start表示从第二个开始计算-->
      <ol type="A" start="2">
          <li>第一项</li>
          <li>第二项</li>
      </ol>

      type属性:

      • 1数字列表,默认值
      • A大写字母
      • a小写字母
      • I大写罗马
      • i小写罗马
    • 标题列表

      <dl>
          <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>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>allen</td>
                <td>自由</td>
            </tr>
            <tr>
                <td>2</td>
                <td>tank</td>
                <td>散漫</td>
            </tr>
        </tbody>
    </table>

    属性:

    • thead:表格头
    • tbody:表格主体
    • tr:表格行
    • th:表格头里的单元格(默认加粗并居中)
    • td:表格主体里的单元格
    • tfoot:表格底部
    • border:表格边框
    • cellpadding:内边距
    • cellspacing:外边距
    • width:像素百分比(最好通过CSS来设置长宽)
    • rowspan:单元格横跨多少行
    • colspan:单元格横跨多少列(即合并单元格)

    form表单

    • 功能:

      • 用于向服务器传输数据,从而实现用户与web服务器的交互
      • 能够包含inpu系列标签,如文本字段、复选框、单选框、提交按钮等
      • 可包含textarea、select、fieldset、label标签
    • 表单属性

      属性描述
      accept-charset 规定被提交表单使用的字符集(默认页面字符集)
      action 规定向何处提交表单的地址(URL)(提交页面)
      autocomplete 规定浏览器自动完成表单(默认:开启)
      enctype 规定被提交数据的编码(默认:url-encoded)。若上传文件需将enctype="multipart/form-data"
      method 规定在提交表单时所用的HTTP方法(默认:GET)
      name 规定识别表单的名称(对于DOM使用:document.forms.name)
      novalidate 规定浏览器不验证表单
      target 规定action属性中地址的目标(默认:_self)
    • 表单元素

      HTML表单是HTML元素中较为复杂的部分,表单往往和脚本、动态页面、数据处理等功能相结合,因此是制作动态网站很重要的内容。

      表单一般用来收集用户的输入信息

      表单工作原理:

      访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传到服务器上。服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当数据完整无误后,服务器反馈一个输入完成的信息。

      # Django接收上传文件代码
      from django.conf.urls import url
      from django.shortcuts import HttpResponse
      def upload(request):
          print(f"request.GET:{request.GET}")
          print(f"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:定义提交时的选项值

    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:禁用

    HTML标签总结

    块级元素:块级大多为结构性标记

    • 总是从新的一行开始
    • 高度、宽度都是可控的
    • 宽度没有设置时,默认100%
    • 块级元素中可以包含块级元素和行内元素
    <h1>一级标题</h1>
    <h2>二级标题</h2>
    <h3>三级标题</h3>
    <h4>四级标题</h4>
    <h5>五级标题</h5>
    <h6>六级标题</h6>
    <hr>水平分割线
    <p>段落标签</p>
    <ul>无序列表</ul>
    <ol>有序列表</ol>
    <dl>定义列表</dl>
    <table>表格</table>
    <form action="">表单</form>
    <div>div标签</div>

    行内元素:行内大多为描述性标记

    • 和其他元素都在一行
    • 高度、宽度以及内边距都是不可控的
    • 宽度就是内容的高度,不可以改变
    • 行内元素只能是行内元素,不能包含块级元素
    <span>span标签</span>
    <a href="">超链接标签</a>
    <br>换行
    <b>加粗</b>
    <strong>加粗</strong>
    <img src="" alt="">图片
    <i>斜体</i>
    <em>斜体</em>
    <del>删除线</del>
    <u>下划线</u>
    <input type="text"> 文本框
    <textarea name="" id="" cols="30" rows="10">多行文本</textarea>
    <select name="" id="">下拉列表</select>
     
  • 相关阅读:
    使用 elementUI 的表单进行查询,表单中只有一个文本框时,回车会自动触发表单的提交事件,导致页面的刷新。
    Vue+elementUI 创建“回到顶部”组件
    elementUI 表格 table 的表头错乱问题
    阿拉伯数字转中文大写(整数)方法
    vue开发 回到顶部操作
    vue-cli 项目中使用 v-chart 及导出 chart 图片
    vue-router路由钩子
    vue随记
    vue中的watch
    Ajax 同步异步互相转换以及区别
  • 原文地址:https://www.cnblogs.com/lin137/p/11730495.html
Copyright © 2020-2023  润新知