嗯,这是昆明网站建设技术研发中心官网,架构符合国际W3C标准
服务热线:0871-63535511 | 招募优秀网站前端设计师,高酬

CSS中Block块级元素的表示-盒子模型,什么是css盒子模型?

什么是CSS的盒子模式呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。在介绍这些以前我们先引入一些基本的块级元素和内联元素的知识。

什么是block块级元素、inline内联元素

Block块级元素

如果一个Html文件里面不包含Css作用,那么块级元素的顺序都是另起一行的形式出现。Table也是块级元素的一种,块级元素可以容纳内联元素和其他元素。P和form标签特殊些,他们的作用是容纳其他的块级元素。Table同样可以布局你所制作的网页,但无论怎么说Css具有更好的美学体验。就像小时候我们买的贴画一样,我们将不同的贴画贴在我们喜爱的日记本的某一张纸上,按照我们喜欢的方式。

常用的块级元素

         ◎ 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内联元素

值得一提的是Display:inline;这个属性能够修复臭名昭著的IE双倍浮动边界问题。

常用的内联元素

         ◎ 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 - 定义变量

我们可以看出,如果内联元素也用了display:inline;这个属性,那么内联元素就变成了块级元素,我说的这些只是一种规范。好了,下面我们开始来介绍css盒子模型。

div这样的块级元素,就会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整的这个矩形的样子;

与之相反,

像“span”这样的行内元素,则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。

其实你需要知道的行内元素就是 span 和 a ,其他的行内元素,比如 strong、b、font 这些都是以前在HTML中用来设定文字样式的标记,而使用CSS以后,这些标记应该都不用了,所以知道它们没有什么用,弄不好反而让初学者混淆了一些概念。
 

block表现出来的特点是折行的。

inline表现出来是不换行的。

但如果给一个元素加入了浮动(float)的话.他们就会排在一行,按自然顺序.不管是block还是inline定义了浮动之后,可以定义高度,宽度。

inline单独存在的条件下是定义不了宽度高度的.block可以.


 例如:

a正常情况下是不能定义高度的。宽度倒是可以定义,但是对鼠标有反应的只有文字部分

如果加上display:block的话,高度可以定义,但是不在一行了,整个块对鼠标都有反应了

如果加上float:left的话,能定义高宽,整块对鼠标有反应 但是 它是横向菜单,

 

所有允许被 BODY 元素包含的元素,要么是块级的;要么是内联的;要么既可以算作块级的,也可以算作内联的。但是绝对不存在一个能被BODY包含,但即非块级,又非内联的元素。

常见的块级元素有 DIV, FORM, TABLE, P, PRE, H1~H6, DL, OL, UL 等等。

常见的内联元素有 SPAN, A, STRONG, EM, LABEL, INPUT, SELECT, TEXTAREA, IMG, BR 等等。

另外,SCRIPT, OBJECT, MAP, BUTTON, DEL, INS 这些元素,既可以作为块级元素,也可以作为内联元素。

一般来说块级元素可以包含块级元素和内联元素;

但内联元素只能包含内联元素。

要注意的是,每个特定的元素,能包含的元素也是特定的,所以具体到个别元素上,这条规律是不适用的。

比如 P 元素,只能包含内联元素,而不能包含块级元素。


 块元素(block element)
 一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P。"form"这个块元素比较特殊,它只能用来容纳其他块元素。

    

    
 
内联元素(inline element)
一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素,常见内联元素"a"。

ps:关于inline element的中文叫法,有多种内联元素、内嵌元素、行内元素、直进式元素。
   
另外提到内联元素,我们会想到有个display的属性是display:inline;这个属性能够修复著名的IE双倍浮动边界问题。

 
可变元素
需要根据上下文关系确定该元素是块元素或者内联元素。可变元素还是属于上述两种元素类别,一旦上下文关系确定了他的类别,他就要遵循块元素或者内联元素的规则限制。

 

css盒子模型

盒子模型示意图

css盒子模型示意图

这些属性我们可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子也就是能装东西的一种箱子,也具有这些属性,所以叫它盒子模式。

CONTENT

那么内容(CONTENT)就是盒子里装的东西;

PADDING

而填充(PADDING)就是怕盒子里装的东西(贵重的)损坏而添加的泡沫或者其它抗震的辅料;

BORDER

边框(BORDER)就是盒子本身了;

MARGIN

至于边界(MARGIN)则说明盒子摆放的时候的不能全部堆在一起,要留一定空隙保持通风,同时也为了方便取出。

在网页设计上,内容常指文字、图片等元素,但是也可以是小盒子(DIV嵌套),与现实生活中盒子不同的是,现实生活中的东西一般不能大于盒子,否则盒子会 被撑坏的,而CSS盒子具有弹性,里面的东西大过盒子本身最多把它撑大,但它不会损坏的。填充只有宽度属性,可以理解为生活中盒子里的抗震辅料厚度,而边 框有大小和颜色之分,我们又可以理解为生活中所见盒子的厚度以及这个盒子是用什么颜色材料做成的,边界就是该盒子与其它东西要保留多大距离。

POST TIME:2013年02月12日
 
×

网站价格咨询0871-63535511

首选移动咨询方式15368242187网站建设李

备用咨询电话15925207101

QQ咨询方式381068446 李工

您也可以将联系方式给到我们,由我们电话回拨给您
点击这里给我
发消息
云南盈岚科技有限公司_全国十佳E-Business咨询顾问机构