display:block、inline和inline-block的区别

block(块)元素的特点:

总是在新行上开始;

高度、行高以及内外边距都可控制;

宽度缺省是它的容器的100%,除非设定一个宽度;

它可以容纳内联元素和其他块元素


inline(行内)元素的特点:

和其他元素在一行上;

行高和内外边距都可控制,但是不可改变

宽度就是它的文字或图片的宽度,不可改变

行内元素只能容纳文本或者其他行内元素。

修改行内框尺寸的唯一方法是修改水平边框、内边距或外边距。

而想要改变它的位置,可以通过修改其(或父元素的)行高。


通过设置display属性可以将块元素和行内元素进行切换。需要切换的情况如下:

inline --> block(display:block;)

让一个inline元素从新行开始;

控制inline元素的宽度(对导航条特别有用);

控制inline元素的高度;

block --> inline(display:inline;)

让块元素和其他元素保持在一行上;

无须设定宽度即可为一个块元素设定与文字同宽的背景色。


inline元素的属性很难控制,一个好的解决方法就是将其display属性设置为inline-block。

display: inline-block是什么意思呢?

display:inline-block让元素像行内元素一样水平地依次排列,但是元素的内容符合块元素的行为。

inline-block元素的特点:

呈现为行内对象,与其他元素保持在同一行,但可以设置宽度和高度地块元素的属性。


大多数框由显示定义的元素形成。但是在一种情况下,即使没有显示定义,也会创建块元素。这种情况发生在将一些文本添加到一个块元素(比如div)的开头时。

即使没有把这些文本定义为块元素,它也会被当成块元素对待:

<div>
    在这种情况下,这个框称为匿名块框。
    <p>其他一些文本</p>
</div>

html标签里面有哪些块元素和行内元素呢?

块元素

address - 地址
blockquote - 块引用
center - 对齐块
dir - 目录列表
div - 常用块级容易,也是csslayout的主要标签
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 - 非排序列表(无序列表)

行内元素
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 - 定义变量

读者还可以参考这篇博客http://www.douban.com/note/90916722/


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值