-
css
基础知识:-
css
样式表的定义 -
css
:(Cascading Style Sheets)层叠样式表;
-
-
分类及位置:内部样式
-head
区域style
标签里面-
外部样式-
link
调用 -
内联样式-标签元素里面
-
-
css
内的注释:/*
注释内容*
/ -
css
样式表的语法-
用颜色名表示
-
aqua
,black
,blue
,fuchsia
,gray
,green
,lime
,maroon
,navy
,
olive
,orange,
purple
,red
,silver
,teal
,white
, andyellow
-
有17个预先确定的颜色,它们是
-
CSS
规则由两个主要的部分构成:要添加样式的盒子名或者标签名、和要添加的样式。 -
盒子名或者标签名{属性:值;}
-
CSS中几种颜色的表示方法
-
- **用十六进制的颜色值表示(红、绿、蓝)**
- `#FF0000`或者`#F00 ` - **用rgb(r,g,b)函数表示**
- 如:`rgb(255,255,0)`- **用hsl(Hue,Saturation,Lightness)函数表示(色调、饱和度、亮度)**
- 如:`hsl(120,100%,100%)`,色调0代表红色,`120`代表绿色,`240`代表
蓝色
- **用`rgba(r,g,b,a)`函数表示 **
- 其中`a`表示的是改颜色的透明度,取值范围是`0~1`,其中`0`代表完全透明- **用hsla(Hue,Saturation,Lightness,alpha)函数表示**
- 色调、饱和度、亮度、透明度
-
例子
background-color:gray
background-color:#F00
background-color:#ffff00
background-color:rgb(255,0,255)
background-color:hsl(120,80%,50%)
background-color:rgba(255,0,255,0.5)
background-color:hsla(120,80%,50%,0.5)
-
内部样式表
-
当单个页面需要设置样式时,就应该使用内部样式表。
-
使用
标签在文档
里面定义内部样式表
-
-
从外部引入到样式分为两种:(注意写在
head
标签里面) -
当样式需要应用于很多页面时,就需要用到外部样式表,首先需要创建一个
css
文件,然后引用到我们的页面中。 -
Link
样式表式: -
Html
式: -
内联样式表(优先级高)
-
写在标签里面的样式
-
如:
-
-
表示给
p
标签里面的文字颜色设置为红色 -
区别:外链样式与导入样式
-
link
标签是属于xhtml
范畴,而@import
则是css2.1
中特有的。link
标签除了可以加载CSS
外,还可以做很多其它的事情,比如定义RSS
,定义rel
连接属性等,@import
就只能加载CSS
了。 -
加载的顺序的区别,
link
加载的css
时,是一种并行(没有尝试是否是这样)加载CSS
方式,而@impor
则在整个页面加载完成后才加载。 -
兼容性的区别,因
@import
`CSS2.1才特有的,所以对于不兼容
CSS2.1`的浏览器来说,无效。 -
在样式控制上(比如动态改变网页的布局时,使用
javascript
操作DOM
)的区别,此时@import
就无能为力了。
-
-
样式的优先级补充
-
内联样式表(标签内部)
>嵌入样式表(当前文件中)
>外部样式表(外部文件中)
-
相同权值情况下,
CSS
样式的优先级总结来说,就是——就近原则(离被设置元素越近优先级别越高):
-
-
权值不同时,浏览器是根据权值来判断使用哪种
css
样式的,哪种样式权值高就使用哪种样式 -
层叠优先级是:
-
浏览器缺省
<外部样式表
<内部样式表
<内联样式
-
-
其中样式表又有:
类选择器
<类派生选择器
<ID选择器
<ID派生选择器
-
派生选择器以前叫上下文选择器,所以完整的层叠优先级是:
-
浏览器缺省
<外部样式表
<外部样式表类选择器
<外部样式表类派生选择器
<外部样式表ID选择器
<外部样式表ID派生选择器
<内部样式表
<内部样式表类选择器
<内部样式表类派生选择器
<内部样式表ID选择器
<内部样式表ID派生选择器
<内联样式
...共12
个优先级
-
-
另外,如果同一个元素在没有其他样式的作用影响下,其
Class
定义了多个并以空格分开,其优先级顺序为:-
一个元素同时应用多个
class
,后定义的优先(即近者优先),加上!important
者最优先!
-
第九章 css选择器(上)
-
css
选择器:-
class
类选择器可以重复利用 -
id
选择器唯一
-
-
标签选择器
-
什么是选择器:css选择器就是要改变样式的对象
-
-
选择器
{属性:值;属性:值;}
-
标签选择器:页面中所有的标签都是一个选择器
p{color:red;}
-
ID
选择器-
选择
id
命名的元素 以#
开头#p1{color:#0f0;}
-
-
类选择器
-
class
选择器,选择clas
命名的元素 以.
开头.first{color:#00f;}
-
-
css
代码写完后上线前要经过压缩处理 -
本地和服务器分两个
css
版本(备份) -
压缩后注释都清除,空间体积减少
-
群组选择器
-
选择多个元素,以逗号隔开
#main,.first,span,a,h1{color:red;}
-
-
包含选择器
-
span{color:red;}
-
选择某元素的后代元素,也称后代选择器,父类与子类间以空格隔开
p
-
-
属性选择器
-
选择包含某一属性的元素
-
a[title]{color:red;}
选择包含title
的a
标签 -
a[title][href]{color:red;}
选择包含title
和href
的a
标签
-
-
>
+
选择器子类选择器:只选择子元素(只选择儿子)(相当于包含元素)-
p > span{color:red;}
-
-
相邻兄弟选择器:只选择后面的相邻兄弟元素
-
p + span{color:red;}
-
第十章 css选择器(下)
-
-
伪类选择器的排序很重要,
a:link
a:visited
a:hover
a:active
,记作lvha
-
a:link {color:#FF0000;}
/ 未访问的链接 / (只用于a标签) -
a:visited {color:#00FF00;}
/ 已访问的链接 / (只用于a标签) -
a:hover {color:#FF00FF;}
/* 鼠标移动到链接上 -
*/
(可和其他标签结合一起用) -
a:active {color:#0000FF;}
/ 选定的链接 / -
注意
-
-
输入伪类选择器(针对表单)
-
input:focus{color:red;}
/ 键盘输入焦点 /
-
-
其他伪类选择器
-
p:first-child{color:red;}
/* 第一个p *
/ -
:before
在元素之前添加内容。 -
:after
在元素之后添加内容。
-
-
css
优先规则-
内联样式表->
ID
选择器—>Class
类选择器->标签选择器
-
第十一章 背景属性
-
背景属性:
-
背景图片是否随着内容的滚动而滚动由
background-attachment
设置 -
background-attachment:fixed;
固定,不随内容的滚动而滚动 -
background-attachment:scroll;
滚动,随内容的滚动而滚动 -
background-size:x% y%;
-
background-size:x y;
-
背景图片的大小可以通过属性
background-size
来设置background-size
的取值可为数值和百分值。 -
background-position:x% y%;
-
background-position:x y;
-
背景图片的定位就是可以设置显示背景图片的位置,通过属性
background-position
来实现 -
background-position
的取值可为英文单词或者数值和百分值。 -
background-positon
的英文单词取值 -
top left
-
top center
-
top right
-
center left
-
center center
-
center right
-
bottom left
-
bottom center
-
ottom right
-
不平铺:
background-repeat:no-repeat;
-
水平方向平铺:
background-repeat:repeat-x;
-
垂直方向平铺:
background-repeat:repeat-y;
-
完全平铺:默认为完全平铺
-
background:url(“images/1.jpg”);
-
backgronnd-image:url(“images/1.jpg”);
-
background:red;
-
backgronnd-color:red;
-
背景的添加 :
-
背景颜色的添加:
-
背景图片的添加:
-
背景的平铺
-
什么是平铺?平铺就是图片是否重复出现
-
背景图片的定位
-
background-positon
的数值取值 -
positon
的百分值取值 -
背景图片的大小
-
background-size
的数值取值 -
background-size
的数值取值 -
背景图片的滚动
-
第十二章 文字文本属性
-
css
文字文本属性:-
text-align:center;
文本对齐(right
/left
/center
) -
line-height:10px;
行间距(可通过它实现文本的垂直居中) -
text-indent:20px;
首行缩进 -
text-decoration:none;
-
letter-spacing
: 字间距 -
文本线(
none
/underline
/overline
/line-through
) -
color:red;
文字颜色 -
font-size:12px
; 文字大小 -
font-weight:“bold”
文字粗细(bold/normal
) -
font-family:“宋体”
文字字体 -
font-variant:small-caps
小写字母以大写字母显示 -
文字属性
-
文本属性
-
第十三章 盒子模型
-
盒子模型
-
盒子模型就是一个有高度和宽度的矩形区域
-
所有
html
标签都是盒子模型 -
div
标签自定义盒子模型
-
-
所有的标签都是盒子模型
-
class
和id
的主要差别是:class
用于元素组(类似的元素,或者可以理解为某一类元素),而id
用于标识单独的唯一的元素。
-
-
盒子模型的组成
-
自身内容:
width
、height
宽高 -
内边距:
padding
-
盒子边框:
border
边框线 -
与其他盒子距离:
margin
外边距 -
内容+内边距+边框+外边距=面积
-
盒子模型组成部分:
-
-
border
边框-
常见写法
border:1px solid #f00;
-
-
单独属性:
-
dotted
点状虚线 -
dashed
(虚线) -
solid
(实线) -
double
(双实线) -
border-width
: -
border-style:
-
border-color
(颜色)
-
-
padding
内边距-
padding:10px;
上下左右 -
padding:10px 10px;
上下 左右 -
padding:10px 10px 10px;
上 左右 下 -
padding:10px 10px 10px 10px;
上 右 下 左(设置4个点-->顺时针方向) -
值:
像素
/厘米
等长度单位、百分比
-
-
单独属性:
- `padding-top:`- `padding-right:`- `padding-bottom:`- ` padding-left:`
-
当设置内边距的时候会把盒子撑大,为了保持盒子原来的大小,应该高度和宽度进行减小,根据
width
和height
减小 -
margin 外边距
-
值:与
padding
相同 -
单独属性:与
padding
相同
-
-
外边距合并:两个盒子同时设置了外边距,会进行一个外边距合并
补充盒子模型内容
-
标准盒子模型
-
盒子模型是
css
中一个重要的概念,理解了盒子模型才能更好的排版。其实盒子模型有两种,分别是ie
盒子模型和标准w3c
盒子模型。他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型
-
-
从上图可以看到标准
w3c
盒子模型的范围包括margin
、border
、padding
、content
,并且content
部分不包含其他部分 -
IE盒子模型
-
从上图可以看到
ie
盒子模型的范围也包括margin
、border
、padding
、content
-
和标准
w3c
盒子模型不同的是:ie
盒子模型的content
部分包含了border
和padding
-
IE
盒子模型width
=padding
+border
+内容
-
标准盒子模型 = 内容的宽度(不包含
border
+padding
) -
例:
-
一个盒子的
margin
为 20px,border
为 1px,padding
为 10px,content
的宽为 200px、高为 50px,假如用标准w3c
盒子模型解释,那么这个盒子需要占据的位置为:宽20*2+1*2+10*2+200=262px
、高20*2+1*2*10*2+50=112px
,盒子的实际大小为:宽1*2+10*2+200=222px
、高1*2+10*2+50=72px
;假如用ie 盒子模型,那么这个盒子需要占据的位置为:宽20*2+200=240px
、高20*2+50=70px
,盒子的实际大小为:宽200px
、高50px
-
-
那应该选择哪中盒子模型呢?当然是“标准
w3c
盒子模型”了。怎么样才算是选择了“标准w3c
盒子模型”呢?很简单,就是在网页的顶部加上doctype
声明。 -
假如不加
doctype
声明,那么各个浏览器会根据自己的行为去理解网页,即ie
浏览器会采用ie
盒子模型去解释你的盒子,而ff
会采用标准w3c
盒子模型解释你的盒子,所以网页在不同的浏览器中就显示的不一样了。 -
反之,假如加上了
doctype
声明,那么所有浏览器都会采用标准w3c
盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。
-
用
jquery
做的例子来证实一下
你用的盒子模型是?
-
上面的代码没有加上
doctype
声明,在ie
浏览器中显示ie
盒子模型,在 ff 浏览器中显示“标准w3c
盒子模型”。
" style="color: rgb(0, 136, 204);">网页链接你用的盒子模型是标准w3c盒子模型