美文网首页web从零开始
七、CSS之——表格和表单

七、CSS之——表格和表单

作者: 风中丶凌乱 | 来源:发表于2018-09-11 23:07 被阅读0次

表格

在web的历史中,HTML的表格发挥了巨大作用。最初创建表格就是为了以表格的形式显示数据,后来变成了一个极受欢迎的布局工具。
但是有了CSS以后,CSS在布局网页方面实际上会更加出色,所以现在我们使用表格的作用只有一个,就是用来表示格式化的数据。
HTML中的表格可以很复杂,但是通常情况下我们不需要创建过于复杂的表格。

table tr td th
使用table标签创建一个表格。
tr表示表格中的一行。
tr中可以编写一个或多个th和td。
th表示表头。
td表示表格中的一个单元格。

caption thead tbody tfoot
caption表示表格的标题
thead表示表格的头部
tbody表示表格的主体
tfoot表示表格的底部

合并单元格
合并单元格指将两个或两个以上的单元格合并为一个单元格。
合并单元格可以通过在th或td中设置属性来完成。
横向合并:colspan
纵向合并:rowspan

表格的样式
之前学习的很多属性都可以用来设置表格的样式,比如color可以用来设置文本的颜色。padding可以用来设置内容和表格边框的距离。
text-align:设置文本的垂直对齐。
vertical-align:设置文本的垂直对齐。
可选值:top,baseline,middle,bottom
border-spacing:边框间距
border-collapse:边框合并

  • collapse:合并边框
  • separate:不合并边框

长表格

有一些情况下表格是非常的长的,这时就需要将表格分为三个部分,表头,表格的主体,表格底部
在HTML中为我们提供了三个标签:
thead 表头
tbody 表格主体
tfoot 表格底部

这三个标签的作用,就来区分表格的不同的部分,他们都是table的子标签,都需要直接写到table中,tr需要写在这些标签当中

    thead中的内容,永远会显示在表格的头部
    tfoot中的内容,永远都会显示表格的底部
    tbody中的内容,永远都会显示表格的中间

如果表格中没有写tbody,浏览器会自动在表格中添加tbody
并且将所有的tr都放到tbody中,所以注意tr并不是table的子元素,而是tbody的子元素
通过table > tr 无法选中行 需要通过tbody > tr

<body>
<table>
     头部
    <thead>
        <tr>
            <th>日期</th>
            <th>收入</th>
            <th>支出</th>
            <th>合计</th>
        </tr>
    </thead>
    中间
    <tbody>
        <tr>
            <td>2017.03.01</td>
            <td>500</td>
            <td>300</td>
            <td>2000</td>
        </tr>
     底部
    <tfoot>
        <tr>
            <td></td>
            <td></td>
            <td>合计</td>
            <td>100</td>
        </tr>
    </tfoot>

表格的布局

以前表格更多的情况实际上是用来对页面进行布局的,但是这种方式早已被CSS所淘汰了
表格的列数由td最多的那行决定
表格是可以嵌套,可以在td中在放置一个表格

<body>
<table border="1" width="50%">
    <tr height="100px">
        <td colspan="2"></td>
    </tr>
    <tr height="400px">
        <td width="20%"></td>
        <td width="80%">
            <table border="1" width="100%" height="100%">
                <tr height="100px">
                    <td width="20%"></td>
                </tr>
                <tr height="100px">
                    <td width="20%"></td>
                </tr>
            </table>
        </td>
    </tr>
    <tr height="100px">
        <td colspan="2"></td>
    </tr>
</table>
</body>

[图片上传失败...(image-14dc85-1536678295447)]

完善clearfix

解决父子元素的外边距重叠

 .box1:before{
        content: "";
        /*display:table可以将一个元素设置为表格显示*/
         display: table;
    }

解决父元素高度塌陷

.clearfix:after{
        content: "";
        display: block;
        clear: both;
        }

经过修改后的clearfix是一个多功能的样式,既可以解决高度塌陷,又可以确保父元素和子元素的垂直外边距不会重叠

   合并并解决兼容性
    .clearfix:before,
    .clearfix:after{
        content: "";
        display: table;
        clear: both;
    }
    .clearfix{
        zoom: 1;
    }       

表单

表单的作用就是用来将用户信息提交给服务器的
比如:百度的搜索框 注册 登录这些操作都需要填写表单

  • 使用form标签创建一个表单
    form标签中必须指定一个action属性,该属性指向的是一个服务器的地址
    当我们提交表单时将会提交到action属性对应的地址

      <form action="demo075_target.html">
    
    

使用form创建的仅仅是一个空白的表单,我们还需要向form中添加不同的表单项

  • 在表单中可以使用fieldset来为表单项进行分组,可以将表单项中的同一组放到一个fieldset中

      <fieldset>
          <!-- 在fieldset可以使用legend子标签,来指定组名 -->
          <legend>用户信息</legend>      
    
    
  • 使用input来创建一个文本框,它的type属性是text
    如果希望表单项中的数据会提交到服务器中,还必须给表单项指定一个name属性
    name表示提交内容的名字

     <input type="text" name="aaa">
    
    
  • 用户填写的信息会附在url地址的后边以查询字符串的形式发送给服务器
    url地址?查询字符串
    -格式:
    属性名=属性值&属性名=属性值&属性名=属性值&……
    在文本框中也可以指定value属性值,该值将会作为文本框的默认值显示

  • 在html中还为我们提供了一个专门用来选中表单中的提示文字的label标签label for="um"
    该标签可以指定一个for属性,该属性的值需要指定一个表单项的id值

          <label for="um">用户名</label>
          <!-- value是默认值,提示信息用:placeholder="用户名/邮箱/手机号" -->
          <input id="um" type="text" name="username" value="我是value"><br><br>              
    
    
  • 密码框type="password"
    使用input创建一个密码框,它的type属性值是password

    <label for="pwd">密码</label>
    <input id="pwd" type="password" name="password"><br><br>                           
    
    
  • 单选按钮type="radio"

    • 使用input来创建一个单选按钮,它的type属性使用radio
    • 单选按钮通过name属性进行分组,name属性相同是一组按钮
    • 像这种需要用户选择但是不需要用户直接填写内容的表单项,还必须指定一个value属性,这样被选中的表单项的value属性值将会最终提交给服务器

如果希望在单选按钮或者是多选框中指定默认选中的选项,则可以在希望选中的项中添加checked="checked"属性

性别<input type="radio" name="gender" value="male" id="male"><label for="male">男</label>
 <input type="radio" name="gender" value="female" checked="checked" id="female"><label for="female">女</label>

  • 多选框

    • 使用input创建一个多选框,它的type属性使用checkbox
    爱好<input type="checkbox" name="hobby" value="zq">足球
              <input type="checkbox" name="hobby" value="lq">篮球
              <input type="checkbox" name="hobby" value="ymq" checked="checked">羽毛球
              <input type="checkbox" name="hobby" value="ppq" checked="checked">乒乓球 
    
    
  • 下拉列表

    • 使用select来创建一个下拉列表
      下拉列表的name属性需要指定给select,而value属性需要指定给option

可以通过在option中添加selected="selected"来将选项设置为默认选中
当为select添加一个multiple="multiple",则下拉列表变为一个多选的下拉列表

    <select name="start">
        <!-- 
        在select中可以使用optgroup对选项进行分组
        同一个optgroup中的选项是一组
        可以通过label属性来指定分组的名字
         -->
        <optgroup label="女明星">
            <!-- 在下拉列表中使用option标签来创建一个一个列表项 -->
            <option value="fbb">范冰冰</option>
            <option value="lxr">林心如</option>
            <option value="zw">赵薇</option>
        </optgroup>
        <optgroup label="男明星">
            <option value="zbs" selected="selected">赵本山</option>
            <option value="ldh">刘德华</option>
            <option value="zjl">周杰伦</option>
        </optgroup>
    </select>
    <br><br>

  • 使用textarea创建一个文本域

    自我介绍<textarea name="info"></textarea>
      <br><br>
    
    
  • 提交按钮可以将表单中的信息提交给服务器
    使用input创建一个提交按钮,它的type属性值是submit
    在提交按钮中可以通过value属性来指定按钮上的文字

    <input type="submit" value="注册" />
    
    
  • 创建一个重置按钮,点击重置按钮以后表单中内容将会恢复为默认值

       <input type="reset">
    
    
  • 创建一个单纯的按钮,这个按钮没有任何功能,只能被点击

      <input type="button" value="按钮">
    
    
  • 除了使用input,也可以使用button标签来创建按钮
    这种方式和使用input类似,只不过由于它是成对出现的标签,使用起来更加的灵活

      <button type="submit">提交</button>
      <button type="reset">重置</button>
      <button type="button">按钮</button>
    
    

相关文章

  • 七、CSS之——表格和表单

    表格 在web的历史中,HTML的表格发挥了巨大作用。最初创建表格就是为了以表格的形式显示数据,后来变成了一个极受...

  • css表格和表单

    表格:table,也可以设置布局,现已被div盒子所替代。那么大概的一个格式就是table-th-tr-td,th...

  • HTML结尾与CSS3 (No.3)

    结束课堂上的HTML部分,开始CSS部分 HTML表格和表单 一、表格table标签代表一个表格,在table标签...

  • div+css布局基础章节

    [toc] 使用CSS美化表格和表单元素 数据表格及结构 设置相应表格内容, 职责注意的属性: 让横坐标和纵坐标教...

  • Day09_表格表单和统筹

    学习目标 1、表单标签及属性高级 2、表格标签及属性高级 3、CSS统筹 4、BFC概念和应用场景 一、表单标签及...

  • css-表格(table)和表单

    表格:table,也可以设置布局,现已被div盒子所替代。那么大概的一个格式就是table-th-tr-td,th...

  • CSS表格表单高级

    第一节 表单高级属性 表单的组成:表单域: 表单控件: 提示信息: 表单字段集 语法: 说明:相当于一个方框,...

  • 复习

    day01_html/CSShtml的作业:展示页面常用的标签:表单、表格(DIV+CSS)CSS:选择器: id...

  • HTML之CSS——表格与表单(拓展)

    在之前的文章里,小编已经写过关于表格,表单,文本框以及按钮的相关知识了,这篇文章则是在之前文章的基础上作出拓展,那...

  • day2-表单和css基础

    一.细线表格 二.表单标签和input标签 三.下拉菜单和多行文本框 四.div和是span 五.CSS基础 什么...

网友评论

    本文标题:七、CSS之——表格和表单

    本文链接:https://www.haomeiwen.com/subject/egkugftx.html