实现超酷的日期排列的2种方法

2016-02-20 00:58 6 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享实现超酷的日期排列的2种方法,希望可以对大家能有小小的帮助。

【 tulaoshi.com - Web开发 】

博客帖子列表的左边有一个很酷的日期,如图:

从图中我们看到,2009垂直排列在右侧。用Firebug查看元素,文本2009出现在html结构之中,本文介绍实现这种效果的两种方法。

一、利用Sprite技术来实现

其实现过程已有Chris Coyier 在《》一文中作了详细介绍,这里把其实现过程作一个简单的描述。很显然,我们不希望每一个日期用一张单独的图片,因此,将其整合到一张图片之上,安排年、月、日在图片的不同区域,如图:

1、Html

页面中html结构如下:

1. = 2.         =Jun/ 3.         =30/ 4.         =2009/ 5./

.postdate容器包含三个区域,分别对应年月日,这样很好的保证了语义上的完整性。
在类似wordpress这样的CMS系统中,其后端代码是这样的:

1. = 2.         class="month m-?php the_time('m') ?"? the_time('M') ?/ 3.         class="day d-?php the_time('d') ?"? the_time('d') ?/ 4.         class="year y-?php the_time('Y') ?"? the_time('Y') ?/ 5./

2、Css

css是sprite真正发挥作用的地方,利用html中的定义的class属性,让对应的图片得以显示。

首先,让class属性为.postdate的容器相对定位,这样包含其中的三个区域就会绝对定位,并使用同一张背景图片。设置各自的宽度和高度,并将文字移出以显示背景图片。

然后,定义每个月(12)、每天(31)、每年(按10年计)具体的背景位置,以显示与其相对应的图片。

01..postdate { 02.  : ; 03.  : ; 04.  : ; 05.  : ; 06.} 07..month, .day, .year { 08.  : ; 09.  : ; 10.  : (/wp-content/themes/ljq/images/dates.png); 11.  : ; 12.} 13..month { : ; : ; : ; : ;} 14..day { : ; : ; : ; : ;} 15..year { : ; : ; : ; : ;}  16.  17..m { : ;} 18..m { : ;} 19..m { : ;} 20..m...... 21.  22..d { : ;} 23..d { : ;} 24..d { : ;} 25..d ......  26.  27..y { : ;} 28..y { : ;} 29..y { : ;} 30..y ......

二、利用Text Rotation来实现

在他的文章《》中提到用Text Rotation来实现这种效果。这里对其作简要的描述。

如今,很多主流的浏览器如Webkit和Firefox(从3.5开始)都支持旋转HTML元素。那么要使其垂直排列,就可以利用该属性。但须为每种浏览器加上前缀。

1.-webkit-transform: rotate(deg); 2.-moz-transform: rotate(deg);

对于IE浏览器,可以使用一个称之为BasicImage 的滤镜来达到目的,该滤镜能够旋转任何具有layout属性的元素。但字体较之于使用图片来说,并不显得平滑。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)1.filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=);

该滤镜可以接受四个属性值0、1、2、3,其对应旋转的角度分别为0、90、180、270。尽管它还具有mirroring、masking、greyscale 等属性,但在此对我毫无意义。

在Jonathan Snook的这篇文章的留言中,Ashish 提到在IE中使用css的一个属性writing-mode:tb-rl可以得到同样的效果,本人做过测试,的确可以使文本垂直排列。但与旋转文本略有不同,主要体现在文字起始的方向上。另外,本人在IEtest中测试IE8,使用BasicImage好像不能生效。

三、总结

对比两种方法。很明显,第一种方法无论是浏览器支持上还是视觉效果的美观上都强于第二种,唯一感到不足的是css代码较长。第二种方法虽不甚完美,但其实现过程并不复杂,不需要任何图片,但作为一种开拓思路的尝试也未尝不可。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

相关阅读

来源:http://www.tulaoshi.com/n/20160220/1632944.html

延伸阅读
标签: 营养价值
竹笋的营养价值很高,是很多懂得养生之人的首选,它口味香甜,且能够清热化痰,深受人们的喜欢,但是竹笋在吃之前的剥皮也是十分重要的。究竟竹笋怎么剥皮又快又好呢?竹笋的做法又有哪些呢?今天我们就来详细的了解一下。 竹笋的做法很多,吃起来也十分爽口,但是在制作之前的剥皮却很少有人知道又快又好的剥皮办法,今天我们就...
标签: 分娩
音乐胎教 是最常见的胎教方式,准妈妈在实施时也简单轻松。但是,尽管如此, 孕妇 也要注意常见误区,只有避开这些误区才能准确无误的进行利于胎儿的音乐胎教。 音乐胎教的方法 把耳机放在肚皮上听 如果准妈妈们是采用这种方式胎教,美国加利福尼亚洲的产科医生冯德卡尔建议你把每天音乐胎教的时间限定在1小时内,因为这...
标签: 分娩
2岁宝宝早教 方法有哪些?早教现在越来越被人们所重视了, 2岁宝宝如何早教 呢?今天我们就一起跟随小编来认识和了解一下。 其实,早教可以有很多的方式,我们可以通过宝宝们最爱的游戏来达到早教的目的。 2岁宝宝早教方法之一:躲猫猫 家长可以喊一下宝宝的名字,然后藏起来,让宝宝跟随声音的来源进行寻找,这样对于宝宝的听力锻炼是有...
标签: Web开发
利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法。我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站。 使用 CSS 实现垂直居中并不容易。有些方法在一些浏览器中无效。下面我们看一下使对象垂直集中的5种不同方法,以及它们各自的优缺点。(可以看看 测试页面 ,有简短解释。) 方法一 这个...
标签: 办公软件
在日常办公中要求对文档进行双面打印是很常见的,在打印机没有自带双面打印功能的情况下,如何既节约人力成本,又能快速实现双面打印呢?具体情况具体分析,一起看看在下面四种情况下的双面打印法。 一、在Word2007中快速实现双面打印 Word是目前最通用的办公软件,在Word2007中要实现双面打印是很简单的。单击Office按钮,在...

经验教程

271

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部