CSS属性和选择器
css的语法结构仅仅有三部分组成:选择器(Selector)、属性(property)、和值(value)。
使用方法:
selector {Property:value;}
选择器(Selector)指这组样式编码所要针对的对象。可以是一个XHTML标签,如body,h1;也可以是定义了特定的ID或CLASS的标签,如#main选择器表示选择<div id="main">,即一个被指定了main为id的对象。浏览器将对css选择器进行严格的解析,每一组样式均会被浏览器应用到对应的对象上。
属性(Property)是CSS样式控制的核心,对于每一个XHTML中的标签,CSS都提供了丰富的样式属性,如颜色、大小、定位、浮动方式等。
值(value)是指属性的值,形式有两种,一种是指定范围的值,如float属性,只可能应用left,right,none三种值;另一种则是用数值的,如width能够使用0-9999,或其它数学单位来指定。
在实际应用中,我们往往使用以下类似的应用形式:
body {background-color:blue;}
选择器有3类:ID选择器,类选择器和HTML标签选择器。其中优先级为:ID选择器 > 类选择器 > HTML标签选择器。
ID选择器
ID是网页中用来标识HTML中一个特定元素的,ID选择器在CSS中用#号来定义。
例:
HTML中:
<span id="special">栏目二</span>
CSS中:
#special { font-size:14px; }
CLASS选择器(类选择器)
class则是网页中用来标识一组特定元素的,类选择器在CSS中用.号来定义。
例:
HTML中:
<span class="menu3">栏目三</span>
CSS中:
.menu3 span { color:#00f; font-size:40px; }
标签选择器 (类型选择器)
类型选择器,是指以网页中已有的标签类型作为名称的选择器。body是网页中的一个标签类型,div也是,span也是。因此以下选择器都是类型选择器,而它们将控制页面中所有的body或div或span:
body{} div{} span{}
当然,CSS也提供了便捷的语法:
①.除了对单个XHTML元素进行样式指定,同样可以对一组对象进行相同的样式指派,使用逗号对选择器进行分隔。
h1,h2,h3,p,span{font-size:12px; font-family:arial;}
使得页面中所有的h1,h2,h3,p,span都将具有相同的样式定义。这样做的好处是对于页面中需要使用同样式的地方只需要书写一次样式表即可实现,减少代码量,改善css代码的结构。
②.可以对某一个对象的子对象进行样式设定, 对象之间使用空格作为个分隔符。
例:
HTML中:
<h1>这是我们的一段文本 <span>这是span内的文本</span> </h1> <h1>单独的h1</h1> <span>单独的span</span> <h2>被h2标签套用的文本 <span>这是h2下的span</span> </h2>
CSS中:
h1 span{font-weight:bold;}
h1标签之下的span标签将被应用font-weight:bold的样式设置。注意,仅仅对有此结构的标签有效,对于单独存在的h1或单独存在的span及其他非h1标签下属的span均不会应用此样式。这样做能够帮助我们避免过多的ID及CLASS的设置,直接对所需设置的过犹不及进行设置。
还有:
h1 .p1 {} /*表示h1标签下的所有class为p1的标签。*/ #content h1{} /*表示id为content的标签下的所有h1标签。*/
当然多级也是支持的,如以下选择器样式同样能够作用:
body h1 span stront{ font-weight=bold;}
css还提供了一些特殊标签的表示方法:
①.用*号来泛指所有的元素
* { margin:0PX; padding:0Px; border:0px; }
②.body中设置全文的样式
body { font-size:14px; }
③.a:link,a:hover,a:visited 可以设置 鼠标未移上、经过、访问过后的超链接样式
a:link,a:visited { /*鼠标未移上去的超链接的样式*/ /*访问过后的超链接的样式*/ color:#000; text-decoration:none; } a:hover { /*鼠标移上去的超链接的样式*/ color:#00f; text-decoration:underline; }
④.居中对齐方式:
text-align :center; /*文本水平对齐*/ line-height:2px; /*(数值与行高相同,则自动垂直对齐)*/ vertical-align:middle; /*元素垂直对齐*/
<html> <head> <title>文档标题</title> </head> <body> <p style="color:Blue;font-Style:Italic;">我是内联样式</p> <p style="color:Red">我使用的是Style属性</p> </body> </html>
<html> <head> <title>文档标题</title> <style type="text/css"> h1 {color:marron;} p {color:hotpink; font-familiy:Arial;} </style> </head> <body> <h1>我是内部样式表</h1> <p>我使用的是Style元素</p> </body> </html>
<html> <head> <title>文档标题</title> <link href="cssTest.css" rel="stylesheet",type="text/css"/> </head> <body> <h1>我是外部样式表</h1> <p>我使用的是Link元素</p> </body> </html>
h1 {color:marron;} p {color:hotpink; font-familiy:Arial;}