两个div横向排列,顶端对齐的方式。
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
/>
left;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
/>
left;
inline-block;这样可能会出现两个div顶端不对齐的情况,可以在右侧div设置vertical-align: top;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
/>
inline-block;
inline-block;
display:inline、block、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等)。代码如下:
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>
http://www.cnblogs.com/itjeff/p/3897305.html
相关推荐
当我们需要将多个`div`元素水平(横向)排列时,有多种方法可以实现这一目标。下面将详细介绍几种常见的`div`横向排列技术。 1. **使用浮动(Float)** 浮动是早期网页布局常用的一种方法。通过设置`div`的`float`...
CSS+DIV设计实例:实现让多个DIV排列时居中.txt
div+css横向布局
### 交换两个div的位置 #### 知识点详解 在前端开发中,有时我们需要通过JavaScript来动态地调整页面元素的位置,比如实现两个`<div>`元素的位置互换。本篇文章将详细解析如何通过JavaScript实现这一功能,并深入...
在网页设计与开发中,如何让两个或多个`<div>`元素在同一行显示是一个常见的需求。这涉及到CSS(层叠样式表)的布局控制技术,是前端开发的基础技能之一。根据给定的文件信息,我们可以深入探讨这一主题,了解如何...
通过上述步骤,我们可以创建一个美观且功能完善的CSS+Div导航条,包含横向排列的下拉子菜单,并利用JavaScript增强其交互性和视觉效果。这种设计方法既满足了网页的基本需求,也提供了良好的用户体验。在实际开发中...
3. 在外层容器内部创建一个内层容器(containerdiv),这个容器将包含需要横向排列的浮动子div。 4. 为内层容器设置display:inline-block样式,这会使得该容器表现为内联块级元素,可以接受文本对齐样式。 5. 对内层...
实现让多个DIV排列时居中 css div 并列居中
标题“div横向选择_相框横向浏览”暗示了我们讨论的核心是关于HTML中`div`元素的使用,特别是在创建一个可以横向滚动或浏览的相框布局。这种布局常见于图片展示、产品目录或其他需要水平展示内容的场景。下面将详细...
前端开发,JavaScript,元素按照圆形排列布局,简洁方便。
在IT行业中,"div横向选择_相框横向浏览2.0"是一个关于前端网页开发的项目,主要关注的是用户界面的交互设计,特别是图片展示的布局方式。这种设计模式通常用于图片画廊或者产品展示,使得用户可以方便地横向浏览一...
通过以上步骤,我们可以成功地使用`div+css`布局创建一个横向带箭头的步骤流程样式。这不仅有助于用户理解流程,还能提升网站的视觉吸引力和用户体验。在实际项目中,还可以根据具体需求进行定制和优化,如添加动画...
在网页开发中,"拖放"(Drag and Drop)功能是一项常见的交互设计,它允许用户通过鼠标或其他输入设备将一个元素(例如一个div)从一个位置拖曳到另一个位置。这个过程涉及到HTML5中的拖放API,它可以为用户提供直观...
首先,我们需要创建一个`<div>`作为导航栏容器,然后在其中嵌套一个`<ul>`标签,`<ul>`中包含多个`<li>`标签,每个`<li>`代表一个导航链接: ```html <div id="navbar"> <li><a href="#">首页</a></li> <li><a ...
本主题将深入探讨“两个DIV的相对位置(右上角)”这一概念,结合给出的标签“源码”和“工具”,我们将讨论如何通过CSS(层叠样式表)来实现这个目标。 首先,理解CSS定位机制是必要的。它主要包括静态定位、相对...
5. 最后,将子div(例如`float1`和`float2`)设置为`float:left`,使它们横向排列。 这样,尽管子div是浮动的,但由于内层div(containerdiv)被外层div(outerdiv)居中,整个结构仍然可以实现居中对齐的效果。这...
这通常包括设置`display`属性为`inline-block`,这样多个`div`元素就能在同一行排列,而不是默认的换行显示。同时,需要设置适当的`width`和`padding`,以控制菜单项的大小和间距。 接下来,为了实现菜单的水平布局...
Div垂直对齐 CSS+Div 底端对齐 垂直对齐
这样,两个Div就会并排显示,直到其中一栏的内容填满其容器,然后另一栏才会在其下方继续排列。 2. **定位布局**:除了浮动,还可以使用绝对定位(absolute positioning)或相对定位(relative positioning)来控制...