CSS控制表格——制作日历

	表格是网页上最常见的元素,除了用它来显示数据,还常被用来排版。这一次我们就来学习如何用CSS控制表格。
	一.表格中的标记
	表格(<table>标记)在最初HTML设计时,仅仅是用来存放各种数据的。
	下图是一个没有使用任何CSS修饰的表格:
		
	二.表格的颜色
	表格的颜色设置与文字颜色设置完全一样,通过color属性设置表格中文字的颜色,通过background属性设置表格的背景颜色。
	三.表格的边框
	border属性是用来设置表格边框的粗细的,当设置其值为0时,表明表格没有边框。
	bordercolor属性用来设置表格边框的颜色。
	在有了这些理论知识的基础上,下面以日历制作为例。
	利用CSS,十月份的日历如下:
	
	完整的代码如下:

<table class="clmonth" summary="Calendar for October 2015">    <span style="font-family: Arial, Helvetica, sans-serif;">//2015年10月日历</span>
	<caption>October 2015</caption>                    
	<tr>                                              //每个tr的个数都为7,正好与日期对应                                
		<th scope="col">Monday</th>               //表头内容周一至周日
		<th scope="col">Tuesday</th>
		<th scope="col">Wednesday</th>
		<th scope="col">Thursday</th>
		<th scope="col">Friday</th>
		<th scope="col">Saturday</th>
		<th scope="col">Sunday</th>
	</tr>
	<tr>                
		<td class="previous">28</td>              //上个月的日期
		<td class="previous">29</td>      
		<td class="previous">30</td>      
		<td class="active">1                      //本月添加安排的日期
		<ul>
			<li>国庆</li>
			<li>休息</li>
		</ul>
		</td>
		<td>2</td>
		<td>3</td>
		<td>4</td>		
	</tr>
	<tr>
		<td>5</td>
		<td>6</td>
		<td class="active">7
		<ul>
			<li>软考第三阶段结束</li>
		</ul>
		</td>
		<td>8</td>
		<td class="active">9
		<ul>
			<li>开始软考做真题阶段</li>
		</ul>
		</td>
		<td>10</td>
		<td>11</td>
	</tr>
	<tr>
		<td>12</td>
		<td>13</td>
		<td>14</td>
		<td>15</td>
		<td>16</td>
		<td class="active">17
		<ul>
			<li>自考《数据结构导论》</li>
		</ul>
		</td>
		<td class="active">18
		<ul>
			<li>自考《软件开发工具》</li>
		</ul>
		</td>
	</tr>
	<tr>
		<td>19</td>
		<td>20</td>
		<td class="active">21
		<ul>
			<li>重阳节</li>
		</ul>
		</td>
		<td>22</td>
		<td>23</td>
		<td class="active">24
		<ul>
			<li>软考集体模拟</li>
		</ul>
		</td>
		<td>25</td>
	</tr>
	<tr>
		<td>26</td>
		<td>27</td>
		<td>28</td>
		<td>29</td>
		<td>30</td>
		<td>31</td>
		<td class="next">1</td>      
	</tr>
	<tr>
		<td class="next">2</td>                   //下个月的日期
		<td class="next">3</td>
		<td class="next">4</td>
		<td class="next">5</td>
		<td class="next">6</td>
		<td class="next">7</td>
		<td class="next">8</td>
	</tr>
<style>
.clmonth{
	border-collapse:collapse;           
	width:780px;
}
.clmonth caption{                                         //调整字体样式
	text-align:left;
	font:bold 130% Georgia,"Times New Roman";
	padding-bottom:6px;
}
.clmonth th{                                              //调整表头周一至周日的单元格样式
	border:1px solid #999999;
	border-bottom:none;
	padding:2px 8px 2px 8px;
	background-color:#D3D2A0;
	color:#2F2F2F;
	font:80% Verdana,Geneva,Arial,Helvetica,sans-serif;
	width:110px;
}
.clmonth td{                                               //调整所有日期单元格样式
	height:100px; 
	border:1px solid #AFAFAF;
	font:80% Verdana,Geneva,Arial,Helvetica,sans-serif;
	padding:2px 4px 2px 4px;
	vertical-align:top;
}
.clmonth ul{                                               //调整填写的安排内容样式
	list-style-type:none;
	margin:0;
	padding-left:12px;
	padding-right:6px;                
}
.clmonth li{
	margin-bottom:8px;               
}
.clmonth td.previous,.clmonth td.next{                    //调整上月和下月的日期单元格样式
	background-color:#F5F4E6;                         //背景色
	color:#A6A6A6;                                    //前景色
} 
.clmonth td.active{                                       //调整本月添加安排的单元格样式
	background-color:#B1CBE1;                         //背景颜色
	color:#2B5070;                                    //前景色
	border:2px solid #4682B4;                         //边框
}	

	在做之前,自己一直都半信半疑,利用CSS,就可以做出日历来吗?但自己又真的很想做出一个日历来,就这样带着怀疑去实现它。最后,日历做出来了,自我感觉比很多地方的都要好。简单,大方,美观,都可以称得上吧。
	从进入B/S学习阶段以来,自己了解到<table>其实越来越不被使用的,大都采用DIV节点设计网页。但做完后发现,其实用table做日历,效果很好啊。 不能说不常用了就哪都不使用了,有时候还是可以利用它完成很多不错的设计的吧。
 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
好的,以下是一个简单的日历制作过程: 1. HTML 结构 首先,我们需要定义一个 HTML 结构来构建日历。可以使用 `<table>` 标签来实现。代码如下: ```html <table> <thead> <tr> <th colspan="7" class="month"></th> </tr> <tr> <th>日</th> <th>一</th> <th>二</th> <th>三</th> <th>四</th> <th>五</th> <th>六</th> </tr> </thead> <tbody class="days"></tbody> </table> ``` 2. CSS 样式 接着,我们需要添加一些 CSS 样式来美化日历。可以使用 CSS3 的 flexbox 布局,让日历表格更加美观。代码如下: ```css table { border-collapse: collapse; width: 100%; } th { padding: 10px; text-align: center; } td { padding: 10px; text-align: center; border: 1px solid #ccc; } .month { font-size: 20px; font-weight: bold; } .days { display: flex; flex-wrap: wrap; justify-content: space-between; } ``` 3. JavaScript 逻辑 最后,我们需要使用 JavaScript 来动态生成日历内容。可以使用 Date() 对象来获取当前日期和月份,然后根据当前月份生成当月的日期。代码如下: ```javascript // 获取当前日期和月份 const date = new Date(); let year = date.getFullYear(); let month = date.getMonth() + 1; // 设置月份 const monthEl = document.querySelector('.month'); monthEl.innerText = `${year}年${month}月`; // 获取当月天数 const days = new Date(year, month, 0).getDate(); // 生成当月日期 const daysEl = document.querySelector('.days'); let html = ''; for (let i = 1; i <= days; i++) { html += `<td>${i}</td>`; } daysEl.innerHTML = html; ``` 以上就是制作简单日历的过程,你可以根据自己的需求进行样式和功能的更改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值