通过在CSS中设置属性,我们可以准确的定义一个页面的样式,如颜色、字体、边框等。现在我们要讲的CSS定位主要是在页面的布局和控制上进行定义,使您的页面从这两个方面都展现的非常完美,更加富有动感。
另外,在讲解之前,我们首先介绍两个定义:相对定位和绝对定位。相对定位就是允许在文档的原始位置上进行偏移。而绝对定位则允许任意定位。
【全文】
通过在CSS中设置属性,我们可以准确的定义一个页面的样式,如颜色、字体、边框等。现在我们要讲的CSS定位主要是在页面的布局和控制上进行定义,使您的页面从这两个方面都展现的非常完美,更加富有动感。
另外,在讲解之前,我们首先介绍两个定义:相对定位和绝对定位。相对定位就是允许在文档的原始位置上进行偏移。而绝对定位则允许任意定位。
实现CSS的定位最终还是要靠属性。我们来看一下定位属性的详细列表(见下图):
我们在下面举一个例子,其中带了一点Script的内容,我们来看看它是如何实现动态显示的。讲解之前我们还是先看一下这个例子的效果吧,请点击这里
看,通过简单的CSS定位实现了颇具动感的效果。这种效果的代码如下:
<html>
<head>
<title>dingwei css</title>
<style type=“text/css”>
<!--
#container1{position:absolute;top:100}
//*定义container1 为绝对位置*//
#container2{position:absolute;top:100;visibility:hidden;}
//*定义container2为绝对定位,初始可见度为hidden(隐藏)*//
p{font-size:12pt;}//*定义p的字体*//
-->
</style>
</head>
<body>
<p style=“font-family:行书体;font-size:15pt;color:#cc33cc”>
请选择一幅图片: </p>//*设置字体大小、名称、颜色*//
<div id=“container1”>
<dd><img src=“ss01065.jpg” width=“185”height=“280”>
//*导入一张图片,标识符为container1*//
<p style=“font-family:行书体;color:#cc9933;font-size:12pt”>
名称:大漠</p>//*设置字体名称、颜色、大小*//
</dd>
</div>
<div id=“container2”>
<dd><img src=“ss01095.jpg” width=“185”height=“280”>
//*导入另一种图片,标识符为container2*//
<p style=“font-family:行书体;color:#3366cc;font-size:12pt”>
名称: 大海</p>
</dd>
</div>
<form name=“myform”>//*定义两个按钮*//
<p><input type=“button” value=“大漠”
οnclick=“container1.style.visibility=‘visible’;
container2.style.visibility=‘hidden’”>
//*定义鼠标点击事件图片1为可见,图片2为不可见*//
<input type=“button” value=“大海”;
container1.style.visibility=‘hidden’;
οnclick=“container2.style.visibility=‘visible’;
container1.style.visibility=‘hidden’”></p>
//*定义鼠标点击事件图片1为不可见,图片2为可见*//
</form>
</body>
</html>
代码虽然长了一些,但结构很简单,您只要用心看注释,很容易理解的。下一节我将向您继续介绍一个CSS定位的例子。
2.空间定位
在这一节里,我们来看一个利用z-index定位的例子,这个例子的效果在这里。
我们看到例子中的两幅图片和一段文字分别处于不同的空间位置,文字覆盖在那朵花的图片上,而挥动小旗的小老鼠却又覆盖在文字的上面。那么这种效果是怎样实现的呢?这里利用了CSS定位的z-index属性,代码如下:
<html>
<head>
<title>zindex</title>
<style type=“text/css”>
<!--
.pile{position:absolute;left:2in;top:2in;
width:3in;height:3in;}//*定义了类pile,以及它的位置*//
.pile1{position:absolute;left:3in;top:2in;
width:1in;height:1in;} //*定义了类pile1,以及它的位置*//
-->
</style>
</head>
<body>
<img src=“ss01010.jpg” class=“pile” id=“image”
style=“z-index:1”>
//*导入一张图片,使它为pile类,z-index属性定义为1,位置处于最下方
*//
<div class=“pile” id=“text1”
style=“color:#ffff33;z-index:2” > 这段文字将覆盖在图片上。
</div>//*定义一段文字的颜色和z-index属性为2,处于中间位置*//
<img src=“075.gif” class=“pile1” id=“image”
style=“z-index:3”>
//*导入第二张图片,使它为“pile1”类,z-index属性为3,位置处于最上
方*//
</body>
</html>
利用好了CSS的定位功能,会使您的页面更加精致,更加富有动感。
动态CSS,换肤技术
见的例子就是:一个站点上有多个页面样式提供浏览者选择.
同时,在选择了某样式后,再次打开该页面时,将仍然保持该样式.
自然会想到了Cookie技术
<HEAD>
<link ID="skin" rel="stylesheet" type="text/css">
<TITLE>换肤技术</TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function SetCookie(name,value){
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(2<argc)?argv[2]:null;
var path=(3<argc)?argv[3]:null;
var domain=(4<argc)?argv[4]:null;
var secure=(5<argc)?argv[5]:false;
document.cookie=name "=" escape(value) ((expires==null)?"":("; expires=" expires.toGMTString())) ((path==null)?"":("; path=" path)) ((domain==null)?"":("; domain=" domain)) ((secure==true)?"; secure":"");
}
function GetCookie(Name) {
var search = Name "=";
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset = search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset,end));
}
}
return returnvalue;
}
var thisskin;
thisskin=GetCookie("nowskin");
if(thisskin!="")
skin.href=thisskin;
else
skin.href="css.css";
function changecss(url){
if(url!=""){
skin.href=url;
var expdate=new Date();
expdate.setTime(expdate.getTime() (24*60*60*1000*30));
//expdate=null;
//以下设置COOKIES时间为1年,自己随便设置该时间..
SetCookie("nowskin",url,expdate,"/",null,false);
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<P>请选择下面的下拉菜单测试换肤效果</P>
<a href=# οnclick="changecss('css.css')">css.css</a>
<a href=# οnclick="changecss('css1.css')">css1.css</a>
<a href=# οnclick="changecss('css2.css')">css2.css</a>
<a href=# οnclick="changecss('css3.css')">css3.css</a>
<br>
<select οnchange="changecss(this.value)">
<option>选择样式单文件</option>
<script language="javascript">
var csss=new Array();
csss[0]="css.css";
csss[1]="css1.css";
csss[2]="css2.css";
csss[3]="css3.css";
var i;
for(i=0;i<4;i )
if(thisskin==csss[i])
document.write("<option value=/"" csss[i] "/" selected>" csss[i] "样式单文件</option>");
else
document.write("<option value=/"" csss[i] "/">" csss[i] "样式单文件</option>");
</script>
</select>
</BODY>
</HTML>