内联元素的显示,可以形象的称为“文本模式”,即一个挨着一个,都在同一行按从左至右的顺序显示,不单独占一行。而当加入了css控制以后,块元素和内联元素的这种属性差异就不成为差异了。
特点:
和其他元素都在一行上
高度、行高和顶以及底边距都不可改变
宽度就是它的文字或图片的宽度,不可改变
总的来说,内联元素一般都是基于语义级(semantic)的基本元素,它只能容纳文本或者其他内联元素,通常被包括在块元素中使用,常见内联元素有“a、b、br”等。
用法:
通常用于特殊布局,在同一行显示多个内容,可以使用内联元素实现,这样不需要将块级元素设置为浮动或绝对定位就可以在一行横排排版。
目标效果:每一排都要顶部对齐
方法:1、块级元素行内显示:display: inline-block
2、顶部对齐:vertical-align: text-top
实现步骤:
1、建立基本元素标签,并设置颜色区分, 设置不同高度来模拟你所说的高度不一致的情况
代码:
效果图:
2、换行:使每个li变成行内块级元素,宽度超过ul宽度时会自动换行
代码:
效果图:
3、顶部对齐:其实第二步已经做到了,是默认的顶部对齐,但经测试有时候不会顶部对齐,如:将文字去掉
所以加上一句:vertical-align: text-top更为保险了。
4、完整代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul li{ list-style:none }
.myli {
width: 25px
margin-top: 10px
color: #ffffff
vertical-align: text-top
display: inline-block
}
</style>
</head>
<body>
<ul style="width: 100pxmargin: autoborder: #303030 1px solid">
<li class="myli" style="height: 20px background-color: #666"></li>
<li class="myli" style="height: 40px background-color: rgb(17, 233, 186)"></li>
<li class="myli" style="height: 28px background-color: rgb(11, 87, 226)"></li>
<li class="myli" style="height: 60px background-color: rgb(7, 194, 178)"></li>
<li class="myli" style="height: 10px background-color: #303030"></li>
<li class="myli" style="height: 20px background-color: #bcbe23"></li>
<li class="myli" style="height: 40px background-color: #370d85"></li>
<li class="myli" style="height: 20px background-color: #303030"></li>
</ul>
</body>
</html>
没有清除浮动。你测试在最后一个样式为down_bd的div后面加上:
<div style="clear:both"></div>
间距就出来了。
用你通常用来清除浮动的方法清除浮动就好了。