一、css引入的方式
1、行内样式:行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。
2、嵌入式:嵌入式是将CSS样式集中写在网页的 标签对的 标签对中。格式如下:
. ..此处写CSS样式
3、导入式:将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件, 标记也是写在 标记中,使用的语法如下:
@import"mystyle.css"; 此处要注意.css文件的路径
4、链接式:也是将一个.css文件引入到HTML文件中
注意:导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这
是导入式固有的一个缺陷。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样
先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。
二、css的选择器
[选择器]指明了{}中的[样式]的作用对象,也就是[样式]作用于网页中的哪些元素
1、基础选择器:
* : 通用元素选择器,匹配任何元素 * { margin:0; padding:0; }
E : 标签选择器,匹配所有使用E标签的元素p { color:green; }
.info和E.info: class选择器,匹配所有class属性中包含info的元素 .info { background:#ff0; } p.info { background:blue; }
#info和E#info id选择器,匹配所有id属性等于footer的元素 #info { background:#ff0; } p#info { background:#ff0; }
2、组合选择器:
E,F 多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔 Div,p { color:#f00; }
E F 后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔 #nav li { display:inline; } li a { font-weight:bold; }
E > F 子元素选择器,匹配所有E元素的子元素F div > strong { color:#f00; }
E + F 毗邻元素选择器,匹配所有紧随E元素之后的同级元素F p + p { color:#f00; }
注意嵌套规则:
块级元素可以包含内联元素或 某些 块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。 块级元素不能放在p里面 。 有几个特殊的块级元素只能包含内联元素,不能包含块级元素 。如h1,h2,h3,h4,h5,h6,p,dt li内可以包含div 块级元素与块级元素并列、内联元素与内联元素并列。(错误的: