每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐CSS实例:日期垂直排列的两种技巧,赶紧看过来吧!
【 tulaoshi.com - Web开发 】
LearningjQuery.com 博客帖子列表的左边有一个很酷的日期,如图:
从图中我们看到,2009垂直排列在右侧。用Firebug查看元素,文本2009出现在html结构之中,本文介绍实现这种效果的两种方法。
一、利用Sprite技术来实现
其实现过程已有Chris Coyier 在《Date Display Technique with Sprites》一文中作了详细介绍,这里把其实现过程作一个简单的描述。很显然,我们不希望每一个日期用一张单独的图片,因此,将其整合到一张图片之上,安排年、月、日在图片的不同区域,如图:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)1、Html
页面中html结构如下:
div class="postdate"
div class="month m-06"Jun/div
div class="day d-30"30/div
div class="year y-2009"2009/div
/div
.postdate容器包含三个区域,分别对应年月日,这样很好的保证了语义上的完整性。
在类似wordpress这样的CMS系统中,其后端代码是这样的:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)div class="postdate"
div class="month m-?php the_time('m') ?"?php the_time('M') ?/div
div class="day d-?php the_time('d') ?"?php the_time('d') ?/div
div class="year y-?php the_time('Y') ?"?php the_time('Y') ?/div
/div
2、Css
css是sprite真正发挥作用的地方,利用html中的定义的class属性,让对应的图片得以显示。
首先,让class属性为.postdate的容器相对定位,这样包含其中的三个区域就会绝对定位,并使用同一张背景图片。设置各自的宽度和高度,并将文字移出以显示背景图片。
然后,定义每个月(12)、每天(31)、每年(按10年计)具体的背景位置,以显示与其相对应的图片。
.postdate {
position: relative;
width: 50px;
height: 50px;
float: left;
}
.month, .day, .year {
position: absolute;
text-indent: -1000em;
background-image: url(/wp-content/themes/ljq/images/dates.png);
background-repeat: no-repeat;
}
.month { top: 2px; left: 0; width: 32px; height: 24px;}
.day { top: 25px; left: 0; width: 32px; height: 25px;}
.year { bottom: 0; right: 0; width: 17px; height: 48px;}
.m-01 { background-position: 0 4px;}
.m-02 { background-position: 0 -28px;}
.m-03 { background-position: 0 -57px;}
... more like this ...
.d-01 { background-position: -50px 0;}
.d-02 { background-position: -50px -31px;}
.d-03 { background-position: -50px -62px;}
... more like this ...
.y-2006 { background-position: -150px 0;}
.y-2007 { background-position: -150px -50px;}
.y-2008 { background-position: -150px -100px;}
... more like this ...
来源:http://www.tulaoshi.com/n/20160220/1631463.html
看过《CSS实例:日期垂直排列的两种技巧》的人还看了以下文章 更多>>