1.CSS的思想
首先:指定对什么对象(元素/标签)进行设置;
然后:指定设定该对象哪个样式属性;
最后:给出要设置的“值”。
打个比方就是,給某个房子的外墙刷上红色/给某个房子的内墙刷上蓝色/給所有女演员的发型做成卷曲型。
概括来说,CSS就是由三个基本部分组成的:“对象”、“样式属性”和“值”。
2.区分两个属性的说法:
html属性:写在标签中,形式为: 属性名=“属性值”——此引号可以省略,但强烈推荐不省略
——也可以叫“标签属性”
——html属性通常是“各个标签的自有属性,一般不一样”
——使用相同html属性的标签极少
css属性: 写在选择器的大括号中,形式为: 属性名:属性值——特别注意,值不可以加引号
——也可以叫“样式属性”
——css属性通常是 “对各个标签都可用”,一般都一样
——不使用相同css属性的标签极少
3.CSS能够让我们将网页从以下两个方面来控制网页的外观:
批量控制网页的外观,使我们节省劳力。
精确控制网页的外观,到像素级别。
框架标签
<frameset cols=”将当前窗口按列分割” rows=”将当前窗口按行分割”>
<frame src=”网页1路经url” name=”名字” noresize=”noresize”(不能改变窗口大小) Scrolling=”Auto(在需要时有滚动条)/Yes(始终有滚动条)/No(不为框架提供滚动条)”/>
<frame src=”网页2路经url” name=”名字” />
……
</frameset>
cols的值
cols的值是连续的表示列的宽度的数字或百分数,相互之间用(,)分开,其中“*”号表示“其余”的宽度。比如:
cols=”100,800” :表示将大窗口按列分割成2个小窗口,第一个为100宽,第二个为800宽
cols=”100,200,*”:表示将大窗口按列分割成3个小窗口,第一个为100宽,第二个为200宽,其余给第三个
cols=”15%, *”:表示将大窗口按列分割成2个小窗口,第一个为总宽的15%,其余给第二个
rows的值
rows的值是连续的表示行的宽度的数字或百分数,相互之间用(,)分开,其中“*”号表示“其余”的宽度。比如:
rows=”100,200,*”:表示将大窗口按行分割成3个小窗口,第一个为100宽,第二个为200宽,其余给第三个
row=”20%, *”:表示将大窗口按行分割成2个小窗口,第一个为总宽的20%,其余给第二个
frame标签属性
frameborder :设置是否显示框架边框。设定值只有0、1;0 表示不显示边框,1 表示要显示边框。
marginwidth:设置框架边界和其中内容之间的间隔。
marginhight:设置框架边界和其中内容之间的间隔。
注:使用框架标签(frameset)就不能使用body标签——即body标签使用frameset标签代替。
使用frameset标签就要使用framseset文档类型。
一个frameset只能按某一个方向(列或行)进行分割。
Cascading Style Sheet(层叠样式表,CSS)
<style type="text/css">
选择器 { css属性名1:值1;css属性名2:值2;…… }
</style>
选择器分类
标签选择器:
形式: 标签名 { …….. }
举例: font {color:red; font-size:18px;}
含义: 指代(对应)网页中的所有该标签都应用其中的属性设置。
类选择器:
形式: .类名 { …… }
举例:<style> .cc1{color:red;} </style>
<h1 class=”cc1”>内容</h1>
含义: 指代(对应)网页中的class的值为该类名的所有标签都应用该属性设置。
ID选择器:
形式: #id名{ …… }
举例: <style> #d1{color:red;} </style>
<h1 id=”d1”> 内容</h1>
含义: 指代(对应)网页中的id的值为该名称的该标签都应用该属性设置。
注意:一个网页中的id名不要相同,因为id本身就是表示“唯一”的意思。
通用选择器:
形式: *{ ….. }
含义: 其自动指代“所有标签”,即所有标签都应用该属性设置。
注意: 通用选择器慎用,通常只用于设置基本的几个属性,比如文字颜色,文字大小,padding,margin。通用选择器只有这一个形式(符号)。
伪类选择器:
形式: :伪类名 { …… }
注意: 伪类名其实只有系统内部规定的不多的几个,不是我们自己定义的,比如:link, visited, hover, active.他们的含义也是特定的。通常上述几个伪类只用于a标签,则其形式和含义通常为:
a:link{ …… } :表示一个a链接标签在网页初始打开的时候的状态(初始链接状态)
a:visited{…..} :表示一个a链接标签在点击(访问)过之后的时候的状态(访问后状态)
a:hover{….} :表示一个a链接标签在鼠标放上去的时候的状态(悬停状态)
a:active{….} :表示一个a链接标签在鼠标摁住但还没有抬起的状态(活动状态)。
不过,最新的浏览器中,出于安全考虑,a的hover和visited效果有些属性不能用了。
复合选择器之:层级选择器
形式: 选择器1 选择器2 { ……… }
含义: 在选择器1所对应的标签中由选择器2所对应的那些标签。其中,选择器1和选择器2可以是前面所学的任意某种选择器,而且这种层级关系还可以多层次,比如:
#d1 div{…...}
.cc1 p span{…..}
p .cc2 img{…..}
#d1 p a:hover{….}
复合选择器之:分组选择器
形式: 选择器1,选择器2 { ……… }
含义:指这两个选择器都使用同样的属性设置,其实无非是简缩代码的一种写法,否则他们得用两个选择器来写。比如:
旧的写法:.a {color:red; font-size:15px;}
.b{ color:red; font-size:15px;}
新的写法:.a, .b{ color:red; font-size:15px;}
注:其他复合形式(举例):
div.cc1{…} :代表具有class值为cc1的div标签,它跟 div .cc1{…}是完全不同的。
p#d1{…} :代表具有id值为d1的p标签,但这种形式其实并不推荐(意义不大)。