zoukankan      html  css  js  c++  java
  • 前端内容之HTML:HTTP协议、HTML中重要的标签、表格、表单等

    什么是前端:

      与用户直接打交道的,例如:手机电脑的界面

    什么是后端:

      幕后操作者,不直接与用户打交道的

    WEB服务的本质:

    浏览器中输入网址回车发送了几件事?

      1、浏览器朝服务端发送请求

      2、服务端接收请求

      3、服务端返回响应

      4、浏览器接收响应            按照相应的规则渲染给用户看。

    HTTP协议:

      超文本传输协议

      规定了浏览器与服务端传输数据的格式

    四大特性:

      1、基于请求响应

      2、基于TCP/IP之上的作用于应用层的协议

      3、无状态(服务端不保存用户状态,即使同一用户每次来都当做第一次来响应)

      4、无连接(用户端请求一次响应一次,之后立马断开连接,失去联系!)

    请求数据格式:

      1、请求首行(标识HTTP协议版本,当前请求方式)

      2、请求头(一大堆k,v键值对)

      3、/n/r

      4、请求体(携带敏感信息)

    响应数据格式:

      1、响应首行(标识HTTP协议版本、响应状态码)

      2、响应头(一大堆k,v键值对)

      3、/n/r

      4、响应体(返回给浏览器页面的数据,通常响应体为html页面)

    响应状态码:用一些简单的数字来表示一些复杂的状态或者提示信息

      1XX:服务端已经成功接收你的请求正在处理,你可以继续发送一些额外的数据

      2XX:服务端成功响应    你想要的的数据(请求成功200)

      3XX:重定向(当你访问一个需要先登录的页面时,会自动跳转到登录界面 301、302)

      4XX:请求错误(请求资源不存在或请求不合法,不符合内部规定或权限不够   403)

      5XX:服务端内部错误(500)

    请求方式:

      1、get请求:

          朝服务端要资源(例如在浏览器窗口输入www.baidu.com,服务端会返回一个百度首页)

      2、post请求:

            朝服务端提交数据(比如用户登录时朝服务端提交用户名和密码)

    URL:统一资源定位符(即:网址)

    HTML:

      超文本标记语言

      想让你写的页面被浏览器正常显示出来,那么你所写的页面就必须遵守HTML标记语法,

      也就是说所有可以被浏览器正常显示的页面都是HTML页面,内部都是HTML代码。

      浏览器只认识:HTML,CSS,JS

    WEB本质:

        浏览器

        服务器

        文件(后缀名是.html结尾的文件,即.html结尾的文件是前端页面文件,.html后缀就是给用户看的,计算机内都是二进制数据)

    html的注释:

    <!--单行注释-->
    <!--
    多行注释
    多行注释
    -->

    一般情况下 html的注释都会按照下面的方式书写

    <!--导航条样式开始-->

    <!--导航条样式结束-->

     

    HTML的文档结构:

    <html>
    <head></head>:head内的标签 不是用来展示给用户看的 而是定义一些配置 主要是给浏览器看的
    <body></body>:body内的标签 就是浏览器展示给用户看的内容
    </html>

    HTML页面的两种打开方式:

    1、在文件路径下选择浏览器打开

    2、在pycharm的快捷方式直接打开

    标签的分类1:

    1、双标签:<h1>uzi</h1>

    2、单标签:<img src="" alt="">

    head内常用的标签:

      title:用来显示网页的标题

      style:用来控制样式,内部支持写CSS代码

      script:内部支持写js代码,也支持外部传来的js文件。

      link:专门用来引入外部的CSS文件

    标签的分类2:

      1、块级标签(独占浏览器的一整行):

      如:div、p、h

          块级标签可以嵌套任意的块级标签,但是p标签虽然也是块级标签但是不能够嵌套块级标签(包括自身),可以嵌套行内标签。

      2、行内标签(自身内容是多大就占多大空间):

          例如:span     b :加粗      s :划掉      i :斜体      u   :下划线

      div和span通常是用来搭建页面布局时使用的。

     

      body内常用的标签:

          基本标签:

             h标签:标题标签

             p标签:段落标签

          符号:

          常用标签:

            div、span、p、img

                                 img:

               src用来存放图片的路径,可以是本地的也可以是网上的

                1、可以放url(会自动请求该url自动获取相应的数据)

                2、也可以放图片的二进制数据 会自动转换成图片

               alt:当图片加载不出来时,显示该提示信息

               title:当鼠标悬浮在图片上  提示的信息

               height、width  当你指定其中一个时另一个会等比例缩放,所以一般不要同时指定两个参数。

    a标签:<a href=""></a>

        href后面存放的url的时候,点击跳转到该url

        如果该链接没有被点击过颜色为蓝色的,只要点击过一次,浏览器会记录下来,以后不都会是紫色的。

        target:默认是_self,当前页面跳转。_blank表示新建一个空白页面进行跳转。

        锚点功能(回到顶部):

          

          href还可以写另一个a标签的id值,点击就会跳转到id所对应的a标签的值。如上图。

    每个标签都应该有的三个重要的属性值:

        1、id值:该值类似于身份证号,一个html文档中的id值应该保证是唯一的

        2、class值:该值类似于面向对象中的继承。(可以继承多个)

          

          这样便可以拥有c1标签的所有功能

        3、style(不是一定需要的)支持标签自己定义自己的CSS代码,属于行内,优先级最高。

          补充:任何标签都支持自定义属性。

    列表标签:

      无序列表:

        

      结果演示:

         

      调整形状:  

        

       有序列表:

        

       标题列表:

          

          

     表格标签:

        基本结构:

          <table>
        <thead></thead>
         <tbody></tbody>
          </table>

         tr表示一行
        th和td都是文本
        建议在thead内用th
        tbody内用td

        标签使用:     

    <table border="1">
        <thead>
        <tr>
            <th>username</th>
            <th>pwd</th>
            <th>hoppy</th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td>cxk</td>
        <td>123</td>
        <td>篮球</td>
        </tr>
        <tr>
        <td>yyj</td>
        <td>123</td>
        <td>game</td>
        </tr>
        </tbody>
    </table>
    
    </body>
    表格标签

    colspan表示的是水平方向

    rowspan表示的是竖直方向

    用法:

    表单标签:

       作用:接收用户输入(输入、选择、上传)文件并发送给后端。

       以注册为例讲解form表单:

    <form action="">
    <label for="d1">username:<input type="text" id="d1"></label>
    </form>

        action:用来控制数据提交的目的地

          1、不写的情况下,默认提交到当前页面所在的路径

          2、写全路径(https://www.baidu.com)

          3、路径后缀((/index/))

    input标签:类似于前端的变形金刚

    type:

      text:普通文本
      password:密文 不展示明文
      date:日期
      submit:触发提交动作
      button:普通按钮 没有实际意义 但是可以通过js绑定事件实现自定义动作
      reset:重置表单内容
      radio:单选 可以通过checked控制默认选择(当属性值和属性名相同的情况下 可以简写 checked) checked="checked"
      checkbox:多选 同上 可以设置默认值
      file:获取用户上传的文件

    select标签:

    默认为单选,可以通过multiple变成多选,默认选择可以用selected(selected='selected')

    textarea标签(个人简介)

    获取用户输入的大段文本

    form 表单默认是get请求   你需要通过method参数手动修改post提交!

    form 表单中触发提交动作的两种方式:

    1、input中type指定成submit

    2、直接写button标签

    获取用户输入(输入、选择、上传...)的标签,都必须有一个name属性,

    这个name属性就类似于字典的key用户输入的内容就是字典的value 

    <input type="text" id="d1" name="username" value="默认值">

    用户输入的值都会放在value属性中

    form表单再传文件的时候,需要指定enctype属性

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h2>注册页面</h2>
    <form action="http://127.0.0.1:5000/index/" method="post" enctype="multipart/form-data">
        <p><label for="d1">username:<input type="text" id="d1" name="username"></label></p>
        <p><label for="d2">password:<input type="password" id="d2" name="password"></label></p>
        <p>
            <label for="d3">birthday:</label>
            <input type="date" id="d3" name="birth">
        </p>
        <p>性别:
            <input type="radio" name="gender" checked value="male"><input type="radio" name="gender" value="female"></p>
        <p>爱好:
            <input type="checkbox" name="hobby" value="basketball">篮球
            <input type="checkbox" name="hobby" value="football">足球
            <input type="checkbox" name="hobby" checked value="doublecolorball">双色球
        </p>
        <p>省市:
            <select name="province" id="">
                <option value="sh">上海市</option>
                <option value="bj">北京市</option>
                <option value="sz">深圳市</option>
            </select>
        </p>
        <!--<p>伴侣:-->
        <!--    <select name="" id="" multiple>-->
        <!--        <option value="" selected>新垣结衣</option>-->
        <!--        <option value="" selected>斯嘉丽</option>-->
        <!--        <option value="">明老师</option>-->
        <!--    </select>-->
        <!--</p>-->
        <!--<p>省市1:-->
        <!--    <select name="" id="">-->
        <!--        <optgroup label="上海">-->
        <!--            <option value="">嘉定区</option>-->
        <!--            <option value="" selected>浦东新区</option>-->
        <!--            <option value="">静安区</option>-->
        <!--        </optgroup>-->
        <!--        <optgroup label="北京">-->
        <!--            <option value="">朝阳区</option>-->
        <!--            <option value="">海淀区</option>-->
        <!--            <option value="">昌平区</option>-->
        <!--        </optgroup>-->
        <!--        <optgroup label="安徽">-->
        <!--            <option value="">芜湖市</option>-->
        <!--            <option value="">合肥市</option>-->
        <!--            <option value="">安庆市</option>-->
        <!--        </optgroup>-->
        <!--    </select>-->
        <!--</p>-->
        <p>头像:
            <input type="file" name="avatar">
        </p>
        <p>个人简介:
            <textarea name="info" id="" cols="30" rows="10"></textarea>
        </p>
        <!--<p>隐身-->
        <!--    <input type="hidden">-->
        <!--    -->
        <!--</p>-->
        <input type="submit" value="注册1">
        <input type="button" value="注册2">
        <input type="reset" value="注册3">
        <button>button标签</button>
    
    
        
    
    </form>
    </body>
    </html>
    from表单

        

        

            

      

      

  • 相关阅读:
    lsf运行lsload命令显示“lsload: Host does not have a software license”
    linux nfs远程挂载和卸载
    连接EMC存储系统
    linux 挂载ntfs格式的硬盘
    WARN [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@584]
    循环更新sqlserver数据库表ID
    【BZOJ 1563】 (四边形优化、决策单调性)
    【BZOJ 3028】 3028: 食物 (生成函数)
    【BZOJ 3027】 3027: [Ceoi2004]Sweet (容斥原理+组合计数)
    【BZOJ 1061】 1061: [Noi2008]志愿者招募 (线性规划与网络流)**
  • 原文地址:https://www.cnblogs.com/yangjiaoshou/p/11455880.html
Copyright © 2011-2022 走看看