网页由什么构成?
英文全名:cascading style sheets(百度百科) === cascading style sheet
层叠样式表,WEB标准中的表现标准语言,表现标准语言在网页中主要对网页信息的显示进行控制,简单说就是如何修饰网页信息的显示样式。
目前推荐遵循的是W3C发布的CSS3.0. 用来表现XHTML或者XML等样式文件的计算机语言。
1998年5月21日由w3C正式推出的css2.0
CSS编写语法
样式的创建(内部样式 外部样式 内联样式)、两种引入外部样式表的区别
A、内部样式
语法:
<style type="text/css">
/*css语句*/
</style>
注:使用style标记创建样式时,最好将该标记写在<head></head>;
B、外部样式
*方法一:外部样式表的创建:
<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称" />
说明:
使用link元素导入外部样式表时,需将该元素写在文档头部,即<head>与</head>之间。
rel(relation):用于定义文档关联,表示关联样式表;
type:定义文档类型;
*方法二:外部样式表的导入
<style type="text/css">
@import url(目标文件的路径及文件名全称);
</style>
注:@和import之间没有空格 url和小括号之间也没有空格;必须结尾以分号结束;
C、内联样式 (行间样式,行内样式,嵌入式样式)
语法:<标签 style="属性:属性值;属性:属性值;"></标签>
两种引入外部样式表link和import之间的区别
差别1:本质的差别:link属于XHTML标签,而@import完全是CSS提供的一种方式。
- 差别2:加载顺序的差别:当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。
差别3:兼容性的差别:@import是CSS2.1提出的,所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。
-
差别4:使用dom(document object model文档对象模型)控制样式时的差别:
当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的.
样式表的优先级
- A、内联样式表的优先级别最高
- B、内部样式表与外部样式表的优先级和书写的顺序有关,后书写的优先级别高。
CSS选择符(选择器)
常用的选择符有十种左右:
类型选择符,id选择符,class选择符,通配符,群组选择符包含选择符,伪类选择符(伪类选择符CSS中已经定义好的选择器,不能随便取名),伪对象选择符(设置在对象后发生的内容。用来和content属性一起使用)
-
元素选择符/类型选择符(element选择器 )
语法:元素名称{属性:属性值;}
说明:
元素选择符就是以文档语言对象类型作为选择符,即使用结构中元素名称作为选择符。例如body、div、p,img,em,strong,span......等。 所有的页面元素都可以作为选择符;
用法:
1)如果想改变某个元素得默认样式时,可以使用类型选择符; (如:改变一个div、p、h1样式) 2) 当统一文档某个元素的显示效果时,可以使用类型选择符 (如:改变文档所有p段落样式)
-
id选择器
语法:#id名{属性:属性值;}
说明:A)当我们使用id选择符时,应该为每个元素定义一个id属性 如:<div id="div1"></div> B)id选择符的语法格式是“#”加上自定义的id名 如:#box{width:300px; height:300px;} C) 起名时要取英文名,不能用关键字:(所有的标记和属性都是关键字) 如:head标记 D)一个id名称只能对应文档中一个具体的元素对象,因为id只能定义页面中某一个唯一的元素对象。 E) 最大的用处:创建网页的外围结构。
-
class选择器
语法:.class名{属性:属性值;}
说明:A)当我们使用class选择符时,应先为每个元素定义一个类名称 B)class选择符的语法格式是:"如:<div class="top"></div>"
用法:class选择符更适合定义一类样式;
- *通配符
语法:*{属性:属性值;}
说明:通配选择符的写法是“*”,其含义就是所有元素。
用法:常用来重置样式。 - 群组选择器
语法:选择符1,选择符2,选择符3{属性:属性值;}
说明:当有多个选择符应用相同的样式时,可以将选择符用“,”分隔的方式,合并为一组。 - 包含选择器
语法:选择符1 选择符2{属性:属性值;}
说明:选择符1和选择符2用空格隔开,含义就是选择符1中包含的所有选择符2;
用法:当我的元素存在父级元素的时候,我要改变自己本身的样式,可以不另加选择符,直接用包含选择器的方式解决。
7.伪类选择器(伪类选择符)
语法 :
a:link{属性:属性值;}超链接的初始状态;
a:visited{属性:属性值;}超链接被访问后的状态;
a:hover{属性:属性值;}鼠标悬停,即鼠标划过超链接时的状态;
a:active{属性:属性值;}超链接被激活时的状态,即鼠标按下时超链接的状态;
要让他们遵守一个爱恨原则LoVe/HAte,也就是Link--visited--hover--active。
说明:
A)当这4个超链接伪类选择符联合使用时,应注意他们的顺序,正常顺序为:
a:link,a:visited,a:hover,a:active,错误的顺序有时会使超链接的样式失效;
B)为了简化代码,可以把伪类选择符中相同的声明提出来放在a选择符中;
例如:a{color:red;} a:hover{color:green;} 表示超链接的三种状态都相同,只有鼠标划过变颜色。
-
CSS选择符的权重
css中用四位数字表示权重,权重的表达方式如:0,0,0,0
第一等:代表内联样式,如: style=””,权值为1000。
第二等:代表ID选择器,如:#content,权值为0100。
第三等:代表类,伪类和属性选择器,如.content,权值为0010。
第四等:代表类型选择器和伪元素选择器,如div p,权值为0001。
通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。继承的样式没有权值。
* 当不同选择符的样式设置有冲突的时候,高权重选择 符的样式会覆盖低权重选择符的样式。 例如:b .demo的权重是1+10=11 .demo的权重是10 所以经常会发生.demo的样式失效 * 相同权重的选择符,样式遵循就近原则:哪个选择符最后定义,就采用哪个选择符样式。 (注意:是css样式中定义该选择符的先后,而不是html中使用先后)
-
浮动属性的简单应用
语法:float:none/left/right;
float:定义网页中其它文本如何环绕该元素显示
浮动的目的:就是让竖着的东西横着来
有三个取值:left:元素活动浮动在文本左面 right:元素浮动在右面 none:默认值,不浮动。
-
页面中的注释
Html注释 <!-- 我是div的页面注释 --> css的注释 /* 我是css的注释 */
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。