zoukankan      html  css  js  c++  java
  • 51、表格标签与CSS选择器

    一、表格标签

    jason 123 read
    egon    123 dbj
    tank  123 hecha
    ...
    <table>
            <thead>
                          <tr>  一个tr就表示一行
                    <th>username</th>  加粗文本
                    <td>username</td>  正常文本
                </tr>
                  </thead>  表头(字段信息)
            <tbody>
                    <tr>
                    <td>jason</td>
                    <td>123</td>
                    <td>read</td>
                </tr>
            </tbody>     表单(数据信息)
    </table>
    
    
    <table border="1">  加外边宽
    <td colspan="2">egon</td>  水平方向占多行
    <td rowspan="2">DBJ</td>   垂直方向占多行

    二、表单标签

      后端通过网络得到前段用户的数据

    2.1、form表单的使用

      <form action="  ">  </form>:form标签内部数据会提交到后端

      action:提交到后端的数据

        1.什么都不写

        2.写全路径

        3.只路径后缀名

    2.2、label标签:标识作用

      1.通常和input标签一起使用

        <label for="d1">  #一旦点击name,也会直接提跳到d1

          name:<input type = "text" id ="d1">  

        </label>

      2.和id连接使用,不需要嵌套

        <lable for= "d2">password:</lable>    #password可以不用input,直接通过id关联

        <input type="text" id="d2">

      label和input都是行内标签

    2.3、input标签

      input标签通过搭配type属性使其功能化

      type=“text”:普通文本

         “password”:密文

         “date”:日期

         “submit”:触发form表当提交数据的动作

         “button”:生成普通按键,无其他功能

         “reset”:重置内容

         “file”:获取文件,一次性可以获取多个

            <input type="file" mutiple>

         "hidden":隐藏当前input框(钓鱼网站)

         “textrea”:获取大段文本框

            <textrea name=“” id=“” cols=“30” rows=“10”></textrea>      #自动填写

    2.4、统一行内标签内的多选和多选

      “radio”:单选

        默认选项中要添加checked=‘checked’,当属性名和属性值相同时可以简写

        获取用户输入的标签,都要有name属性,name属性和数据相当于key和value

         <input type="radio" name="gender" checked>男

      “checkbox”:多选

        <input type="checkedbox" checked>女

    2.5、select标签,默认单选

      select 标签里面使用<option>标签,

      可以搭配mutiple,变成多选 ,

      <select name="" id="" Mutiple>

      <option value="" select> 小明</option>

      <option value="" select> 小红</option>

      </select>

    三、验证form表单提交数据

    # 接下来的框架代码无需掌握  看一下效果即可
    pip3 install FLASK
    
    form表单默认提交数据的方式 是get请求  数据是直接放在url后面的
        http://127.0.0.1:5000/index/?username=sdadasdsda&gender=on
    你可以通过method指定提交方式
        <form action="http://127.0.0.1:5000/index/" method="post">
      
    针对用户选择的标签 用户不需要输入内容 但是你需要提前给这些标签添加内容value值
    <p>gender:
                <input type="radio" name="gender" value="male"><input type="radio" name="gender" checked value="female"><input type="radio" name="gender" value="others">其他
    </p>
    <p>hobby:
                <input type="checkbox" name="hobby" value="basketball">篮球
                <input type="checkbox" checked name="hobby" value="football">足球
                <input type="checkbox" checked name="hobby" value="doublecolorball">双色球
    </p>
    <p>province:
                <select name="province" id="">
                    <option value="sh">上海</option>
                    <option value="bj" selected>北京</option>
                    <option value="sz">深圳</option>
                </select>
    </p>
    
    
    
    """
    form表单提交文件需要注意
        1.method必须是post
        2.enctype="multipart/form-data"
            enctype类似于数据提交的编码格式
                默认是urlencoded 只能够提交普通的文本数据
                formdata 就可以支持提交文件数据
    """
    <form action="http://127.0.0.1:5000/index/" method="post" enctype="multipart/form-data">
    
    
    """下面的代码无需掌握 你只需要关心form表单即可"""
    from flask import Flask, request
    
    
    app = Flask(__name__)
    
    
    # 当前url既可以支持get请求也可以支持post请求  如果不写默认只能支持get请求
    @app.route('/index/',methods=['GET','POST'])
    def index():
        print(request.form)  # 获取form表单提交过来的非文件数据
        # ImmutableMultiDict([('username', 'jason'), ('password', '123132131231233'), ('gender', 'on')])
        print(request.files)  # 获取文件数据
        file_obj = request.files.get('myfile.png')
        file_obj.save(file_obj.name)
        return 'OK'
    
    app.run()
    
    
    # 针对用户输入的标签。如果你加了value 那就是默认值
    <label for="d1">username:<input type="text" id="d1" name="username" value="默认值"></label>
    disable 禁用
    readonly只读

    四、css 简介

      css 层叠样式表:就是给HTML标签添加样式表单的,使其更加的好看

    4.1、注释

      通常在编写css样式的时候使用注释来划分定样式的区域,可以快速的找到需要找到的样式位置,例如/*顶部导航条样式*/

      /*单行注释*/

      /*多行注释

       多行注释

      */

    4.2、css的语法结构

      选择器{

      属性1:值1;

      属性2:值2;

      }

    4.3、css的三种引入方式

      1.style标签内部直接书写

    <style>
            h1  {
                color: burlywood;
            }
    </style>

      2.link标签引入外部css文件(最正规的方式,解耦合)  

    <link rel="stylesheet" href="mycss.css">

      3.行内是(一般不用)  

    <h1 style="color: green">老板好 要上课吗?</h1>

    4.4、css的学习流程

      1.先学习如何查找标签

      2.在学如何添加样式

    五、css选择器

    5.1、基本选择器

      1.id选择器:#加上标签

      2.类选择器:。加上标签

      3.元素/标签选择器:直接写标签

      4.通用选择器:*加上标签

    <style>
            id选择器
            #d1 {  !*找到id是d1的标签 将文本颜色变成绿黄色*!
                color: greenyellow;
            }
            类选择器
            .c1 {  !*找到class值里面包含c1的标签*!
                color: red;
            }
            元素(标签)选择器*/
            span {  !*找到所有的span标签*!
                color: red;
            }
            通用选择器
            * {  !*将html页面上所有的标签全部找到*!
                color: green;
            }
    </style>

    5.2、选择器的选择

      我们使用层级的关系来表述选择器

      后代选择器:div span,只要是div下面的选择器,都是

      儿子选择器:div>span,div下面一层级的选择器

      毗邻选择器:div+span,div同级别第一个选择器

      弟弟选择器:div~span,div同级下的所有选择器

    /*div span {*/
            /*    color: red;*/
            /*}*/
    
            /*儿子选择器*/
            /*div>span {*/
            /*    color: red;*/
            /*}*/
    
            /*毗邻选择器*/
            /*div+span {  !*同级别紧挨着的下面的第一个*!*/
            /*    color: aqua;*/
            /*}*/
    
            /*弟弟选择器*/
            div~span {  /*同级别下面所有的span*/
                color: red;
            }

    5.3、属性选择器

      1.含有某个属性

    [username] {  !*将所有含有属性名是username的标签背景色改为红色*!
                background-color: red;
            }

      2.含有某个属性并且有某个值

    [username='jason'] {  !*找到所有属性名是username并且属性值是jason的标签*!
               background-color: orange;
            }

      3.含有某个属性并且有某个值的某个标签

    input[username='jason'] {  !*找到所有属性名是username并且属性值是jason的input标签*!
               background-color: wheat;
          }
  • 相关阅读:
    四十四 常用内建模块 struct
    四十三 常用内建模块 base64
    Django Haystack 全文检索与关键词高亮
    python实现简单tftp(基于udp)
    多线程socket UDP收发数据
    Python 线程复习
    python 进程复习
    python pdb 调试
    Linux 复习
    Django 博客
  • 原文地址:https://www.cnblogs.com/jingpeng/p/12879371.html
Copyright © 2011-2022 走看看