每个CSS语句都由选择符,样式属性,属性值组成:
selector {property:value;......} /*注意:value不要加引号*/父标签的特性会被子标签继承。
/*CSS*/ p{color:red;} <!--HTML--> <p>hello<b>world</b></p> <!--这里的 world 将会显示为红色,因为标签继承了父标签p-->与html的注释:
<!--这里是要注释的内容-->不同,在CSS中用:
/*这里是要注释的内容*/进行注释。
当不同的选择符共用一样的CSS样式时,可以将多个选择符写在同一语句中,中间用逗号隔开:
selector,selector {property:value; property:value; ...}即将html中的标记作为选择符,那么在对应标记中的内容将使用相应的CSS样式。
例如:
/*CSS*/ body { color:red;}基本语法:
(标记名).类名{样式属性:取值; ......}其中标记名是可以省略的。当标记名被省略时,对所有有 class=类名 的标记都可以使用相应样式;当写有标记名时,只有具有class=类名并且标记为相应标记名时才会运用相应的CSS样式。
例如:
/*CSS*/ p.test{color:red;} <!--HTML--> <!--p中字体颜色为红,运用了样式--> <p class='test'>hello world</p> <!--h1中没有运用样式--> <h1 class='test'>hello world</h1>在HTML文档中运用id标识一个唯一的元素,id选择符对这一个唯一的元素进行样式定义。
例如:
/*CSS*/ #test{color:red;} <!--HTML--> <p id='test'>hello world</p>包含选择符对标记1中的标记2进行样式定义,而不在标记1中的标记2无法运用对应样式。
例如:
/*CSS*/ p b{color:red;} <!--HTML--> <!--运用了样式--> <p><b>hello world</b></p> <!--没有运用样式--> <b>hello world</b>用来定义元素的某种状态时的样式,使用最广泛的是对于超链接的样式定义。
未访问的链接状态(a:link)已访问的链接状态(a:visited)鼠标停在链接上的状态(a:hover)被激活(点击瞬间)的状态(a:active)例如:
/*CSS*/ a:link{color:red;} /*应用该样式的网页中的链接在未被点击访问时字体为红色*/即直接在标记中进行样式定义,这样样式只在该标记中有效,基本语法:
<标记 style=property:value; property:value;...> </标记>将样式定义放在head中,这样对整个文件都有效。
例如:
<!--HTML--> <html> <head> <style type='text/css'> <!-- /*这里是CSS定义*/ --> </style> </head> </html>要将CSS定义放在HTML注释中是为了防止当浏览器不支持CSS时,CSS代码直接显示在网页中。
这种方式使用link标签链接外部的.css文件。
例如:
<!--HTML--> <html> <head> <link rel='stylesheet' type='text/css' href='url' /> </head> </html>其中的rel,type当使用CSS时为固定格式,href为css文件地址。
导入外部样式表是在内嵌样式表中导入外部.css文件。
例如:
<!--HTML--> <html> <head> <style type='text/css'> @import url(addr); ... ... </style> </head> </html>其中的addr为外部样式表的地址。
如果有不同的样式表且定义有冲突,那么究竟使用哪一个定义呢? 样式表的优先级如下:
行内样式链接外部样式表内嵌样式表导入外部样式表