新闻列表解决方案

两种需求

新闻列表1(图一、日期紧跟在标题后的新闻列表)

新闻列表2(图二、日期整齐排列在右侧的新闻列表)

图一的那种效果就不用说了,我们现在主要对图二的效果提供几种不同解决方案

第一种方法:传统方法,右浮动,先日期后标题

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的应用查看其解决方案

原文地址:https://www.cnblogs.com/cqchai/p/2957013.html