inline-block盒模型
CSS还提供了一种inline-block盒模型,通过为display属性设置inline-block即可实现这种盒模型,这种盒模型是inline模型和block模型的综合体:inline-block盒模型的元素既不会占据一行,同时也支持通过width、height指定宽度及高度。
通过使用inline-block盒模型可以非常方便地实现多个
在默认情况下,多个inline-block盒模型的组件将会采用底端对齐的方式,也就是它们的底部将会位于同一条水平线上,这可能不是多栏布局期望的结果。为了让多个inline-block盒模型的组件在顶端对齐,为它们增加vertical-align: top即可。
例子
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title> 多栏布局 </title>
<style type="text/css">
body{
margin:0px;
}
div#container {
width: 960px;
margin: auto;
}
div>div {
border: 1px solid #aaf;
display: inline-block;
vertical-align: top;
/* 设置HTML组件的width属性包括边框 */
box-sizing: border-box;
-moz-box-sizing: border-box;
border-radius: 12px 12px 0px 0px;
background-color: #ffc;
padding:5px;
}
</style>
</head>
<body>
<div id="container">
<div style="width:220px">
<h2>疯狂软件开班信息</h2>
<ul>
<li>2011年11月10日 已满已开班</li>
<li>2011年12月02日 爆满已开班</li>
<li>2012年02月08日 已满已开班</li>
</ul>
</div><div style="width:500px;">
<h2>疯狂软件介绍</h2>
疯狂Java品牌专注高级软件编程,以“十年磨一剑”的心态打造全国最强(不是之一)疯狂Java学习体系:包括疯狂Java体系原创图书,疯狂Java学习路线图,这些深厚的知识沉淀已被大量高校、培训机构奉为经典。<br/>
疯狂Java怀抱“软件强国”的理想,立志以务实的技术来改变中国的软件教育。经过八年沉淀,疯狂Java强势回归。疯狂Java创始人李刚,携疯狂Java精英讲师团队肖文吉、李韩飞、黄勇、陈辉等老师将带给广大学习者“非一般”的疯狂。
</div><div style="width:240px">
<h2>公司动态</h2>
<ul>
<li>《疯狂Java讲义》(第2版)上市</li>
<li>泰豪电网软件公司来校召开现场招聘会</li>
<li>疯狂学子赴武汉光谷软件园入职</li>
<li>新华南方来校现场招聘</li>
</ul>
</div>
</div>
</body>
</html>
从上面两行粗体字代码可以看出,如果设置<div.../>
元素采用inline-block盒模型显示,接下来无须使用float属性即可让它们显示在同一行,从而实现多栏布局。
除此之外,使用inline-block盒模型也可以非常方便地实现水平菜单。下面页面无须JavaScript脚本就实现了一个横向排列的导航菜单。
例子
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title> 导航菜单 </title>
<style type="text/css">
body>div{
text-align: center;
margin: auto;
}
div>div{
/* 设置为inline-block盒模型,保证一行显示 */
display: inline-block;
border: 1px solid black;
}
a {
text-decoration:none;
/* 设置为block盒模型,允许设置高度、宽度 */
display: block;
width: 120px;
padding: 10px;
/* 设置默认背景色 */
background-color: #eee;
}
a:hover {
/* 设置鼠标悬停时的背景色 */
background-color: #aaa;
font-weight: bold;
}
</style>
</head>
<body>
<div>
<div><a href="http://www.crazyit.org">疯狂Java联盟</a></div><div>
<a href="http://www.fkjava.org">疯狂软件教育</a></div><div>
<a href="http://www.fkjava.org/companyInfo.html">关于我们</a></div><div>
<a href="http://www.crazyit.org">疯狂成员</a></div>
</div>
</body>
</html>
注:本博客内容节选自李刚编著的疯狂HTML 5/CSS 3/JavaScript讲义 ,详细内容请参阅书籍。