`
薛木木
  • 浏览: 532 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CSS:2个重要概念块状元素和内联元素

阅读更多

网页制作Webjx文章简介:是在CSS布局页面中很重要的两个概念,必须要理解透彻!既然说到概念就先看看块状元素和内联元素的定义。

 

在用CSS布局页面的时候,我们会将HTML标签分成两种,块状元素和内联元素(我们平常用到的div和p就是块状元素,链接标签a就是内联元素)。是在CSS布局页面中很重要的两个概念,必须要理解透彻!既然说到概念就先看看块状元素和内联元素的定义。

注:这节课看似挺长,其实内容很少,通过举例子让大家更容易理解而已,不要被眼前的文字和代码吓到哟~

块状元素
一般是其他元素的容器,可容纳内联元素和其他块状元素,块状元素排斥其他元素与其位于同一行,宽度(width)高度(height)起作用。常见块状元素为div和p。
内联元素
内联元素只能容纳文本或者其他内联元素,它允许其他内联元素与其位于同一行,但宽度(width)高度(height)不起作用。常见内联元素为“a”。

做了个对比表,帮助大家更容易理解。

  块状元素 内联元素
是否允许其他元素同处一行 no yes
width和height是否起作用 yes no



对于上面的概念,我们用实例的方式给大家讲明白,要注意听哟~

要求:ID为div1的红色(#900)区域,宽度和高度均为300像素,并且包含一个ID为div2的绿色区域,长度宽度
均为100像素的div2。

CSS代码如下:

  1. #div1{width:300px; height:300px; background:#900;}
  2. #div2{width:100px; height:100px; background:#090;}

HTML代码如下:

  1. <div id="div1">
  2. <div id="div2"></div>
  3. </div>

为了方便初学者更好的学习,我把完整的代码发出来

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  6. <title>CSS学习网---“可容纳内联元素和其他块状元素”</title>
  7. <style type="text/css">
  8. <!--
  9. #div1{width:300px; height:300px; background:#900;}
  10. #div2{width:100px; height:100px; background:#090;}
  11. -->
  12. </style>
  13. </head>
  14. <body>
  15. <div id="div1">
  16. <div id="div2"></div>
  17. </div>
  18. </body>
  19. </html>

怎么样,是不是下面的效果
 

1.gif

如果你做出来了,就继续往下看,咱们给刚才的要求再加一个条件,在div1里放入一个链接a,内容为“可容纳内联
元素和其他块状元素”颜色为白色
CSS代码如下:

  1. #div1{width:300px; height:300px; background:#900;}
  2. #div2{width:100px; height:100px; background:#090;}
  3. a{color:#fff;}

HTML代码如下:

  1. <div id="div1">
  2. <div id="div2"></div>
  3. <a href="#">可容纳内联元素和其他块状元素</a>
  4. </div>

是不是下面的效果
 

2.gif

到这里,我们可以看得到div1这个块状元素里面拥有两个元素,一个是块状元素div2,另一个是内联元素a,这就是块状元素概念里面说的“一般是其他元 素的容器,可容纳内联元素和其他块状元素”,为什么要说一般呢,因为块状元素不只是用来做容器,有时还有其他用途,比如利用块状元素将上下两个元素隔开些 距离,再比如利用块状元素来实现父级元素的高度自适应,这方面的内容会在后面详细讲解,因为不属于本节知识,就不多说。

好~!我们继续加条件,在div1里面div2的后面再放入一个ID为div3的长宽均为100像素的蓝色(#009)区域块,代码如

CSS代码如下:

  1. #div1{width:300px; height:300px; background:#900;}
  2. #div2{width:100px; height:100px; background:#090;}
  3. #div3{width:100px; height:100px; background:#009;}
  4. a{color:#fff;}

HTML代码如下:

  1. <div id="div1">
  2. <div id="div2"></div>
  3. <div id="div3"></div>
  4. <a href="#">可容纳内联元素和其他块状元素</a>
  5. </div>

是不是下面这个效果
 

3.gif

是不是和自己事先想象的不一样,本以为蓝色会处于绿色的右侧,可是却位于下侧,如果你再加几个div4,div5同样的他们还是继续位于前一个下面,垂直 排列,这就是块状元素概念中说的“块状元素排斥其他元素与其位于同一行”说白了,就是块状元素比较霸道,谁都别想和他坐同一行,甭管你是和他有亲戚关系的 块状元素还是毫无联系的内联元素,都不行,都到下面一行待着去,看看例子中,绿色方块和蓝色方块是不是各处同一行,内联元素a也别想和他处一行,但是事情 是没有绝对的,块状元素不是不允许其他元素和他处一行嘛,不是比较霸道嘛,没关系,咱有办法,具体什么办法,我们后面会详细讲解,知识不属于本节内容,就 也不多说了,大家留意后面的教程唷~

到这里,我想大家对“块状元素”的概念已经比较清楚了,下面通过例子给大家继续解释“内联元素”的概念,当然还是继续加条件,加个什么条件呢,在a的后面再加一个内容为“Love CSS”的链接,所有链接的背景设置为淡橙色(#F93)
CSS代码如下:

  1. #div1{width:300px; height:300px; background:#900;}
  2. #div2{width:100px; height:100px; background:#090;}
  3. #div3{width:100px; height:100px; background:#009;}
  4. a{color:#fff; background:#F93;}

HTML代码如下:

  1. <div id="div1">
  2. <div id="div2"></div>
  3. <div id="div3"></div>
  4. <a href="#">可容纳内联元素和其他块状元素</a>
  5. <a href="#">Love CSS</a>
  6. </div>

效果是不是下面这个
 

4.gif

两个连接a是不是处于同一行(不要忘记a是内联元素哟~),这就解释了概念上说的“内联元素允许其他内联元素与其位于同一行”,为什么不说“内联元素允许 其他元素与其位于同一行”,因为其他元素包括两种元素,内联元素和块状元素,它如果和内联元素在一块那就肯定在一行了,如果和块状元素在一块,即使它同 意,他后面的块状元素也不同意,块状元素会另起一行位于它的下一行。

我们继续添加条件,现在大家给内联元素a在css中加上宽度和高度,比如width:100px;height:50px;看看有什么变化
CSS代码

  1. #div1{width:300px; height:300px; background:#900;}
  2. #div2{width:100px; height:100px; background:#090;}
  3. #div3{width:100px; height:100px; background:#009;}
  4. a{color:#fff; background:#F93;width:100px;height:50px;}

看到效果了没有,是不是没有任何变化呢,这就说明了概念中的内联元素的宽度(width)高度(height)不起作用,它的大小只随内部文本或者其他内联元素变化,具体证明算是给大家一个作业,自己来证明一下。

如 果要让定义好的宽度和高度对内联元素起作用,有什么办法没有?答案是:当然。因为事情没有绝对的在CSS上面也成立,因为CSS中有两种元素,内联元素和 块状元素,但是宽度和高度只对块状元素起作用,内联元素不起作用,如果我们把内联元素转化成块状元素,他不就具有了块状元素的特性了嘛,当然宽度和高度也 就起作用了,如果你能想到这个思路,证明你的大脑现在非常活跃哟,这时候我们只需要给相应的内联元素加上一个属性display:block就可以了,如 下

  1. a{color:#fff; background:#F93;width:100px;height:50px; display:block;}

怎么样,起作用了吧,和下面的效果一样嘛~
 

5.gif

为什么两个a不处于同一行了呢,那是因为这两个内联元素a都被转化成了块状元素,既然成功转化为块状元素,就应该具有块状元素最显著的一个特点,不允许其他元素与他同一行,所以这两个a垂直排列喽~
那有没有把法让他们处于同一行?当然有啦,后面课程会告诉大家^_^
好了,到这里,大家通过实例对内联元素的概念理解的也应该很透彻了,后面就列出所有的内联元素和块状元素,方便以后大家查阅


块元素(block element)
address - 地址
blockquote - 块引用
center - 举中对齐块
dir - 目录列表
div - 常用块级容易,也是CSS layout的主要标签
dl - 定义列表
fieldset - form控制组
form - 交互表单
h1 - 大标题
h2 - 副标题
h3 - 3级标题
h4 - 4级标题
h5 - 5级标题
h6 - 6级标题
hr - 水平分隔线
isindex - input prompt
menu - 菜单列表
noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)
ol - 排序表单
p - 段落
pre - 格式化文本
table - 表格
ul - 非排序列表
内联元素(inline element)
a - 锚点
abbr - 缩写
acronym - 首字
b - 粗体(不推荐)
bdo - bidi override
big - 大字体
br - 换行
cite - 引用
code - 计算机代码(在引用源码的时候需要)
dfn - 定义字段
em - 强调
font - 字体设定(不推荐)
i - 斜体
img - 图片
input - 输入框
kbd - 定义键盘文本
label - 表格标签
q - 短引用
s - 中划线(不推荐)
samp - 定义范例计算机代码
select - 项目选择
small - 小字体文本
span - 常用内联容器,定义文本内区块
strike - 中划线
strong - 粗体强调
sub - 下标
sup - 上标
textarea - 多行文本输入框
tt - 电传文本
u - 下划线
var - 定义变量



 

分享到:
评论

相关推荐

    CSS 盒模型、块状元素与内联元素、CSS选择器

    ### CSS盒模型、块状元素与内联元素、CSS选择器 ...通过以上知识点的学习,我们可以更好地理解和掌握CSS盒模型、块状元素与内联元素以及CSS选择器的基本用法,进而能够更加高效地进行前端页面的开发工作。

    XHTML+CSS页面布局学习笔记

    这篇学习笔记主要讲解了 XHTML 和 CSS 在页面布局中的应用,涵盖了基础知识、CSS 控制页面样式、选择器、盒子模型、块状元素和内联元素等内容。 一、基础知识 1. 什么是 W3C? W3C 是 World Wide Web Consortium ...

    2天掌握DIV+CSS网页制作技术

    6. **块状元素与内联元素**: 块状元素如`div`占据整行,内联元素如`span`只占据自身内容宽度,它们在布局中的角色和相互作用是理解CSS布局的关键。 **课程内容** 7. **盒模型、块状元素与内联元素、CSS选择器**: ...

    css样式学习资料

    - **学习目标**: 理解盒子模型的基本概念,熟悉块状元素与内联元素的区别,掌握CSS选择器的使用方法。 ##### 第二课: 浮动 - **概念**: 浮动使元素脱离文档流,可实现左右排列布局。 - **应用场景**: 常用于创建侧...

    2天学会DIV+CSS最新版

    以上知识点概述了DIV+CSS最新版教程中提到的一些基础知识,包括DIV+CSS的概念、常见的CSS选择器及其命名规则、盒子模型以及块状元素和内联元素的区别等。通过掌握这些基础知识,开发者可以更好地理解并利用CSS进行...

    「资深前端工程师总结」前端面试知识点大全 —CSS 篇

    还有一些元素是内联块状元素,如 、&lt;input&gt; 等,这些元素既是内联元素,又可以设置 width 和 height。 掌握 CSS 的基本概念和应用是非常重要的。只有通过不断的学习和实践,我们才能更好地理解和应用 CSS。

    CSS布局方法

    #### 二、XHTML中的块状元素与内联元素 - **块状元素**:这类元素占据整行空间,具有高度和宽度,如`&lt;div&gt;`。 - **特点**:不能在同一行放置其他元素或文本。 - **用途**:适用于页面的大块区域布局。 - **内联...

    HTML之CSS 布局 - display 属性

    - **`inline-block`**:结合了块级元素和内联元素的特点,可以设置宽高,同时允许元素并排显示。 - **`flex`**(弹性盒模型):用于创建响应式布局,可以灵活调整元素的排列方式和尺寸。 - **`grid`**(网格布局):...

    精通CSS与HTML设计模式005

    在Web开发领域,理解和掌握CSS盒模型对于构建高质量、响应式网页至关重要。本篇文章将深入探讨《精通CSS与HTML设计模式005》中关于盒模型尺寸控制的关键概念和技术。我们将围绕“盒模型的尺寸”这一核心主题展开,...

    css div学习

    6. **块状元素与内联元素**:理解两者的区别,以及它们在布局中的应用。 7. **CSS精灵**:使用CSS精灵技术优化网页加载速度。 通过这个课程,学生将能够: 1. 创建具有清晰结构的HTML文档。 2. 使用CSS为网页添加...

    html+css技能测试带答案).doc

    5. 下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度?( C ) 知识点:CSS 显示类型,display 属性的使用场景和作用。 6. 选出你认为最合理的定义标题的方法( C ) 知识点:HTML 标题标签的使用场景...

    css试题及答案.pdf

    11. XHTML的基本元素类型包括块状元素、内联元素,但不包括“可变元素”。浮动元素是CSS布局中的概念,不属于基本元素类型。 12. `float`属性不支持`float:center;`,正确的值有`left`、`right`和`none`。 13. ...

    HTML+CSS的学习

    元素的布局则涉及块级元素、内联元素和内联块状元素。块级元素如`&lt;div&gt;`、`&lt;p&gt;`、`&lt;h1&gt;`等占据整行并可以设置宽高。内联元素如`&lt;span&gt;`、`&lt;a&gt;`等在同一行显示,但不能设置宽高。内联块状元素(如`&lt;img&gt;`、`&lt;input&gt;`...

    HTML+CSS布局、规范、兼容

    流动模型是默认的布局方式,块状元素垂直排列,内联元素水平排列。浮动模型让块级元素能够在一行上展示,常常用于创建多栏布局。层模型则允许块级元素进行层叠显示,可用于实现覆盖和重叠效果。在CSS布局时,还应...

    面试题整理.docx

    7. **IE6兼容性问题**:IE6存在许多已知的兼容性问题,如图片间隙、双边距问题、li标签间隙和块状元素默认高度问题,这些问题通常需要特定的CSS hack来解决。 对于JavaScript部分: 1. **数组去重**:在ES6中,...

    导航栏代码[借鉴].pdf

    首先,我们需要理解内容块状元素和内联元素的基本概念。内容块状元素(如`&lt;div&gt;`)占据整行宽度,可以设置宽度、高度等属性;而内联元素(如`&lt;span&gt;`)则按需占用空间,不会自动换行。在布局中,盒子模型(Box Model...

Global site tag (gtag.js) - Google Analytics