CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现 HTML 或 XML 等文件式样的计算机语言。
DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。
<div id="mContainer"></div>
<input class="btn" id="pauseBtn" onclick="doPause()" type="button" value="pause" />
建立一个层,设置id为mContainer,作为图片的容器层。
设置一个按钮来控制图片切换的暂停与继续。
我们看下面的CSS代码:
#mContainer {
width:225px
position:relative
height:168px
}
.mPhoto {
filter:Alpha(opacity=0)
left:0px
position:absolute
top:0px
moz-opacity:0.0
}
.btn {
border-right:#000 1px solid
border-top:#000 1px solid
margin-top:5px
font-size:9px
border-left:#000 1px solid
width:40px
border-bottom:#000 1px solid
font-family:verdana
}
这些代码我们都能看明白,需要指出的是类mPhoto的样式定义。
主要是应用了滤镜将图片的透明度设置为零,完全透明。
我们看下面的javascript脚本:
var currentPhoto = 0
var secondPhoto = 1
var currentOpacity = new Array()
var imageArray = new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg")
var FADE_STEP = 2
var FADE_INTERVAL = 10
var pause = false
function init() {
currentOpacity[0]=99
for(i=1i<imageArray.lengthi++)currentOpacity[i]=0
mHTML=""
for(i=0i<imageArray.lengthi++)mHTML+="<div id=\"photo\" name=\"photo\" class=\"mPhoto\"><img src=\"" + imageArray[i] +"\"></div>"
document.getElementById("mContainer").innerHTML = mHTML
if(document.all) {
document.getElementsByName("photo")[currentPhoto].style.filter="alpha(opacity=100)"
} else {
document.getElementsByName("photo")[currentPhoto].style.MozOpacity = .99
}
mInterval = setInterval("crossFade()",FADE_INTERVAL)
}
function crossFade() {
if(pause)return
currentOpacity[currentPhoto]-=FADE_STEP
currentOpacity[secondPhoto] += FADE_STEP
if(document.all) {
document.getElementsByName("photo")[currentPhoto].style.filter = "alpha(opacity=" + currentOpacity[currentPhoto] + ")"
document.getElementsByName("photo")[secondPhoto].style.filter = "alpha(opacity=" + currentOpacity[secondPhoto] + ")"
} else {
document.getElementsByName("photo")[currentPhoto].style.MozOpacity = currentOpacity[currentPhoto]/100
document.getElementsByName("photo")[secondPhoto].style.MozOpacity =currentOpacity[secondPhoto]/100
}
if(currentOpacity[secondPhoto]/100>=.98) {
currentPhoto = secondPhoto
secondPhoto++
if(secondPhoto == imageArray.length)secondPhoto=0
pause = true
xInterval = setTimeout("pause=false",2000)
}
}
function doPause() {
if(pause) {
pause = false
document.getElementById("pauseBtn").value = "pause"
CSS按其位置可以分成三种:内嵌样式(Inline Style)
内部样式表(Internal Style Sheet)
外部样式表(External Style Sheet)
内嵌样式(Inline Style)
Inline Style是写在Tag里面的。内嵌样式只对所在的Tag有效。
<P style="font-size:20ptcolor:red">这个Style定义<p></p>里面的文字是20pt字体,字体颜色是红色。</p>
内部样式表(Internal Style Sheet)
内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。
<HTML>
<HEAD>
<STYLE type="text/css">
H1.mylayout {border-width:1border:solidtext-align:centercolor:red}
</STYLE>
</HEAD>
<BODY>
<H1 class="mylayout">这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
内部样式表(Internal Sytle Sheet)要用到Style这个Tag,写法如下:
<STYLE type="text/css">
......
</STYLE>
外部样式表(External Style Sheet)
如果很多网页需要用到同样的样式(Styles),用什么方法呢?
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
比如可以用文本编辑器(NotePad)建立一个叫home的文件,文件后缀不要用.txt,改成.css。文件内容如下:
H1.mylayout {border-width: 1border: solidtext-align: centercolor:red}
然后你建立一个网页,代码如下:
<HTML>
<HEAD>
<link href="../asdocs/css_tutorials/home.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<H1 class="mylayout">这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
使用外部(Extenal)样式表,相对于内嵌(Inline)和内部式(Internal)的,有以下优点:
样式代码可以复用。一个外部CSS文件,可以被很多网页共用。
便于修改。如果要修改样式,只需要修改CSS文件,而不需要修改每个网页。
提高网页显示的速度。如果样式写在网页里,会降低网页显示的速度,如果网页引用一个CSS文件,这个CSS文件多半已经在缓存区(其它网页早已经引用过它),网页显示的速度就比较快。
参考资料:http://www.blabla.cn/css_tutorials/001_CSS_Overview.html