目录

概述

盒子模型

块级元素

行内元素

可变元素

总结

概述

在div+css中,了解块级元素和行内元素还是非常有必要的,比如:对行内元素使用width属性就会失效。虽然自己不是做前端的,但是,在项目中,曾经也弄过从前端布局,也吃过这方面的亏。今天,群里有朋友问起这个,就趁着学习一下,也算是查漏补缺吧,虽然,谈不上精通,但是了解,还是很有必要的。

盒子模型

css盒子模型分为两种,一种是遵循w3c标准的标准盒子模型,另外一种就是IE盒子模型。

标准盒子模型

IE盒子模型

通过上面两张图可以看出,两种盒子模型都包括padding,margin,border,content,但是ie盒子模型的content包括border和padding。

一个例子

一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px、高为 50px。

标准盒子模型

盒子需要占据的位置为:宽 20*2+1*2+10*2+200=262px、高 20*2+1*2*10*2+50=112px,

盒子的实际大小为:宽 1*2+10*2+200=222px、高 1*2+10*2+50=72px;

IE盒子模型

盒子需要占据的位置为:宽 20*2+200=240px、高 20*2+50=70px,

盒子的实际大小为:宽 200px、高 50px。

选择多了,就要比个哪个好?

当然是“标准 W3C 盒子模型”了。怎么样才算是选择了“标准 W3C 盒子模型”呢?很简单,就是在网页的顶部加上 DOCTYPE 声明。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

如果不加 DOCTYPE 声明,那么各个浏览器会根据自己的行为去理解网页,即 IE 浏览器会采用 IE 盒子模型去解释你的盒子,而 FF 会采用标准 W3C 盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。反之,如果加上了 DOCTYPE 声明,那么所有浏览器都会采用标准 W3C 盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。

块级元素block element

块状元素排斥其他元素与其位于同一行,可以设定元素的宽(width)和高(height),块级元素一般是其他元素的容器,可容纳块级元素和行内元素。常见的块级元素有div, p ,h1~h6等。

块级元素有哪些?

1 <address>//定义地址2 <caption>//定义表格标题3 <dd>//定义列表中定义条目4 <div>//定义文档中的分区或节5 <dl>//定义列表6 <dt>//定义列表中的项目7 <fieldset>//定义一个框架集8 <form>//创建 HTML 表单9 <h1>//定义最大的标题10 <h2>// 定义副标题11 <h3>//定义标题12 <h4>//定义标题13 <h5>//定义标题14 <h6>//定义最小的标题15 <hr>//创建一条水平线16 <legend>//元素为 fieldset 元素定义标题17 <li>//标签定义列表项目18 <noframes>//为那些不支持框架的浏览器显示文本,于 frameset 元素内部19 <noscript>//定义在脚本未被执行时的替代内容20 <ol>//定义有序列表21 <ul>//定义无序列表22 <p>//标签定义段落23 <pre>//定义预格式化的文本24 <table>//标签定义 HTML 表格25 <tbody>//标签表格主体(正文)26 <td>//表格中的标准单元格27 <tfoot>//定义表格的页脚(脚注或表注)28 <th>//定义表头单元格29 <thead>//标签定义表格的表头30 <tr>     //定义表格中的行

行内元素inline element

行内元素不可以设置宽(width)和高(height),但可以与其他行内元素位于同一行,行内元素内一般不可以包含块级元素。行内元素的高度一般由元素内部的字体大小决定,宽度由内容的长度控制。常见的行内元素有a, em ,strong等。

行内元素有哪些?

1 <a>//标签可定义锚2 <abbr>//表示一个缩写形式3 <acronym>//定义只取首字母缩写4 <b>//字体加粗5 <bdo>//可覆盖默认的文本方向6 <big>//大号字体加粗7 <br>//换行8 <cite>//引用进行定义9 <code>// 定义计算机代码文本10 <dfn>//定义一个定义项目11 <em>//定义为强调的内容12 <i>//斜体文本效果13 <img>//向网页中嵌入一幅图像14 <input>//输入框15 <kbd>//定义键盘文本16 <label>//标签为 input 元素定义标注(标记)17 <q>//定义短的引用18 <samp>//定义样本文本19 <select>// 创建单选或多选菜单20 <small>//呈现小号字体效果21 <span>//组合文档中的行内元素22 <strong>//加粗23 <sub>//定义下标文本24 <sup>//定义上标文本25 <textarea>//多行的文本输入控件26 <tt>//打字机或者等宽的文本效果27 <var>    // 定义变量

可变元素

根据上下文语境决定转为块级元素还是行内元素。

1 <button>//按钮2 <del>// 定义文档中已被删除的文本3 <iframe>//创建包含另外一个文档的内联框架(即行内框架)4 <ins>//标签定义已经被插入文档中的文本5 <map>//客户端图像映射(即热区)6 <object>//object对象7 <script>//客户端脚本

总结

块级元素和行内元素区别

  1. 行内元素同一行水平排列。
  2. 块级元素各占据一行,垂直方向排列。
  3. 块级元素可以包含行内元素和块级元素。但行内元素不能包含块级元素。
  4. 行内元素与块级元素属性的不同,主要是盒模型属性上。
  5. 行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效

可以通过修改样式display属性改变元素是以块级还是行内元素呈现,当display的值设为block时,元素将以块级方式呈现;当display值设为inline时,元素将以行内形式呈现。

如果想让一个元素可以设置宽度高度,又让它以行内形式显示,我们可以设置display的值为inline-block。

一个例子

a{display:inline-block;width:100px;height:100px;}

参考

百度百科

[HTML/CSS]盒子模型,块级元素和行内元素相关推荐

  1. html 盒子模型添加图片,[HTML/CSS]盒子模型,块级元素和行内元素

    目录 概述 在div+css中,了解块级元素和行内元素还是非常有必要的,比如:对行内元素使用width属性就会失效.虽然自己不是做前端的,但是,在项目中,曾经也弄过从前端布局,也吃过这方面的亏.今天, ...

  2. 继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素...

    内容总结: 1.继承性和层叠性继承性: 像 一些文本的属性: color,text-*,line-*,font-* 这些属性是可以继承下来的2.层叠性就是权重 ,谁的权重大就显示谁的属性如何看权重:就 ...

  3. CSS中的块级元素、行内元素和行内块元素

    元素是文档结构的基础,在css里面,每个元素生成了包含内容的框(box),大家都叫"盒子".但是不同的元素显示方式是不同的,有占据一整行的,有水平一个挨着一个的.比如:div 与s ...

  4. 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第九讲:块元素、行内元素、标准流、盒子模型

    陈力:传智播客古代 珍宝币 泡泡龙游戏开发第九讲:块元素.行内元素.标准流.盒子模型 DIV+CSS将显示和数据分离,极大的方便了贵阳网站建设时布局的灵活性.将节对DIV+CSS中类选择器.id选择器 ...

  5. CSS中块级元素,行内块元素,行内元素的特点

    CSS自学笔记 目录 一.什么是元素显示模式 二.CSS的元素显示模式 1.块元素 2.行内元素 3.行内块元素 前言 网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局我 ...

  6. css标签显示特性(块级元素、行内元素、行内块元素、标签显示模式转换display、简单文字居中、简单导航栏案例)

    HTML标签一般分为块标签和行内标签两种类型,它们也称块元素和行内元素. 标签以什么方式进行显示,比如div 自己占一行, 比如span 一行可以放很多个 1. 块级元素(block-level) 常 ...

  7. CSS里常见的块级元素和行内元素

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为"block&q ...

  8. CSS块级元素和行内元素

    1. 宽高 width:数值; height:数值; 也可用百分比! 长高的设置不会被后代继承 2. 背景 (1)背景颜色 background-color:颜色值; 元素的背景颜色默认为transp ...

  9. css块元素与行内元素特点,CSS区分块级元素和行内元素

    块级元素(块级元素一般当做容器使用,既可以容纳内联元素也可以容纳块级元素) 特点: 1.每个块级元素都是独自占一行,其后的元素也只能另起一行,并不能两个元素共用一行. 2.元素的高度.宽度.行高和顶底 ...

最新文章

  1. proxmoxve打造云桌面_AIO攻略 | 桌面云是如何解决外设问题的?
  2. 想说爱你不容易 | 使用最小 WEB API 实现文件上传(Swagger 支持)
  3. mysql8优化实战
  4. 牛客网——最简真分数
  5. 录制完脚本怎么做接口自动化测试_快速构建轻量级接口自动化框架
  6. 探索私有云OpenStack管理选项
  7. 编程之美之寻找发帖“水王” 的算法问题
  8. 评侯捷的《深入浅出MFC》和李久进的《MFC深入浅出》
  9. smb协议讲解_SMB协议(使用说明+过程详解+抓包分析)
  10. 这几天很可能是因为时差倒坏了
  11. floor()函数与round()函数
  12. wxpython使用简介_wxPython AUI介绍
  13. conda SSL错误 SSLError,爬虫应用总结
  14. python随机生成英文字母_在Python中生成随机字母
  15. 易基因 | 精准医学:DNA甲基化图谱在发现和精确诊断神经肿瘤领域的应用
  16. MCDF实验_lab0(0)
  17. 快讯 | Elon Musk拟跨界做喜剧,号称要建立跨星系传媒帝国Thud!(轰!)
  18. 秋招面经汇总(算法工程师,计算机视觉工程师,深度学习工程师,机器学习工程师)
  19. mysql中dateformat用法,MySQL date_format()函数
  20. 2023开年第一涨!有省市IDC电费拟环比上浮23.41 %

热门文章

  1. JavaScript中this的五种绑定方式详解
  2. 【Groovy】自定义 Xml 生成器 BuilderSupport ( 创建 XmlNode 节点 | 管理 XmlNode 节点并将根节点转为 Xml 信息 | 完整代码示例 )
  3. 【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )
  4. JVM 参数及各部分含义(转)
  5. Java截取最后一个/后面的所有字符
  6. Qt::ConnectionType(信号与槽的传递方式)
  7. Socket 进行发送
  8. 修改Servlet再运行无效
  9. ubuntu 虚拟机更改/修改root密码(很简单,在终端使用命令sudo passwd即可)
  10. Java及Android开发环境搭建