最新更新 sitemap 设计搜素
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
网上家居 虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442

用CSS设计日历

日期:10-15    来源:http://www.cnwebshow.com|    作者:

 

table元素

如果你已经看过我的代码,就会发现我的日历是用table做的。不错,因为日历中显示的是表列数据,所以这样说来用table布局是合理的。而用table定位制作整个网站是不合适的,但我们完全可以有针对性的将table用在列表数据当中。像日历,程序表,图表,时间表我们都可以用table制作。此外试想一下,如果没有引用css,那些用css控制的浮动对象和绝对定位的对象会把页面变得一团糟。事实上,在我处于用css布局狂热的状态下,曾经试着不用table制作日历。相信我,这到最后会非常的头疼,因为你要考虑到所有不同的浏览器的兼容性并进行调试。这纯粹是浪费时间,还好我走过来了;-)

Molly Holzschlag 写了一篇很好的文章 “语义的意义”("The Meaning of Semantics")

设计日历

每个人都有自己习惯的设计步骤,我则先用Photoshop设计页面。在确定了颜色样式以后,用cssEdit和BBEdit编辑代码。在这个日历当中只用一个gif图片,XTHML和css代码如下:

 

#calendar {
width: 141px;
padding: 0;
margin: 0;
border-left: 1px solid #A2ADBC;
font: normal 12px/20px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
color: #616B76;
text-align: center;
background-color: #fff;
}

我们用ID选择器给日历命名,并且制定必要的属性比如width,padding,...等等。如果整页只有一个talbe的话,也可以写在table标签中。

td {
border-right: 1px solid #A2ADBC;
border-bottom: 1px solid #A2ADBC;
width: 20px;
height: 20px;
text-align: center;
background: url(images/bg_calendar.gif) no-repeat right bottom;
}

我们还要对表格的单元格td标签进行定义。我给table定义了一个左边框,给每个td定义了一个右边框和下边框。当然除了这么定义以外肯定还有其他的方法.

td a:link, td a:visited {
color: #608194;
background: url(images/bg_calendar.gif) no-repeat;
}

td a:hover, td a:active {
color: #6aa3ae;
background: url(images/bg_calendar.gif) no-repeat right top;
}

pic

日历中只有一个图片,在css中定义背景的图片的三种不同位置来3个不同背景,用了几个样式定义了日历月份导航以及当前日期.

*查看css

*查看日历

添加更多有亲和力的代码

有些tables中的元素能够帮助用屏幕阅读机的读者更容易的阅读,比如在代码中添加属性摘要.想了解更多表格亲和力的文章首选 Roger Johansson "深入表格(Bring on the tables)"

在我的日历中添加了一些为屏幕阅读机阅读所必须的缩写属性(abbr),来解释周日的"S",周一的"M",周二的"T"等等.但我搞不懂,缩写属性(abbr)是对内容的缩略写法,而我用在日历中却恰恰相反(译者注:作者用abbr="Sunday"属性解释了"S"的意思).所以我想知道我这么做是否正确.如果你知道正确的写法请告诉我,谢谢;-)