两种需求
(图一、日期紧跟在标题后的新闻列表)
(图二、日期整齐排列在右侧的新闻列表)
图一的那种效果就不用说了,我们现在主要对图二的效果提供几种不同解决方案
第一种方法:传统方法,右浮动,先日期后标题
Html Code
<li><span>2010-07-30</span><a href="#">css基础-基本知识点梳理</a></li>
然后就是设置日期span向右浮动,这种方法相信大家都会,就不用多说了。当然也有初学者把span写在a标签后面然后设置float为right,在这种情况下如果不设置标题a向左浮动,那样在ie6,7下日期的span是在下一行显示的。
当然如果要对标题和日期都设置浮动的话,那么也可以是先标题后时间。
第二种方法:相对绝对定位
Html Code
<li><a href="#">css基础-基本知识点梳理</a><span>2010-07-30</span></li>
这个方法就是设置li为相对定位,然后span为绝对定位到右边,当然也可以解决了。实现起来也比较简单,一说就可以明白。
第三种方法:text-align为right
Html Code
<li><a href="#">css基础-基本知识点梳理</a>2010-07-30</li>
这个是个人推荐的方法,其一先标题后时间,其二时间的span标签如果不做额外处理的话可以直接不要。
这个方法的实现原理是:先设置li的text-align为right,然后对标题a进行左浮动并设置text-align为left
新闻列表demo,运用第三种方法
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.2012-01-05
- Aliquam tincidunt mauris eu risus.2012-01-05
- Vestibulum auctor.2012-01-05
Html Code
<ul id="newslist_demo" class="nostyle demo">
<li><a href="#">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</a>2012-01-05</li>
<li><a href="#">Aliquam tincidunt mauris eu risus.</a>2012-01-05</li>
<li><a href="#">Vestibulum auctor.</a>2012-01-05</li>
</ul>
Css Code
#newslist_demo{ 340px; padding:10px; } #newslist_demo li{ text-align:right; color:#ccc; } #newslist_demo li a{ float:left; 270px; text-align:left; white-space:nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; }
注:这个demo还加入了text-overflow:ellipsis;效果,即超过的文字以省略号方式隐藏,具体的ellipsis的应用查看其解决方案