属性名称
| 属性含义
| 属性值
<percentage>
|
CSS (Cascading Style Sheets)层叠式表单(样式表)
1、一种是把CSS文档放到<head>文档中:
<style type=“text/css”> …… </style>
其中<style>中的“type=‘text/css’”的意思是<style>中的代码是定义样式表单的。
2、另一种方法是把CSS样式表写在HTML的行内,比如下面的代码:
<p style=“font-size:14pt;color:blue”>蓝色14号文字</p>
这是采用<Style=“ ”>的格式把样式写在html中的任意行内,这样比较方便灵活。
3、还有一种方法是:把您编辑好的CSS文档保存成“.CSS”文件,然后在<head>中定义。定义的格式是这样的:
<head> <link rel=stylesheet href=“style.css”> …… </head>
一、属性
1、 字体属性
这是最基本的属性,您经常都会用到。它主要包括以下这些属性:
如果您用<font>属性直接定义,一定要注意属性值的排放顺序。 它的排放规则是按照“font-style”、“font-variant”、“font-weight”、“font-size”、“font-family”的顺序,其中没有定义的以默认值显示。
2、颜色和背景属性
书写格式:
属性:background 属性值:<background-color>||<background-image>|| <background-repeat>||<background-attacement>||<background-position>
3、文本属性
※定义间距
※ 装饰超链接
网页默认的链接方式是这样的:未访问过的链接是蓝色文字并带蓝色的下划线,访问过的超级链接是深紫色的文字并带深紫色的下划线。如果您所有的网页都是这种样式,是不是很单调呢?
其实,利用文本属性中的Text-decoration属性就可以实现对超链接的修饰。我们先看下面的这段代码:
<html>
<title>link css</title>
<head>
<style>
<!--
//*定义伪类元素(a:),大括号内定义了前景色属性和文本装饰属性,
hover加上‘font-size’属性目的是让鼠标激活链接时改变字体*//
a:link{color:green;text-decoration:none}
//*未访问时的状态,颜色为绿色(green),文本装饰属性(text-decoration)值
为没有(none)*//
a:visited{color:red;text-decoration:none}
//*访问过的状态,颜色为红色(red),文本装饰属性值为没有*//
a:hover{color:blue;text-decoration:overline;font-size:20pt}
//*鼠标激活的状态,颜色为蓝色(blue), 文本装饰属性值为上划(overline),
字体大小为20pt*//
-->
</style>
</head>
<body>
<p style=“font-family:行书体;font-size:18pt”>
<a href=“http://www.hongen.com”>未访问的链接</a></p>
//*加链接,显示三种不同状态,并且定义了链接文本的字体和大小*//
<p> <a href=“http://www.hongen.com”>访问过的链接</a></p>
<p> <a href=“http://www.hongen.com”>鼠标激活的链接</a></p>
</body>
</html>
您如果想看上述代码的效果,请点击这里。
我们从例子中看到没有访问过的链接以绿色显示,并且去掉了下划线;而访问过的链接以红色且没有下划线显示;另外,当鼠标激活链接时,链接以蓝色显示,并且加上了上划线。这种效果是怎么实现的呢?它除了运用了文本属性中的text-decoration属性,而且采用了伪类元素。
4、“容器”属性
※边距属性
边距属性的详细列表:
body{margin:1em 2em 3em 4em}
//*定义文本的上、右、下、左的边距分别为1、2、3、4em*//
※填充距属性
填充距的属性列表:
padding:1em 2em 3em 4em
※边框属性
边框属性列表:
P{border:5px double purple}//*定义了四条边框为一样的值*//
※图文混排
“容器”属性的其他的属性,属性列表:
5、分级属性
如果您使用过Word,那您一定知道Word中有一个“项目符号和编号”的功能。
在html中,您无需使用前面提到的一些字体、颜色、容器属性来对字体、颜色和边距、填充距等进行初始化。因为在CSS中,已经提供了进行分级的专用分级属性。
分级属性包括了“list-style”(列表样式)、“list-item”(列表项)等多种属性,我们先来看一下分级属性的详细列表:
6、鼠标属性
我们知道,当把鼠标移动到不同的地方时,当鼠标需要执行不同的功能时,当系统处于不同的状态时,都会使鼠标的形状发生改变。
用CSS来改变鼠标的属性,就是当鼠标移动到不同的元素对象上面时,让鼠标以不同的形状、图案显示。
在CSS当中,这种样式是通过“cursor”属性来实现的。Cursor属性有很多的属性值,我们来看一下它的详细列表:
四、CSS定位
1.动态转换
相对定位和绝对定位。相对定位就是允许在文档的原始位置上进行偏移。而绝对定位则允许任意定位。
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滤镜
1、概述
CSS的滤镜属性的标识符是filter。书写格式:
filter:filtername(parameters)
filtername是滤镜属性名,这里包括alpha、blur、chroma等等多种属性
alpha是来设置透明度的。先来看一下它的表达格式:
filter:alpha(opacity=opcity,finishopacity=finishopacity,
style=style,startX=startX,startY=startY,finishX=finishX,
finishY=finishY)
Opacity代表透明度等级,可选值从0到100,0代表完全透明,100代表完全不透明。 Style参数指定了透明区域的形状特征。其中0代表统一形状;1代表线形;2代表放射状;3代表长方形。
Finishopacity是一个可选项,用来设置结束时的透明度,从而达到一种渐变效果,它的值也是从0到100。 StartX和StartY代表渐变透明效果的开始坐标,finishX和finishY代表渐变透明效果的结束坐标。
3、blur属性
表达式:
filter:blur(add=add,direction,strength=strength)
我们看到blur属性有三个参数:add、direction、strength。
Add参数有两个参数值:true和false。意思是指定图片是否被改变成模糊效果。 Direction参数用来设置模糊的方向。模糊效果是按照顺时针方向进行的。其中0度代表垂直向上,每45度一个单位,默认值是向左的270度。角度方向的对应关系见下表:
Strength参数值只能使用整数来指定,它代表有多少像素的宽度将受到模糊影响。默认值是5像素。
还是看一个例子吧。点击这里看效果
看起来是不是有些像万花筒,在这个例子中加入了一些JavaScript的语句,代码如下:
<html>
<head>
<title>blur css</title>
<script>
function handlechange(obj)
//*设置一个循环函数handlechange,对象是obj*//
{ with(obj.filters(0))//*Obj的filter属性*//
{ if (strength<255)//*设置循环条件*//
{ strength +=1;direction +=45;}
//*每循环一次strength就加1,direction加45度*//
}
}
</script>
</head>
<body>
<p><img id =“img1” src=“ss01087.jpg”
style=“filter:blur(strength=1)”
onfilterchange=“handlechange(this)”>
//*导入一幅图片,初始blur属性strength等于1,同时调用onfilterchange函
数*//
</p>
</body>
</html>
注:在javascript中blur属性是这样定义的:
[oBlurfilter=] object.Filters.blur
4、Chroma属性
Chroma属性可以设置一个对象中指定的颜色为透明色,它的表达式如下:
Filter:Chroma(color=color)
chroma属性对于图片文件不是很适合。因为很多图片是经过了减色和压缩处理(比如JPG、GIF等格式),所以它们很少有固定的位置可以设置为透明。
5、DropShadow属性
DropShadow属性是为了添加对象的阴影效果的。它实现的效果看上去就像使原来的对象离开页面,然后在页面上显示出该对象的投影。看一看它的表达式:
Filter:DropShadow(Color=color,Offx=Offx,Offy=offy,
Positive=positive)
该属性一共有四个参数: Color代表投射阴影的颜色。 Offx和offy分别X方向和Y方向阴影的偏移量。偏移量必须用整数值来设置。如果设置为正整数,代表X轴的右方向和Y轴的向下方向。设置为负整数则相反。
Positive参数有两个值:True为任何非透明像素建立可见的投影,False为透明的像素部分建立可见的投影。
和chroma属性一样,Dropshadow属性对图象的支持不好.不能支持的原因与Chroma一样,因为这种图象的颜色很丰富,很难找到一个投射阴影的位置。
6、FlipH、FlipV属性
Flip是CSS滤镜的翻转属性,FlipH代表水平翻转,FlipV代表垂直翻转。它们的表达式很简单,分别是:
Filter:FlipH
Filter:FlipV
8、Glow属性
当对一个对象使用“Glow”属性后,这个对象的边缘就会产生类似发光的效果。它的表达式如下:
Filter:Glow(Color=color,Strength=strength)
Glow属性的参数只有两个:Color是指定发光的颜色,Strength指定发光的强度,参数值从1到255。
7、Gray属性
Gray属性把一张图片变成灰度图。它的表达式很简单:
Filter:Gray
只需在您定义的IMG样式中加入一句代码:
{Filter:Gray}就一切OK了。
9、Invert属性
Invert属性可以把对象的可视化属性全部翻转,包括色彩、饱和度和亮度值。
它的表达式也很简单:
Filter:Invert
我们看到Invert属性实际上达到的是一种“底片”的效果。
10、Mask属性
Mask属性为对象建立一个覆盖于表面的膜。它的表达式也很简单:
Filter:Mask(Color=颜色)
只有一个Color参数,用来指定使用什么颜色作为掩膜。
mask属性对图片文件的支持还是不够,不能达到应该有的效果。
11、Shadow属性
Shadow属性可以在指定的方向建立物体的投影。它的表达式是这样的:
Filter:Shadow(Color=color,Direction=direction)
在这里,Shadow有两个参数值:Color参数用来指定投影的颜色;Direction参数用来指定投影的方向。
这里说的方向与我们在第二节Blur属性中提到的“方向与角度的关系”是一样的。 也许您会问,前面讲到的Dropshadow属性和Shadow属性有什么不同吗?
光说的话,您恐怕还难以理解,让我们看一看分别利用这两个属性做出来的效果有什么不同(见下图):
Shadow效果 Dropshadow效果
这样一对比,就可以很明显的看出两者的不同。
Shadow属性可以在任意角度进行投射阴影,Dropshadow属性实际上是用偏移来定义阴影的。所以,看上去左图的文字和阴影就像是一体的,而右图的文字就像脱离了阴影一样。
12、Wave属性
Wave属性用来把对象按照垂直的波纹样式打乱。它的表达式如下:
Filter:Wave(Add=True(False),Freq=频率,LightStrength=增强光效,
Phase=偏移量,Strength=强度)
我们看到Wave属性的表达式还是比较复杂的,它一共有五个参数。Add参数有两个参数值:True代表把对象按照波纹样式打乱;False代表不打乱;
Freq参数指生成波纹的频率,也就是指定在对象上共需要产生多少个完整的波纹。 LightStrength参数是为了使生成的波纹增强光的效果。参数值可以从0到100。 Phase参数用来设置正弦波开始的偏移量。这个值的通用值为0,它的可变范围为从0到100。这个值代表开始时的偏移量占波长的百分比。比如该值为25,代表正弦波从90度(360*25%)的方向开始。
13、Xray属性
Xray就是X射线的意思。
Xray属性,顾名思义,这种属性产生的效果就是使对象看上去有一种X光片的感觉。 它的表达式很简单:
Filter:Xray
我们还是先来看一个页面(如下图):
如果在上面的页面中加入Xray属性,也就是在<head>的<Style>中,增添下面这一句代码:
Filter:Xray
您再看这个页面就会是另一种效果了:(如下图)
看,是不是就像给它拍了一张X光片一样。
(http://www.hongen.com/pc/homepage/css/css0101.htm)
通过使页面动态加载不同CSS实现多界面(类型于csdn的blog):
方法一:
<%@page language="C#"%>
<%@import namespace="System.Data"%>
<script language="c#" runat="server">
public void page_load(Object obj,EventArgs e)
{
//创建服务器端控件.
//指定的标记"LINK"初始化此类的新实例.
HtmlGenericControl objLink=new HtmlGenericControl("LINK");
objLink.ID=ID;
objLink.Attributes["rel"]="stylesheet";
objLink.Attributes["type"]="text/css";
objLink.Attributes["href"]="portal.css";
//此控件不产生任何可见输出,仅作为其他控件的容器,可在其中添加,插入或移除控件.
MyCSS.Controls.Add(objLink);
}
</script>
<html>
<head>
<title>c#</title>
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
</head>
<body bgColor="#ffcc66" style="FONT:9pt">
<form runat="server">
</form>
</body>
</html>
==========================================
通过动态设置页面所有同类型控件的样式来该变界面:
方法二:
可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。
代码如下:
public void page_load(Object obj,EventArgs e)
{
if(!Page.IsPostBack){
//为页面的所有控件设置样式.
SetCSS(Page.Controls);
}
}
private void SetCSS(System.Web.UI.ControlCollection vControls)
{
for(int i=0;i<vControls.Count;i++)
{
System.Web.UI.Control vControl=vControls[i];
//得到控件的类型
//可增加控件类型及相应处理方法
string PType=vControl.GetType().Name;
switch (PType)
{
case "TextBox":
TextBox_CSS ((TextBox) vControl);
break;
case "Button":
//Button_CSS ((Button) vControl);
break;
case "DataGrid":
//DataGrid_CSS ((DataGrid) vControl);
break;
}
if(vControl.Controls.Count>0)
SetCSS(vControl.Controls);
}
}
private void TextBox_CSS(TextBox tb){
tb.CssClass="TextBox_show";
}
<form runat="server">
<asp:textbox id="Search1" runat="server"/>
<asp:textbox id="Search2" CssClass="INPUT" runat="server"/>
</form>
运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show".
(http://southidc.cnblogs.com/articles/235887.html)