既然要学习研究DIV+CSS,那当然逃不掉要去编写CSS样式表文件,所以就涉及到一个关于样式表里定义样式的名称问题,标准说法是Selector,选择器。这名字我觉得别扭,我暂且理解为样式名称吧。定义一个样式,你可以使用ID,也可以用Class,用于给HTML的各种元素定义显示效果。ID的CSS定义是以"#"开头,Class的CSS定义是以"."开头的。
先说id这个东东,由它定义的样式,理论上(W3C标准)只能给拥有这个id的唯一的元素使用,实际上其他元素要是被指定了这个id,也是可以用的,不过由于很多JS或者程序动态的功能实现是依靠id来进行的,那你就要注意了,到时候页面会出乱子的,有些浏览器也不支持多个元素使用同一个id。所以最好还是页面上只有一个元素使用这个id,毕竟规范之后,什么都好办。基于此,在咱们布局页面大框架的时候,可以使用id方式来定义,比如页面的头部header,内容部分content,页脚footer,导航nav等等,或者为同一个页面上不同的栏目块来定义样式,因为页面上这些框架部分是唯一的,基本就出现一次,如果有子内容,也可以用使用子id来命名,尽量避免多个元素使用同一个id来控制样式。id的css定义方式如下:
#header{width:800px;background-color:#D2D2D2;font-size:14px;color:#CC3333;}
#footer{width:800px;background-color:#D2D2D2;font-size:14px;color:#CC3333;}
页面中HTML代码里使用的话这样既可:<div id="header">页头部分</div>、<div id="footer">页头部分</div>。
再说class这个东东,由它定义的样式,可以给页面上多个元素使用,使用次数不限,基本上网页上的各种具体细节的东西,都可以用class来,比如文字大小,颜色,粗细,背景色,背景图像,图片的边框等等,根据你自己的实际需要来决定。
例如下面的:
.headertext{text-align:center;font-size:14px;color:#3333FF;font-weight:bold;}
.contenttext{text-align:center;font-size:12px;color:#000000;font-weight:normal;}
.footertext{text-align:center;font-size:14px;color:#999999;font-weight:bold;}
页面中HTML代码里使用的话这样既可:<div class="headertext">页头部分</div>、<div class="contenttext">内容部分</div>、<div class="footertext">页头部分</div>。
也可以使用HTML的元素名来定义样式,比如下面这种:
p{text-align:center;font-size:14px; color:#3333FF;font-weight:bold;}
span{font-size:14px;color:#FF0000;font-weight:bold;}
pre{text-align:center;font-size:14px;color:#339933;font-weight:bold;}
上面这种定义范围很大,如果没有单独指定class,页面上所有<p><span><pre>开头的元素都使用上面对应的样式定义,所以为了你后期能维护更新方便,还是给不同位置不同用途的同一种HTML元素,指定不同的class样式,而不用牵一发而动全身。
最后说说这样式名称命名的问题,不管是id也好,class也好,起名的时候最好是你自己能一眼干出来是干嘛用的,是用在页面上那个地方的,这样便于你以后查找更新,或者在css文件里加上注释,这样对以后非常有好处。按规矩,名称里第一个字符不要是数字开头,很多浏览器不支持,最好用英文或者拼音,看你自己的使用习惯吧。
我学习的时间也不长,还不到一个月,所以样式表里的很多技巧和写法我还不是很清楚,只能自己慢慢摸索,碰到迷惑的地方就Google一下,基本上很多问题都能解决,所以,善用搜索,很多问题肯定不止咱们遇到,初学者都会有很多疑问,我学习也基本上就是自己搜索+在DW里实验,然后用在具体的页面上,最后在看看同一个页面的样式定义在不同浏览器里有啥不同,为了这兼容性的问题,俺现在电脑上成了浏览器大全了,IE8、Chrome、Chromium、Opera、Firefox、Safari一个不差,等IE9正式发布了,还得整一个,因为系统用的是Windows7,所以要用IE6或IE7的话,只能装个虚拟机了,或者干脆抛弃IE6和IE7算了,与时俱进吗。毕竟HTML5和CSS3出现的时间也不短了,希望大家都能体验一下HTML5和CSS3的强大。这次就罗嗦到这吧。
另外说明一下,这些个心得都是个人体会,如果有错误的地方麻烦高手指出,多谢您的支持。[Edit on 2011-2-7 22:23:14 By 笑傲江湖]