我们常常在做网站的时候会div,li,span中加入span右对齐,例如:文章列表中在我们会加入时间让它右对齐,以增加网页的可读性,如下代码:

html如下:

<ul class="news">

    <li>span右对齐,换行显示的解决方法<span>2010-8-26</span></li>

</ul>

css:.news ul li span{float:right;}

不过问题又来了,往往我们在一个块中加入span时就会发现在网页中预览时span换行右对齐了,那么这是为什么呢?

原来是因为:当非float元素和float元素在一起的时候,假如非float元素在前,那么float元素将被排拆,所以,即使span是float:right,但文本显示是float:none,所以span将被排斥。

不换行的解决方法:

一、把span先于文本显示

<ul class="news">

    <li><span>2010-8-26</span>span右对齐,换行显示的解决方法</li>

</ul>

二、让文本float:left

<ul class="news">

<li><span class="fl">span右对齐,换行显示的解决方法<span><span class="fr">2010-8-26</span></li>

</ul>

.fl {float:left;}

.fr{float:right;}

第二种方法没有第一种方法简单,为了网页代码的简洁性,建议采用第一种方法。