您当前的位置:首页 > 网络教程 > HTML教程

4.8 块级元素和行内元素

在 HTML 中,标签通常又被称作元素。例如 <a> 标签又叫做 <a> 元素,<p> 标签也叫作 <p> 元素。

HTML 元素根据其表现形式可以分为 2 种:一种是块级元素,一种是行内元素

一、块级元素

什么是块级元素?前面内容我们讲到过的<div>、<p>、<h1>就是块级元素。

举例:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8">
        <title>4.8 块级元素和行内元素</title>
    </head>
    <body>
        <h1>纳兰性德最美的十首词</h1>
        <p>满族第一位大诗人,一笔写不尽纳兰情,半生书不完痴心梦。</p>
        <div>
            <h2>【 木兰花·拟古决绝词 】</h2>
            <p>人生若只如初见,何事秋风悲画扇。</p>
            <p>等闲变却故人心,却道故人心易变。</p>
            <p>骊山语罢清宵半,泪雨零铃终不怨。</p>
            <p>何如薄幸锦衣郎,比翼连枝当日愿。</p>
        </div>
    </body>
</html>

运行浏览器后得到的效果如图

由此我们可以总结出块级元素的特点:每个块级元素都是独自占一行。

常见的一些块级元素:

<address> 地址 <hr> 水平分隔线
<blockquote> 块引用 <menu> 菜单列表
<center> 居中对齐块 <ol> 排序表单
<dir> 目录列表 <p> 段落
<div> 常用块级容器 <pre> 格式化文本
<dl> 定义列表 <table> 表格
<form> 交互表单 <ul> 无序列表
<h1>~<h6> 标题 <ol> 有序列表

二、行内元素

什么是行内元素?前面我们讲到的<b>、<i>、<em> 、<strong>、<span>就是行内元素。

行内元素一般都是基于语义级(semantic)的基本元素,它只能容纳文本或者其他行内元素,通常被包括在块元素中使用。

举例:

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8">
        <title>4.8 块级元素和行内元素</title>
    </head>
    <body>
        <h1>纳兰性德最美的十首词</h1>
        <p>满族第一位大<b>诗人</b>,一笔写不尽纳兰情,<strong>半生书不完痴心梦</strong>。</p>
        <div>
            <h2>【 木兰花·拟古决绝词 】</h2>
            <p><em>人生</em>若只如<i>初见</i>,何事秋风悲画扇。</p>
            <p>等闲变却故人心,却道故人心易变。</p>
            <p>骊山语罢清宵半,泪雨零铃终不怨。</p>
            <p>何如薄幸锦衣郎,比翼连枝当日愿。</p>
        </div>
    </body>
</html>

运行浏览器后得到的效果如图

由此我们可以总结出行内元素的特点:行内元素会在一条直线上排列,在同一行从左至右水平排列。

常见的一些行内元素:

<a> 锚点 <b> 字体加粗
<big> 大号字体 <br> 换行
<em> 定义为强调的内容 <i> 斜体文本效果
<img> 图像 <input> 输入框
<label> 标签为input元素的标注 <select> 单选或多选菜单
<small> 小号字体 <span> 组合文档的行内元素
<strong> 强调内容 <sub> 定义下标
<sup> 定义上标 <textarea> 多行文本输入框

嵌套规则

先看例子,这是一个错误示范

<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8">
        <title>4.8 块级元素和行内元素</title>
    </head>
    <body>    
        <!--错误示范-->
        <h2>【 采桑子 】</h2>
        <em><p>非关癖爱轻模样,冷处偏佳。</p></em> <!--错误-->
        <p><div>别有根芽,不是人间富贵花。</div></p> <!--错误-->
        <h2><div>谢娘别后谁能惜,飘泊天涯。</div></h2> <!--错误-->    
        <h2><p>寒月悲笳,万里西风瀚海沙。</p></h2> <!--错误-->
    </body>
</html>

运行浏览器后得到的效果如图

浏览器能够识别这些标签,并且能按照我们的意思正确显示出效果。但是这段代码通不过W3C验证器。我们再看看验证器提示的错误。

分析:

第一句错误是块级元素<p>嵌套在行内元素<em>内。

第二句错误是说没有<p>开始标签,仔细看代码,第二句诗词的前面是有p标签的,为什么没识别到呢,原因就在第一句<p>写在了<em>内。

第二句和第三句都是块级元素嵌套块级元素,那是不是说,块级元素不能嵌套块级元素呢?答案是否定的。这个时候要区分块级元素的类型,它分为容器类块级元素(<div>)和文字类块级元素(<p>、<h1>~<h2>),只要是容器类块级元素都可以嵌套块级元素。但是文字类块级元素不可以。大家好好屡屡,然后结合案例看看,把这段消化好。

第四句,也是有很多经验的前端设计师容易犯的错误,<h2>是文字类块级元素,是不可以嵌套块级元素的。

由此我们可以得出嵌套规则有这些:

① 块元素可以嵌套行元素;

② 行元素可以嵌套行元素;

③ 行元素不可以嵌套块元素;

④ 文字类块元素不可以嵌套块元素;

⑤ 容器类块元素可以嵌套块元素。

你觉得文章内容怎么样

阿里云代金券 100 云产品通用

有效期30天 首购用户

立即领取
阿里云代金券 100 云产品通用

有效期30天 复购+升级

立即领取