HTML表格和表单以及一些布局所需的用法

一、表格

一、表格的基本结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格的基本结构</title>
        
</head>
<body>
    <table>
        <caption></caption>
        <thead>
            <tr>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td></td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td></td>
            </tr>
        </tfoot>
    </table>
</body>
</html>
表格的基本结构

二、表格的常用属性

table
-- border: <integer>:表格外框及单元格外框
-- cellpadding: <integer>:单元格的内边距
-- cellspacing: <integer>:单元格之间的间距,最小为0
-- rules:rows、cols、groups、all:边框规则

td
-- rowspan: <integer>:行合并(该单元格占多行)
-- colspan: <integer>:列合并(该单元格占多列)
-- width: : <integer>%:列宽占比

caption
-- align: top | bottom:标题方位

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>表格</title>
    <style type="text/css">
        table {
            width: 600px;
            height: 400px;
            /*border: 1px solid #333;*/
        }
        td, th {
            /*border: 1px solid #333;*/
        }
    </style>
</head>
<body>
    <!-- table: display: table -->
    <!-- th,td: dispaly: table-cell -->

    <!-- tr: 代表表格中的行 -->
    <!-- td: 代表表格中的单元格 -->

    <!-- 表格的特点 -->
    <!-- 1.表头垂直水平居中 -->
    <!-- 2.单元格垂直居中 -->
    <!-- 3.cellspacing控制单元格之间的间距 -->
    <!-- 4.table的显示特性:内容不超过规定宽高,采用规定的宽高,当内容显示区域的宽高超过规定宽高,表格的宽高由内容显示区域决定 -->
    <!-- 5.rules:边框规则,设置后会合并边框(cellspacing失效): groups rows cols all -->
    <!-- 6.cellpadding:cell的padding设置,对内容进行格式化布局 -->
    <!--  -->
    <!-- 7.cell的width可以规定列宽占比 -->
    <!-- 8.colspan:合并列 -->
    <!-- 9.rowspan:合并行 -->
    <table border="1" cellspacing="0" rules="all" cellpadding="10">
        <caption align="bottom">表格标题</caption>
        <!-- <thead> -->
            <tr>
                <th width="1%">表头</th>
                <th width="3%">表头</th>
                <th width="6%">表头</th>
            </tr>
        <!-- </thead> -->
        <!-- <tbody> -->
            <tr>
                <td colspan="2">单元格</td>
                <!-- <td>单元格</td> -->
                <td rowspan="2">单元格</td>
            </tr>
        <!-- </tbody> -->
        <!-- <tfoot> -->
            <tr>
                <td>单元格</td>
                <td>单元格</td>
                <!-- <td>单元格</td> -->
            </tr>
        <!-- </tfoot> -->
    </table>
</body>
</html>
跟以上属性有关的表格演示

三、如何通过表格中的table-cell特点实现水平垂直居中。

</html><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>水平垂直居中</title>
    <style>
        .sup {
            width: 200px;
            height: 200px;
            display: table-cell;
            vertical-align: middle;
        }
        .sub {
            width: 100px;
            height: 100px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="sub">
        <div class="sup"></div>
    </div>
</body>
</html>
table-cell实现水平垂直居中

二、表单

一、基本结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单基本结构</title>
</head>
<body>
    <form>
    <label>输入框</label><input type="text" />    
    <button type="submit">提交</button>
    </form>
</body>
</html>
表单基本结构

二、from标签简介

简述:作用将前台用户数据通过get或post请求方式提交给后台,并在新页面标签中接受后台响应的数据

请求方式get与post的区别:

  get:将数据以URL连接方式提交给后台,速度快,但安全性低并且有数据大小限制。

  post:将数据以数据包方式提交给祸胎,速度较慢,但安全性高并且没有数据大小限制

了解:前后台交换数据的依据为:表单元素的name与value,name为key,value为value;form标签中action为提交的后台接口(请求的服务器指定路径),method为请求方式。

三、表单常用标签类型

1、input常用类型

text、password、hidden、radio、checkbox、reset、submit

2、文本框

<input type="text" name="username" placeholder="请输入用户名" size="10" maxlength="15">

3、密文框

<input type="password" name="pwd" placeholder="请输入密码" maxlength="12">

4、单选框

<input type="radio" name="sex" value="male" checked><input type="radio" name="sex" value="female">

5、多选框

<input type="checkbox" name="hobby" value="basketball"> 篮球
<input type="checkbox" name="hobby" value="football"> 足球
<input type="checkbox" name="hobby" value="ping-pong" checked> 乒乓球 
<input type="checkbox" name="hobby" value="baseball"> 棒球

6、下拉选项框

<!--单选-->
<select name="major">
    <option value="computer">计算机</option>
    <option value="archaeology">考古学</option>
    <option value="medicine" selected>医学</option>
    <option value="Architecture">建筑学</option>
    <option value="Biology">生物学</option>
</select>

<!--多选-->
<select name="major" multiple>
    <option value="computer">计算机</option>
    <option value="archaeology">考古学</option>
    <option value="medicine">医学</option>
    <option value="Architecture">建筑学</option>
    <option value="Biology">生物学</option>
</select>

7、多行文本输入

<textarea name="content"></textarea>
<textarea name="content" cols="30" rows="10"></textarea>

8、几种常用的按钮

<!--提交按钮-->
<input type="submit" value="提交">
<button>提交</button>
<button type="submit">提交</button>

<!--重置按钮-->
<input type="reset" value="重置">
<button type="reset">重置</button>

<!--普通按钮-->
<input type="button" value="按钮">
<button type="button">按钮</button>

9、全局属性

<!-- 全局属性设置 -->
<!-- required:value不能为空 -->
<!-----pattern:正则-----------> <input type="text" name="usr" required /> <input type="text" name="name" pattern="\d" />

10、伪类

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>伪类</title>
    <style type="text/css">
    /*获取焦点*/
        .box {
            width: 200px;
            height: 0;
            background-color: red;
            /*display: none;*/
            transition: .5s;
        }
        
        .usr:focus + .box {
            /*display: block;*/
            height: 200px;
        }
    </style>
</head>
<body>
    <form action="" >
        <div class="box"></div>
    </form>
</body>
</html>
获取焦点

三、布局所需的方式

一、音频与视频的插入

 1、音频

- 应用

```html
<audio id="ad" src="media/juhua.mp3" autoplay controls loop>如果浏览器不支持H5新标签audio,此段话将被显示出来</audio>
```

- 属性

| 属性 | 值 | 描述 |
| -------- | ------------------ | -------- |
| autoplay | autoplay | 自动播放 |
| controls | controls | 音频控件 |
| loop | loop | 循环播放 |
| muted | muted | 静音 |
| preload | auto metadata none | 预加载 |
| src | URL | 音频源 |

2、视频

- 应用

```html
<video width="672" height="378" controls poster="img/poster.png">
<source src="media/HTML5的前世今生.mp4" type="video/mp4"></source>
当前浏览器不支持video直接播放
</video>
```

- 属性

| 属性 | 值 | 描述 |
| -------- | ------------------ | -------- |
| width | pixels | 宽度 |
| height | pixels | 高度 |
| controls | controls | 视频控件 |
| autoplay | autoplay | 自动播放 |
| loop | loop | 循环播放 |
| muted | muted | 静音 |
| poster | URL | 图像占位 |
| src | URL | 视频源 |
| preload | auto metadata none | 预加载 |

| 属性 | 值 | 描述 |
| ---- | --------- | -------- |
| src | URL | 视频源 |
| type | MIME_type | MIME类型 |

二、形变

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>形变</title>
    <style type="text/css">
        div {
            width: 150px;
            height: 150px;
            background-color: red;
            margin: 10px auto;
            transition: 3s;
        }
        /*旋转形变:旋转的是角度 deg*/
        .d1:hover {
            /*transform: rotateX(3600deg);*/
            /*transform: rotateY(3600deg);*/
            /*transform: rotateZ(3600deg);*/
            transform: rotateX(3600deg) rotateY(3600deg) rotateZ(3600deg);
        }
        /*偏移形变:偏移的是距离 px*/
        .d2:hover {
            /*transform: translateX(200px);*/
            /*transform: translateY(200px);*/
            transform: translateX(200px) translateY(200px);
        }
        /*缩放形变:缩放的是比例*/
        .d3:hover {
            transform: scale(2, 0.5);
        }
        .d4:hover {
            /*transform: translateX(200px) rotateZ(3600deg);*/
            transform: rotateZ(3600deg) translateX(200px);
        }
    </style>
</head>
<body>
    <div class="d1"></div>
    <div class="d2"></div>
    <div class="d3"></div>
    <div class="d4"></div>
</body>
</html>
形变演示

三、简单的浏览器适配

浏览器适配了解如下:

- -o-:Opera浏览器
- -ms-:IE浏览器
- -moz-:Firefox浏览器
- -webkit-:Chrome、Safari、Android浏览器

```css
径向渐变
.box {
width: 200px;
height: 200px;
border-radius: 50%;
background-image: -webkit-radial-gradient(red, yellow);
}

倒影
-webkit-box-reflect: below | above | left | right;

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>浏览器适配</title>
    <style type="text/css">
        .box {
            width: 200px;
            height: 200px;
            border-radius: 50%;
            font: 900 80px/200px 'STSong';
            text-align: center;

            /*径向渐变*/
            /*background-image: radial-gradient(red, yellow, green);*/
            background-image: -webkit-radial-gradient(left, red, yellow, green);

            /*倒影*/
            /*below | above | left | right*/
            -webkit-box-reflect: below 2px;
        }
    </style>
</head>
<body>
    <!-- -o- Opera -->
    <!-- -ms- IE -->
    <!-- -moz- FireFox -->
    <!-- -webkit- Safari Chrome 国内主流浏览器 Android内置浏览器 -->
    <div class="box">123</div>
</body>
</html>
简单了解浏览器适配

四、字体图标与盒子阴影

字体图标

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>字体图标</title>
    <!-- 使用第三方库 -->
    <!-- <link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> -->
    <!-- <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.min.css"> -->
    <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.css">
    <style type="text/css">
        .i1 {
            /*font-size: 30px;*/
            color: orange;
        }
    </style>
</head>
<body>
    <i class="i1 fa fa-spinner fa-4x fa-spin"></i>
</body>
</html>
使用第三方库font-awesome-4.7.0

盒子阴影

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>盒子阴影</title>
    <style type="text/css">
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
            margin: 350px auto;
            /*盒子阴影*/
            /*x轴偏移 y轴偏移 虚化长度 阴影宽度 阴影颜色*/
            /*多个值之间用,隔开*/
            box-shadow: -310px 0 30px 0px yellow, 310px 0 30px -10px green, 0 -310px 30px -10px orange, 0 310px 30px -10px blue; 
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>
盒子阴影

 

posted on 2018-09-28 15:33  Ageliu  阅读(3441)  评论(0编辑  收藏  举报

导航