关于li中span换行的问题
前提,
li span {float:right;}
如果这么写
<li>佩吉苏<span>2010.10.15</span></li>
这个日期就会窜到下一行去
而如果这样
<li><span>2010.10.15</span>佩吉苏</li>
日期和文字就会同行显示
问题出来了,
第一:这是为啥鸟?。。。
第二:如何给span定义属性让他能够在第一种html写法下不换行?
当初来看,比较诡异的现象仔细分析一下,原来是这样
Span本身虽然是内联元素,但加上浮动后它就变成了块级元素了,所以才会自动换行,
浮动元素的顶端不能高于先于它出现的浮动元素或段落的顶端
看下面这个例子就清楚了:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
"/TR/html4/loose.dtd”>
<html>
<head>
<title>asd</title>
<style type=”text/css”>
span#test{float:left; width:300px; height:200px; background:#eee; border:1px solid #ccc;}
span#floattest{width:300px; height:200px; border:1px solid #CCC;}
</style>
</head>
<body>
<span id=”test”>加float宽高有作用,</span>
html span 居中<span id=”floattest”>不加float宽高无作用</span>
</body>
</html>
所以,上面的例子应该
li{position:relative;}
li span{position:absolute ;right:0px;}
这样来写,如果水平不齐的话那么可以用个top来解决......

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。