前提,li span {float:right;}
如果这么写 <li>邹斌<span>2008.06.01</span></li> 这个日期就会窜到下一行去 而如果这样 <li><span>2008.06.01</span>邹斌</li> 日期和文字就会同行显示 问题出来了, 当初来看,比较诡异的现象
仔细分析一下,原来是这样
Span本身虽然是内联元素,但加上浮动后它就变成了块级元素了,所以才会自动换行,
浮动元素的顶端不能高于先于它出现的浮动元素或段落的顶端
看下面这个例子就清楚了: <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/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> <span id=”floattest”>不加float宽高无作用</span> </body> </html> 所以,上面的例子应该
li{position:relative;}
li span{position:absolute ;right:0px;} 这样来写,如果水平不齐的话 那么可以用个top来解决 ////////////////////////////////////////// <div> 原因: 当非float的元素和float的元素在一起的时候,如果非float元素在先,那么float的元素将被排斥 如果要让两者占据同一行,一般有两个解决方法: 第一种:把span先于文本显示 如: <div> 第二:把文本也设成float 如: <div> |
span的float问题(li中的span如何不换行)
最新推荐文章于 2022-04-14 18:59:37 发布
span的float问题(li中的span如何不换行)