前端学习-day8-HTM进阶

67 阅读5分钟

iframe元素(框架页)

通常用于在网页中嵌入另一个页面 iframe为可替换元素

  1. 通常为行盒
  2. 通常显示的内容取决于元素的属性
  3. CSS不能完全控制其中的样式
  4. 具有行块盒的特点(盒模型中的各个尺寸都可以设置)

在页面中使用flash

object和embed 它们都是可替换元素 MIME(Multipurpose Internet Mail Extensions)——多用途互联网邮件类型: 比如,资源是一个jpg图片,MIME:image/jpeg

表单元素

表单元素包含了一系列元素,主要用于收集用户数据

input元素(输入框)

input元素(可替换元素)是一个空元素,有下列常见属性:

  1. type属性,输入框的类型,常见取值:
    • text,普通文本输入框
    • password,密码输入框
    • number,数字输入框(可通过min和max属性控制取值范围,可通过step属性控制步径)
    • checkbox,多选框(多配合name属性使用,表示为同一组)
    • radio,单选框(多配合name属性使用,表示为同一组)
    • date,日期选择框(可能出现兼容性问题)
    • search,搜索框(可能出现兼容性问题)
    • range,滑块框(可通过min和max属性控制取值范围)
    • color,颜色选择框
  2. value属性,输入框的值(内容)
  3. placeholder属性,显示提示文本,在文本框没有内容时显示

input元素可以制作按钮 当type值为reset(重置按钮)、button(普通按钮)、submit(提交按钮)时,input表示按钮

select元素(下拉列表选择框)

通常和option元素(选项)配合使用

<select>
	<option>成都</option>
	<option>北京</option>
	<option selected>天津</option>
	<!-- selected是一个布尔属性,在HTML5中可以简写,实际为  selected:"selected" 在此表示默认选中天津-->
	<!-- 在input元素中设置默认选中时,使用checked-->
</select>
给下拉列表分组

请选择你最喜欢的主播:
  <select>
        <optgroup label="才艺表演">
            <option>咻咻满</option>
            <option>王雨檬</option>
            <option>真栗</option>
        </optgroup>
        <optgroup label="游戏主播">
            <option>寅子</option>
            <option>杨树</option>
            <option>阿飞</option>
        </optgroup>
</select>

textarea元素(文本域)

多行文本框

<textarea cols="30" rows="10">此处内容无空白折叠</textarea>
<!-- cols表示列,rows表示行;多用CSS控制宽高 -->
<!-- textarea也可以使用placeholder属性 -->

button元素(按钮)

type属性:reset(重置)、submit(提交)、button,默认值为submit

表单状态

readonly属性:布尔属性,是否只读,不会改变表单显示样式 disabled属性:布尔属性,是否禁用,会改变表单显示样式

配合表单元素的其他元素

label元素

普通元素,通常配合单选和多选框使用,有两种关联方式

  1. 显示关联 可以通过for属性,让label元素关联某一个表单元素,for属性中书写表单元素的id值
<body>
    <div>
        请选择性别:
        <input id="radMale" name="gender" type="radio">
        <label for="radMale"></label>
        <input id="radFemale" name="gender" type="radio">
        <label for="radFemale"></label>
    </div>
</body>
  1. 隐式关联
<body>
    <div>
        请选择性别:
        <label>
            <input name="gender" type="radio">
            男
        </label>
        <label>
            <input name="gender" type="radio">
            女
        </label>
    </div>
</body>

datdalist元素(数据列表)

该元素本身不会显示到页面,通常用于和普通文本框配合,以id值关联

<body>
    <div>
        请输入你常用的浏览器:
        <input list="userAgent" type="text">
    </div>
    <datalist id="userAgent">
        <option value="Chrome">谷歌浏览器</option>
        <option value="IE">IE浏览器</option>
        <option value="Opera">欧鹏浏览器</option>
        <option value="Safari">苹果浏览器</option>
        <option value="Fire fox">火狐浏览器</option>
    </datalist>
</body>

form元素

通常,会将整个表单元素,放置form元素的内部,作用是当提交表单时,会将form元素内部的表单内容以合适的方式提交到服务器。 form元素对开发静态页面没有什么意义

fieldset元素

表单分组

美化表单元素

新的伪类选择器

  1. focus 元素聚焦时的样式

tabindex属性,调整聚焦顺序

  1. checked 单选或多选框被选中的样式

新的伪元素选择器

placeholder,可以用来设置placeholder的样式

常见用法

  1. 重置表单元素样式
input,
textarea,
button,
select {
    border: none;
}

input:focus,
textarea:focus,
button:focus,
select:focus {
    outline: none;
    outline-offset: 0;
}
  1. 设置多行文本框textarea是否允许调整尺寸 设置resize属性:
  • both:默认值,两个方向都可以调整尺寸
  • none:不能调整尺寸
  • horizontal: 水平方向可以调整尺寸
  • vertical:垂直方向可以调整尺寸
  1. 文本框边缘到内容的距离
/* 方式1:padding */
input {
	padding:0 10px;
}

/* 方式2:text-indent */
input, textarea {
	text-indent: 1em;
}
  1. 控制单选和多选的样式 不使用浏览器默认样式,自行设计
<head>
...
    <style>
        /* 设置单选框外圆样式/即未选中状态 */
        .radio {
            width: 12px;
            height: 12px;
            border: 1px solid #999;
            border-radius: 50%;
            cursor: pointer;
        }
        /* 设置选中后样式 */
        .radio.checked {
            border-color: #008c8c;
        }
        /* 设置选中后圆点样式,此为第一种方式 */
        .radio.checked::after {
            content: "";
            display: block;
            width: 5px;
            height: 5px;
            background: #008c8c;
            margin-left: 3.5px;
            margin-top: 3.5px;
            border-radius: 50%;
        }
        /* 设置选中后圆点样式的第二种方式为绝对定位,注意将外圆框设置为相对定位,以为其提供包含块 */
    </style>
</head>
<body>
    <div class="radio checked">
    </div>
</body>

实现切换选中/未选中状态

<head>
...
    <style>
	    /* 设置单选框外圆样式/即未选中状态 */
        .radio-item .radio {
            width: 12px;
            height: 12px;
            border: 1px solid #999;
            border-radius: 50%;
            cursor: pointer;
            display: inline-block;/* 设置为行块盒 */
        }
        /* 此选择器选中的是类名为radio的元素(类名为radio-item的元素下,用户选中的文本框后的相邻兄弟元素且类名为radio的元素) */
        .radio-item input:checked+.radio{
            border-color: #008c8c;
        }
        /* 此选择器选中的是span元素(类名为radio-item的元素下,用户选中的文本框后的所有兄弟元素中的span元素)*/
        .radio-item input:checked~span{
            color:#008c8c;
        }
        /* 此选择目的是为了在类名为radio的元素后添加一个伪元素, 其中样式为文本选择框选中后的圆点样式*/
        .radio-item input:checked+.radio::after {
            content: "";
            display: block;
            width: 5px;
            height: 5px;
            background: #008c8c;
            margin-left: 3.5px;
            margin-top: 3.5px;
            border-radius: 50%;
        }
        /* 选中类型为radio的input元素,让其隐藏 */
        .radio-item input[type="radio"]{
            display: none;
        }
    </style>
</head>
<body>
    <p>
        请选择性别:
        <!-- 将单选框放在label元素中,即可将自行设计的选择框样式和选择框关联起来 -->
        <label class="radio-item">
            <input name="gender" type="radio">
            <span class="radio"></span>
            <span></span>
        </label>
        <label class="radio-item">
            <input name="gender" type="radio">
            <span class="radio"></span>
            <span></span>
        </label>
    </p>
</body>

表格元素

在css技术出现之前,网页通常使用表格布局。 后台管理系统中可能会使用表格。 前台:面向用户 后台:面向管理员。对界面要求不高,对功能性要求高。 表格不再适用于网页布局的原因:表格的渲染速度过慢。

<body>
    <table>
        <caption>表格标题</caption>
         <!-- 表头 -->
        <thead>
            <!-- table row -->
            <tr>
                <th>列1</th>
                <th>列2</th>
                <th>列3</th>
                <th>列4</th>
                <th>列5</th>
            </tr>
        </thead>
        <!-- 表格主体 -->
        <tbody>
            <tr>
                <td>数据1</td>
                <td>数据2</td>
                <td>数据3</td>
                <td>数据4</td>
                <td>数据5</td>
            </tr>
            <tr>
                <td>数据1</td>
                <td>数据2</td>
                <td>数据3</td>
                <td>数据4</td>
                <td>数据5</td>
            </tr>
            <tr>
                <td>数据1</td>
                <td>数据2</td>
                <td>数据3</td>
                <td>数据4</td>
                <td>数据5</td>
            </tr>
            <tr>
                <td>数据1</td>
                <td>数据2</td>
                <td>数据3</td>
                <td>数据4</td>
                <td>数据5</td>
            </tr>
        <!-- 表尾 -->
        <tfoot>
            <tr>
                <!-- colspan属性定义表头单元格应该横跨的列数 -->
                <!-- 类似有rowspan规定表头单元格可纵跨的行数-->
                <td colspan="5">合计:XXXX</td>
            </tr>
        </tfoot>
    </table>
</body>

其他元素

  1. abbr 缩写词
  2. time 提供给浏览器或搜索引擎阅读的时间
  3. b(bold) 以前是一个无语义元素,主要用于加粗字体 HTML5中赋予其语义,表示用于强调
  4. q 一小段引用文本
  5. blockquote 大段引用的文本 q和blockquote元素都可以加上cite属性,表明引用地址
  6. br 无语义 主要用于在文本中换行
  7. hr 无语义 主要用于分割(添加分割线)
  8. meta 给网页添加元数据 还可以用于搜索引擎优化(SEO)
<meta name="keywords" content="关键字,关键字,关键字,等">
<meta name="author" content="作者名字,邮箱地址">
<meta name="description" content="描述 描述 描述 等">
  1.  link 通常用于链接外部资源(CSS、图标) rel(relation)属性:链接的资源和当前网页的关系 type属性:链接的资源的MIME类型
链接图标地址,可以在网页标签栏显示网站图标
<link rel="icon" href="图标地址">