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等)。代码如下:
div {display:inline; zoom:1;...}
以下用个例子来说明三者的区别和用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>display:inline、block、inline-block的区别</title>
</head>
<style>
div,span{background-color:green;margin:5px;border:1px solid #333;padding:5px;height:52px;color:#fff;}
.b{display:block;}
.i{display:inline;}
div.ib{display:inline-block;}
div.ib{display:inline;}
a.ib{display:inline-block;}
a.ib{display:block;}
span.v{padding:0;margin:0;border:0;vertical-align:middle;height:100%}
</style>
<body>
<div>div display:block</div>
<div class="i">div display:inline</div>
<div class="ib">div display:inline-block</div>
<span>span display:inline</span>
<span class="b">span display:block</span>
<span><a class="ib">a display:block</a></span><br />
<div><span class="v"></span>vertical-align:middle</div>
</body>
</html>
分享到:
相关推荐
`display:inline-block` 是 `display` 的一个值,它结合了块级元素(block-level element)和内联元素(inline element)的一些特性,为网页布局提供了更灵活的选择。在本篇文章中,我们将深入探讨 `display:inline-...
在网页布局设计中,`display:inline-block` 是一个非常常用且强大的CSS属性,它允许元素在保持块级元素特性的同时,像内联元素一样并排显示。然而,在不同浏览器之间,尤其是在Firefox(FF)上,可能会遇到一些显示...
`display:inline-block`是其中一种特殊的值,它结合了`inline`和`block`两种显示特性的优点,使得元素既能像内联元素一样并排显示,又能像块级元素一样控制内容的宽度和高度。下面我们将深入探讨`display:inline-...
`display: inline`、`display: block` 和 `display: inline-block` 是三种常见的值,它们各自具有不同的行为和用途。 1. **display: inline** - `display: inline` 使得元素以行内元素的方式呈现,这意味着它们会...
`display:inline-block` 是 CSS 中的一个重要属性,用于控制元素的布局方式。这个属性结合了 `display:inline` 和 `display:block` 的特性,使得元素既能像内联元素一样在一行内排列,又能像块级元素一样拥有宽度、...
在网页布局设计中,`display:inline-block` 是一个非常实用的CSS属性,它允许元素以行内元素的方式显示,但同时保留着块级元素的特性,如设置宽度、高度以及垂直对齐等。这个属性在处理多列布局,尤其是需要在有限的...
本篇文章将详细介绍`display:inline-block`这一属性的使用方法及其应用场景,并通过实例帮助读者更好地理解其工作原理。 #### 一、display属性概述 在CSS中,`display`属性用于定义元素的类型以及该元素如何在其父...
浮动子元素定义需要的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-...
在Web开发中,`display:inline-block`是一种非常实用的CSS属性,它允许元素拥有块级元素的特性(如自定义宽度、高度),同时保持内联元素的排列方式,即允许元素在同一行显示。然而,IE6和IE7这两个较老的浏览器对`...
`display:inline-block`是CSS布局中的一个重要属性,用于将元素表现得既像内联元素那样在一行内排列,又能像块级元素那样控制其内部内容的布局。这种特性使得`inline-block`在网页布局中非常实用,特别是在创建响应...
display:inline-block; text-align:left; } 格式化为: .UserLogin_7{width:213px;height:45px;clear:both;margin-left:0px;margin-top:0px;margin-bottom:0px;display:inline-block;text-align:left;}
在CSS布局中,`display: inline-block` 是一个常用的属性,它允许元素以行内元素的方式排列,同时具有块级元素的部分特性,如指定宽度和高度。然而,使用`display: inline-block` 时,元素之间往往会出现一些...
【描述】:“同时我们知道 IE6、7 中 display:inline-block 是可以触发 hasLayout 的,触发了 hasLayout的元素表现出来的特征就是一” 【标签】:“软件/插件” 【正文】: display:inline-block 属性是CSS布局中...
display:block就是将元素显示为块级元素. block元素的特点是:总是在新行上开始;高度,行高以及顶和底边距都可控制;宽度缺省是它的容器的100%,除非设定一个宽度, , , <form>, <ul> 和 是块元素的例子。
微信小程序原生方式实现列表的横向滑动的... scroll-view的内层view元素需要:display:inline-block; scroll-view的外层元素需要:white-space:nowrap; 实现代码: 1.wxml <!--pages/packageA//multiple-functio