`
uule
  • 浏览: 6358902 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

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

    博客分类:
  • CSS
 
阅读更多

display:block总结1

 

display:block总结2

 

1.div中只有text-align,没有vertical-align属性

 

2.div高度不固定时,可使用line-height控制,div会根据文字内容自动撑开

高度固定时,可使用padding/margin来控制

 

3.display : block /inline  /inline-block /table / inline-table

 

block  :  块对象的默认值。将对象强制作为块对象呈递,为对象之后添加新行 

none   :  隐藏对象。与 visibility 属性的hidden值不同,其不为被隐藏的对象保留其物理空间 

inline  :  内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行 

inline-block  :  将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内 

table  :  CSS2  未支持。将对象作为块元素级的表格显示 

inline-table  :  将表格显示为无前后换行的内联对象或内联容器

 

a.因DIV等无vertial-align属性,因此想垂直居中时,就需要将其模拟为表格inline-table,这样就可以使用vertical-align属性 

b.一般外面的容器里,使用inline-block,该容器里面的属性,再使用block.

 

inline-block 的元素既具有 block 元素可以设置宽高的特性,同时又具有 inline 元素默认不换行的特性。当然不仅仅是这些特性,比如 inline-block 元素也可以设置 vertical-align 属性。简而言之:

inline-block 后的元素就是一个格式化为行内元素的块容器( Block container )

 

display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。

 

=========================================================

display:block就是将元素显示为块级元素

 

block元素的特点是:

  总是在新行上开始

  高度,行高以及顶和底边距都可控制

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

  <div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子

 

display:inline就是将元素显示为行内元素.

 

inline元素的特点是: 

  和其他元素都在一行上;

  高,行高及顶和底边距不可改变

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

  <span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子。

 

 

  inline和block可以控制一个元素的行宽高等特性,需要切换的情况如下:

 

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

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

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

  控制inline元素的高度;

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

 

 

  display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。

 

inline-block的元素特点:

 

  将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。(准确地说,应用此特性的元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性)

 

  并不是所有浏览器都支持此属性,目前支持的浏览器有:Opera、Safari在IE中对内联元素使用display:inline-block,IE是不识别的,但使用display:inline-block在IE下会触发layout,从而使内联元素拥有了display:inline-block属性的表症。从上面的这个分析,也不难理解为什么IE下,对块元素设置display:inline-block属性无法实现inline-block的效果。这时块元素仅仅是被display:inline-block触发了layout,而它本就是行布局,所以触发后,块元素依然还是行布局,而不会如Opera中块元素呈递为内联对象。

 

 

IE下块元素如何实现display:inline-block的效果?

 

  有两种方法:

  1、先使用display:inline-block属性触发块元素,然后再定义display:inline,让块元素呈递为内联对象(两个display要先后放在两个CSS声明中才有效果,这是IE的一个经典bug,如果先定义了display:inline-block,然后再将display设回inline或block,layout不会消失)。代码如下(...为省略的其他属性内容):

 

  div {display:inline-block;...} 

  div {display:inline;}

 

  2、直接让块元素设置为内联对象呈递(设置属性display:inline),然后触发块元素的layout(如:zoom:1等)

 

分享到:
评论

相关推荐

    display:inline、block、inline-block的区别(转的)

    本篇文章将深入探讨`display:inline`、`display:block`以及`display:inline-block`这三种主要的显示模式之间的区别,帮助你更好地理解它们在实际开发中的应用。 首先,我们来看`display:inline`。这种模式使得元素...

    display:inline-block的实际应用

    `display:inline-block` 是 `display` 的一个值,它结合了块级元素(block-level element)和内联元素(inline element)的一些特性,为网页布局提供了更灵活的选择。在本篇文章中,我们将深入探讨 `display:inline-...

    有关display:inline-block在FF出现空白的解决方案

    在网页布局设计中,`display:inline-block` 是一个非常常用且强大的CSS属性,它允许元素在保持块级元素特性的同时,像内联元素一样并排显示。然而,在不同浏览器之间,尤其是在Firefox(FF)上,可能会遇到一些显示...

    CSS属性display:inline-block用法深入理解

    **CSS属性`display:inline-block`深入理解** 在CSS布局中,`display:inline-block`是一个非常重要的属性,它结合了`block`和`inline`两种显示方式的优点,使得元素既能保持内联元素的特性(如同行排列,允许空格)...

    关于css display: inline block inline-block的区别分析

    `display: inline`、`display: block` 和 `display: inline-block` 是三种常见的值,它们各自具有不同的行为和用途。 1. **display: inline** - `display: inline` 使得元素以行内元素的方式呈现,这意味着它们会...

    display:inline-block的原理分析

    `display:inline-block` 是 CSS 中的一个重要属性,用于控制元素的布局方式。这个属性结合了 `display:inline` 和 `display:block` 的特性,使得元素既能像内联元素一样在一行内排列,又能像块级元素一样拥有宽度、...

    display:inline-block的使用示例

    在网页布局设计中,`display:inline-block` 是一个非常实用的CSS属性,它允许元素以行内元素的方式显示,但同时保留着块级元素的特性,如设置宽度、高度以及垂直对齐等。这个属性在处理多列布局,尤其是需要在有限的...

    让IE6/IE7支持display:inline-block属性的两种方法

    在Web开发中,`display:inline-block`是一种非常实用的CSS属性,它允许元素拥有块级元素的特性(如自定义宽度、高度),同时保持内联元素的排列方式,即允许元素在同一行显示。然而,IE6和IE7这两个较老的浏览器对`...

    深入display:inline-block

    `display:inline-block`是CSS布局中的一个重要属性,用于将元素表现得既像内联元素那样在一行内排列,又能像块级元素那样控制其内部内容的布局。这种特性使得`inline-block`在网页布局中非常实用,特别是在创建响应...

    CSS之display引用运用

    本篇文章将详细介绍`display:inline-block`这一属性的使用方法及其应用场景,并通过实例帮助读者更好地理解其工作原理。 #### 一、display属性概述 在CSS中,`display`属性用于定义元素的类型以及该元素如何在其父...

    inline-block 前世今生1

    【描述】:“同时我们知道 IE6、7 中 display:inline-block 是可以触发 hasLayout 的,触发了 hasLayout的元素表现出来的特征就是一” 【标签】:“软件/插件” 【正文】: display:inline-block 属性是CSS布局中...

    css解决display:inline-block;产生的缝隙(间隙)的方法

    在CSS布局中,`display: inline-block` 是一个常用的属性,它允许元素以行内元素的方式排列,同时具有块级元素的部分特性,如指定宽度和高度。然而,使用`display: inline-block` 时,元素之间往往会出现一些...

    float元素浮动后高度不一致导致错位的解决办方法

    浮动子元素定义需要的font-size, 再定义display:inline-block;vertical-align:top; 复制代码代码如下: ul{ margin:0; padding:0; list-style-type:none; font-size:0; } ul li{ width:160px; display:inline-...

    微信小程序实现列表的横向滑动方式

    微信小程序原生方式实现列表的横向滑动的... scroll-view的内层view元素需要:display:inline-block; scroll-view的外层元素需要:white-space:nowrap; 实现代码: 1.wxml &lt;!--pages/packageA//multiple-functio

Global site tag (gtag.js) - Google Analytics