zoukankan      html  css  js  c++  java
  • 【Python之路】第十篇--HTML

    HTML 是什么?

      htyper text markup language  即超文本标记语言

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

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

    网页的分类:

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

      静态网页:静态的资源,如xxx.html

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

    html文档树形结构图

    什么是标签:

    • 是由一对尖括号包裹的单词构成 例如: <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也有叫做Standarsmode),这就是二者最简单的区别。

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

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

      如果你的页面添加了<!DOCTYPE html>,那么就等同于开启了标准模式

    head标签:

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

    1.name 属性主要用于描述网页,与之对应的属性值为content.

    content中的内容:主要是便于搜索引擎机器人查找信息和分类信息用的。

    <meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
    
    <meta name="description"content="哩哔哩(bilibili)直播是国内首家关注 ACG 直播的互动平台。">

    2.http-equiv 相当于http的文件头作用,它可以向浏览器传回一些有用的信息。以帮助正确和精确地显示网页内容。

    与之对应的属性值为content,content中的内容其实就是各个参数的变量值!!

    <meta http-equiv="Refresh" content="2;URL=https://www.baidu.com">  *(注意后面的引号,分别在秒数的前面和网址的后面)
    
    <meta http-equiv="content-Type" content="text/html; charset=UTF8">  简写 <meta charset="UTF8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    body标签:

    一: 基本标签

    <hn>: n的取值范围是1~6; 从大到小. 用来表示标题.
    
    <p>: 段落标签. 包裹的内容被换行.并且也上下内容之间有一行空白.
    
    <b> <strong>: 加粗标签.
    
    <strike>: 为文字加上一条中线.
    
    <em>: 文字变成斜体.
    
    <sup><sub>: 上角标 和 下角表.
    
    <br>:换行.
    
    <hr>:水平线   可以通过border设置颜色属性
    
    <div><span>

    块级标签和内联标签

    块级标签:<p> <h1> <table> <ol> <ul> <form> <div>
    
    内联标签:<a> <input> <img> <sub> <sup> <textarea> <span>

    block(块)元素的特点

    ① 总是在新行上开始;

    ② 高度,行高以及外边距和内边距都可控制;

    ③ 宽度缺省是它的容器的100%,除非设定一个宽度。

    ④ 它可以容纳内联元素和其他块元素

    inline元素的特点 !!!

    ① 和其他元素都在一行上;

    ② 高,行高及外边距和内边距不可改变;

    ③ 宽度就是它的文字或图片的宽度,不可改变

    ④ 内联元素只能容纳文本或者其他内联元素

    ⑤ 设置margin 只有左右margin有效,上下无效。

    ⑥ 设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的。

    特殊字符:

      &lt;    &gt;    &quot;    &copy;    &reg;

    二:图形标签: <img> :

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

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

    href:要连接的资源路径 格式如下: href="http://www.baidu.com" 

    target: _blank : 在新的窗口打开超链接. 框架名称: 在指定框架中打开连接内容.

    name: 定义一个页面的书签( id属性也适用! ).  用于跳转 href : #书签名称.

    锚标签:
    <a href="#abc">定位第一章</a>    
    
    <div id='abc'>我是第一章</abc>
    <div id='efg'>我是第一章</abc>
    或者:
    <div name='abc'>我是第一章</abc>
    <div name='efg'>我是第一章</abc>

    四 列表标签:

    <ul>: 无序列表

    <ol>: 有序列表

             <li>:列表中的每一项.

    <dl> 定义列表

             <dt> 列表标题

             <dd> 列表项

    <dl>
        <dt>定义:</dt>
        <dd>内容</dd>
    </dl>

    五 表格标签: <table>:

    border:   表格边框.
    cellpadding:  内边距
    cellspacing:  外边距.
        像素 百分比.(最好通过css来设置长宽)
    rowspan:  单元格竖跨多少行!
    colspan:  单元格横跨多少列!(即合并单元格)
    <table border="1">
        <tr>
            <th>标题1</th>
            <th>标题2</th>
        </tr>
        <tr>
            <td>数据1</td>
            <td>数据2</td>
        </tr>
    </table>
    
    
    <table border="1">
        <thead>
            <tr>
                <th>标题1</th>
                <th>标题2</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>数据1</td>
                <td>数据2</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td>123</td>
                <td>123</td>
            </tr>
        </tfoot>
    </table>
    demo

    六 表单标签<form>:

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

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

          表单还可以包含textareaselectfieldset和 label 元素

    1.表单属性

      HTML表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。

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

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

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

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

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

    <form action='https://www.baidu.com/' , method='post'>
    

    2.表单元素

    <input>

    type: 可选属性
    
    text   文本输入框
    password  密码输入框
    radio   单选框
    checkbox  多选框  
    submit  提交按钮            
    button  按钮(需要配合js使用.) 
    file    提交文件:form表单需要加上属性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标签都有效果. 
    def index(request):
        print(request.POST)
        print(request.GET)
        print(request.FILES)
        for item in request.FILES:    # 提交多个文件时
            fileObj = request.FILES.get(item)
            f = open(fileObj.name, 'wb')
            iter_file = fileObj.chunks()    
            for line in iter_file:
                f.write(line)
            f.close()
        return HttpResponse('ok')
    demo

    <select> 下拉选标签属性:

    name:  下拉列表的名称
    size:  选项个数
    multiple: multiple 
    value:    表单提交项的值.   
    selected: selected下拉选默认被选中
    
    <option> 下拉选中的每一项 属性
    <optgroup>为每一项加上分组
    <select>
      <optgroup label="Swedish Cars">
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
      </optgroup>
      <optgroup label="German Cars">
        <option value="mercedes">Mercedes</option>
        <option value="audi">Audi</option>
      </optgroup>
    </select>
    demo

    demo效果:

    <textarea> 文本域

    name:  表单提交项的键.
    cols:  文本域默认有多少列
    rows:  文本域默认有多少行
    
    <textarea rows="4" cols="20">
        在w3school,你可以找到你所需要的所有的网站建设教程。
    </textarea>

    <label> 

    如果您在 label 元素内点击文本,就会触发此控件。就是说,

    当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上


    <label for="www">姓名</label>
    <input id="www" type="text">
    
    <label for="male">Male</label>
    <input type="radio" name="sex" id="male" />
    <br />
    <label for="female">Female</label>
    <input type="radio" name="sex" id="female" />
    demo

     

    <fieldset>

    组合表单中的相关元素:

    <form>
      <fieldset>
        <legend>健康信息</legend>
        身高:<input type="text" />
        体重:<input type="text" />
      </fieldset>
    </form>
    demo

     

  • 相关阅读:
    hdu 4710 Balls Rearrangement()
    hdu 4707 Pet(DFS水过)
    hdu 4706 Children's Day(模拟)
    hdu 4712 Hamming Distance(随机函数暴力)
    csu 1305 Substring (后缀数组)
    csu 1306 Manor(优先队列)
    csu 1312 榜单(模拟题)
    csu 1303 Decimal (数论题)
    网络爬虫
    Python处理微信利器——itchat
  • 原文地址:https://www.cnblogs.com/5poi/p/6282251.html
Copyright © 2011-2022 走看看