一、css引入方式
1、行内样式
<p style="color: #00FFFF;">直接在元素内添加样式</p>
2、内部样式表
<head>
<meta charset="utf-8">
<title></title>
<!-- 引入CSS样式 -->
<link rel="stylesheet" href="css/style.css" />
<!-- 内部样式 -->
<style type="text/css">
h1{
background-color: #0000FF;
}
</style>
</head>
<body>
<h1>-----内部样式----</h1><hr />
</body>
3、外部样式表
<head>
<meta charset="utf-8">
<title></title>
<!-- 引入外部CSS样式 -->
<link rel="stylesheet" href="css/style.css" />
<!-- 导入外部CSS样式,css2中使用的方式 -->
<style type="text/css">
@import url("css/style.css");
</style>
</head>
二、css优先级
1、样式优先级
行内样式>内部样式>外部样式(后两者是就近原则)
2、选择器优先级
一般这样认为:
id选择器(#myid)>类选择器(.myclassname)>标签选择器(div,h1,p)>相邻选择器(h1+p)>子选择器(ul < li)>后代选择器(li a)>通配符选择器(*)>属性选择器(a[rel="external"])>伪类选择(a:hover,li:nth-child)
实质优先级是通过CSS权重计算所得:
将各种选择器定义权值,再进行计算,最后通过比较权值大小,从0开始,一个行内样式+1000,一个id+100,一个属性选择器/class或者伪类+10,一个元素名,或者伪元素+1
权值表
类型 | 权重 |
---|---|
! important | 无穷 |
行间样式 | 1000 |
id | 100 |
class/属性选择器/伪类:hover | 10 |
标签选择器/伪元素:after | 1 |
通配符 | 0 |
三、盒子模型
-
盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,每个盒子都由元素的内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。 每个盒子都有:边界、边框、填充、内容 4个属性; 每个属性都包括上、右、下、左 属性。属性的4部分可以同时设置,也可以分别设置。
-
border 属性来定义盒子的边框,该属性包含3个子属性:border-style(边框样式),border-color(边框颜色),border-width(边框宽度)。
盒子尺寸计算:
外盒尺寸计算(元素空间尺寸)
1 Element空间高度 = content height + padding + border + margin
2 Element 空间宽度 = content width + padding + border + margin
内盒尺寸计算(元素实际大小)
1 Element Height = content height + padding + border (Height为内容高度)
2 Element Width = content width + padding + border (Width为内容宽度)
四、css属性
color : #ffaaff; /*文字颜色*/
font-family : 宋体,sans-serif; /*文字字体:Courier New", Courier, monospace, "Times New Roman", Times, serif, Arial, Helvetica,sans-serif, Verdana*/
font-size : 9pt; /*文字大小*/
font-style:itelic; /*oblique(文字偏斜体) italic;(文字斜体) normal;(文字标准)*/
font-weight:bold; /*bold(文字粗体) lighter;(文字细体) normal;(文字标准)*/
font-variant:small-caps; /*small-caps;(小型大写字母) normal;(文字正常)*/
letter-spacing : 1pt; /*字间距离*/
line-height : 200%; /*设置行高:normal(标准) */
text-decoration:line-through; /*underline;(下划线) overline;(上划线) line-through;(删除线) blink;(闪烁)*/
text-transform : capitalize; /*capitalize;(首字母大写) uppercase;(大写) lowercase;(小写) none;(无)*/
text-align:right; /*justify;(文字分散对齐) left;(文字向左对齐) right;(文字向右对齐) center;(文字居中对齐)*/
vertical-align:sub; /*sub;(文字下标字) top;(文字垂直向上对齐) bottom;(文字垂直向下对齐) middle;(文字垂直居中对齐) text-top;(文字垂直向上对齐) text-bottom;(文字垂直向下对齐) */
list-style-type:none; /*不编号 none;(不编号) decimal;(阿拉伯数字) lower-roman;(小写罗马数字) upper-roman;(大写罗马数字)
lower-alpha;(小写英文字母) upper-alpha;(大写英文字母) disc;(实心圆形符号) circle;(空心圆形符号) square;(实心方形符号) */
list-style-image:url(/dot.gif); /*图片式符号*/
list-style-position: outside; /*凸排 outside;(凸排) inside;(缩进)*/
background-color:#F5E2EC; /*背景颜色*/
background:transparent; /*透视背景*/
background-image : url(/image/bg.gif); /*背景图片*/
background-attachment : fixed; /*浮水印固定背景*/
background-repeat : repeat; /*repeat;(重复排列-网页默认) no-repeat;(不重复排列) repeat-x;(在x轴重复排列) repeat-y;(在y轴重复排列)*/
background-position : 90% 90%; /*背景图片x与y轴的位置*/
background-position : top; /*top;(向上对齐) buttom;(向下对齐) left;(向左对齐) right;(向右对齐) center;(居中对齐) */
padding-top:10px; /*top;(上部填充) right;(右部填充) bottom;(下部填充) left;(左部填充)*/
margin-top:10px; /*top;(上边距) right;(右边距) bottom;(下边距) left;(左边距)*/
border-top:10px;/* top;(上边界) right;(右边界) bottom;(下边界) left;(左边界) */
margin(外边距)、border(边框)、padding(内边距)、content(内容)
border-width:边界宽度
border-style:边界样式
border-color:边界颜色
border-top-left-radius:左上角
border-top-right-radius:右上角
border-bottom-left-radius:左下角
border-bottom-left-radius:右下角
a标签属性
a /*所有超链接*/
a:link /*超链接文字格式*/
a:visited /*浏览过的链接文字格式*/
a:active /*按下链接的格式*/
a:hover /*鼠标转到链接*/
鼠标光标样式:
链接手指 CURSOR: hand
十字体 cursor:crosshair
箭头朝下 cursor:s-resize
十字箭头 cursor:move
箭头朝右 cursor:move
加一问号 cursor:help
箭头朝左 cursor:w-resize
箭头朝上 cursor:n-resize
箭头朝右上 cursor:ne-resize
箭头朝左上 cursor:nw-resize
文字I型 cursor:text
箭头斜右下 cursor:se-resize
箭头斜左下 cursor:sw-resize
漏斗 cursor:wait
光标图案(IE6) p {cursor:url(“光标文件名.cur”),text;}
CSS框线
border-top : 1px solid #6699cc; /*上框线*/
border-bottom : 1px solid #6699cc; /*下框线*/
border-left : 1px solid #6699cc; /*左框线*/
border-right : 1px solid #6699cc; /*右框线*/
以上是建议书写方式,但也可以使用常规的方式 如下:
border-top-color : #369 /*设置上框线top颜色*/
border-top-width :1px /*设置上框线top宽度*/
border-top-style : solid/*设置上框线top样式*/
其他框线样式
solid /*实线框*/
dotted /*虚线框*/
double /*双线框*/
groove /*立体内凸框*/
ridge /*立体浮雕框*/
inset /*凹框*/
outset /*凸框*/
CSS滤镜属性
Filter:在样式中加上滤镜特效。由于此属性内容比较多,我们将到下一章单独对滤镜介绍。
1.Alpha:设置透明度
Alpha(Opacity=?, FinishOpacity=?, Style=?, StartX=?, StartY=?, FinishX=?, FinishY=?)
Opacity:透明度级别,范围是0-100,0代表完全透明,100代表完全不透明。FinishOpacity:设置渐变的透明效果时,用来指定结束时的透明度,范围也是0 到 100。Style:设置渐变透明的样式,值为0代表统一形状、1代表线形、2代表放射状、3代表长方形。StartX和StartY:代表渐变透明效果的开始X和Y坐标。 FinishX和FinishY:代表渐变透明效果结束X和Y 的坐标。
2.BlendTrans:图像之间的淡入和淡出的效果
BlendTrans(Duration=?) Duration:淡入或淡出的时间。注意:这个滤镜必须配合JS建立图片序列,才能做出图片间效果。
3.Blru:建立模糊效果
Blur(Add=?, Direction=?, Strength=?) Add:是否单方向模糊,此参数是一个布尔值,true(非0)或false(0)。 Direction:设置模糊的方向,其中0度代表垂直向上,然后每45度为一个单位。 Strength:代表模糊的象素值。
4.Chroma:把指定的颜色设置为透明
Chroma(Color=?) Color:是指要设置为透明的颜色。
5.DropShadow:建立阴影效果
DropShadow(Color=?, OffX=?, OffY=?, Positive=?) Color:指定阴影的颜色。OffX:指定阴影相对于元素在水平方向偏移量,整数。 OffY:指定阴影相对于元素在垂直方向偏移量,整数。 Positive:是一个布尔值,值为true(非0)时,表示为建立外阴影;为false(0),表示为建立内阴影。
6.FlipH:将元素水平反转
7.FlipV:将元素垂直反转
8.Glow:建立外发光效效果
Glow(Color=?, Strength=?)
Color:是指定发光的颜色。
Strength:光的强度,可以是1到255之间的任何整数,数字越大,发光的范围就越大。
9.Gray:去掉图像的色彩,显示为黑白图象
10. Invert:反转图象的颜色,产生类似底片的效果
11. Light:放置光源的效果,可以用来模拟光源在物体上的投影效果 注意:此效果需要用JS设置光的位置和强度。
12. Mask:建立透明遮罩
Mask(Color=?) Color:设置底色,让对象遮住底色的部分透明。
13. RevealTrans:建立切换效果
RevealTrans(Duration=?, Transition=?)
Duration:是切换时间,以秒为单位。
Transtition:是切换方式,可设置为从0到23。
注意:如果做页面间的切换效果,可以在<head>区加上一行代码:<Meta http-equiv=Page-enter content=revealTrans(Transition=?,Duration=?) >。如果用在页面里的元素必须配合JS使用。
14. Shadow:建立另一种阴影效果 Shadow(Color=?, Direction=?) Color:是指阴影的颜色。
Direction:是设置投影的方向,0度代表垂直向上,然后每45度为一个单位。
15. Wave:波纹效果
Wave(Add=?, Freq=?, LightStrength=?, Phase=?, Strength=?) Add:表示是否显示原对象,0表示不显示,非0表示要显示原对象。 Freq:设置波动的个数。LightStrength:设置波浪效果的光照强度,从0到100。0表示最弱,100表示最强。 Phase:波浪的起始相角。从0到100的百分数值。(例如:25相当于90度,而50相当于180度。) Strength:设置波浪摇摆的幅度。
16. Xray:显现图片的轮廓,X光片效果
注意:在使用CSS滤镜时,必须使用在有区域的元素,比如表格,图片等。而文本,段落这样没有区域的元素不能使用CSS滤镜,对这样的元素我们可以设置元素的Height和Width样式或坐标来实现。"
}
五、css常用选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 引入CSS样式 -->
<link rel="stylesheet" href="css/style.css" />
<!-- -->
<style type="text/css">
/* 标签选择器 */
h1{
background-color: #0000FF;
}
/* 类选择器 */
.div1{
background: #ffff00;
}
/* id选择器 */
#div2{
background:#ff55ff;
}
/* 层级选择器 */
ul li p{
background-color: #00FFFF;
}
/* 直接子选择器 */
body>ul{
background-color: #1B6D85;
}
/* 相邻兄弟选择器,只有下方一个 */
.active + p{
background-color: #00007f;
}
/* 通用兄弟选择器,下方的所有元素 */
.active1~p{
background-color: #55ff7f;
}
/* 结构伪类选择器 */
/* 第一个li元素 */
#div3 ul li:last-child{
background-color: #55ff7f;
}
/* 最后一个li元素 */
#div3 ul li:first-child{
background-color: #ff0000;
}
/* li的父级元素的第三个元素 */
#div3 ul li:nth-child(3){
background-color: #aaff00;
}
/* li的父级元素的第二个同类型元素 */
#div3 ul li:nth-of-type(3){
background-color: #55557f;
}
/* hover鼠标移入变色 */
a:hover{
background-color: #ff7817;
font-size: 4px;
}
a {
float: left;
display: block;
height: 100px;
width: 100px;
border-radius: 10px;
background: #555500;
text-align: center;
color: #00FFFF;
text-decoration: none;
margin-right: 5px;
font: bold 20px/50px arial;
}
/* 属性选择器 */
a[id=first]{
background-color: #0000FF;
}
</style>
</head>
<body>
<h1>----选择器-----</h1><hr />
<h1>h1标题</h1>
<div class="div1">div类选择器</div>
<div id="div2" class="active">id选择器div</div>
<p class="active1">p兄弟选择器1</p>
<p>p兄弟选择器2</p>
<p>p兄弟选择器3</p>
<ul>
<li>
<p>p4</p>
</li>
<li>
<p>p4</p>
</li>
<li>
<p>p4</p>
</li>
</ul>
<div id="div3">
<ul>
<li>li伪类选择器1</li>
<p>p</p>
<li>li的父级元素的第三个元素</li>
<li>li的父级元素的第三个同类型元素</li>
<li>li伪类选择器2</li>
<li>li伪类选择器3</li>
<li>li伪类选择器4</li>
</ul>
</div>
<a href="">hover鼠标移入变色</a>
<p class="demo">
<a href="" class="links" id="first">a1</a>
</p>
<p style="color: #00FFFF;">直接在元素内添加样式</p>
</body>
</html>