web从零开始

七、CSS之——表格和表单

2018-09-11  本文已影响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:边框合并

长表格

有一些情况下表格是非常的长的,这时就需要将表格分为三个部分,表头,表格的主体,表格底部
在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中添加不同的表单项

如果希望在单选按钮或者是多选框中指定默认选中的选项,则可以在希望选中的项中添加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>

可以通过在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>

上一篇 下一篇

猜你喜欢

热点阅读