-------android培训、java培训、期待与您交流! ---------
CSS:
一,css概述:
CSS是层叠样式表(Cascading Style Sheets)用来定义网页的现实效果。可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的现实效果功能。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。
1,CSS和HTML相结合的方式:有四种
1)style属性方式:
利用标签中style属性来改变每个标签的显示样式。
例:
<p style="background-color:#FF0000; color:#FFFFFF">
p标签段落内容。
</p>
该方式比较灵活,但是对于多个相同标签的同一样式定义比较麻烦,适合局部修改。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
background-color: #000;
color: #FFF
}
</style>
</head>
<body>
<!--
css和html想结合的第一种方式
1,每一个html标签中都有一个style样式属性,该属性的值就是css代码
2,使用style标签的方式。一般都定义在head标签中
-->
<div style="background-color:#F00;color:#33F">这是一个div区域1</div>
<div>这是一个div区域2</div>
<span>这是span区域1</span>
<span>这是span区域2</span>
<p>这是一个段落1</p>
<p>这是一个段落2</p>
</body>
</html>
运行效果:
2) style标签方式:(内嵌方式)
在head标签中加入style标签,对多个标签进行统一修改。
<head>
<style type=”text/css”>
p { color:#FF0000;}
</style>
</head>
该方式可以对单个页面的样式进行统一设置,但对于局部不够灵活。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css样式的综合应用</title>
<style type="text/css">
ul{
/*list-style-type:none;
list-style-image:url(1.gif);*/
list-style-type:disc;
}
table{
border-top:#00C groove 3px;
border-bottom:#F00 double 3px;
border-left: #6F3 solid 3px;
border-right: #0FF dashed 3px;
width:500px;
}
table td{
border:#000 dotted 1px;
padding:20px;
}
div{
border:#F00 dashed 2px;
height:50px;
width:100px;
}
input{
/*border:#00F solid 2px;*/
border:none;
border-bottom:#000 solid 3px;
}
.tab{
border:none;
}
</style>
</head>
<body>
姓名:<input type="text" /> 成绩:<input type="text" />
<hr/>
<div>div区域</div>
<hr/>
<table>
<tr>
<td><input type="text" class="tab" /></td>
<td><input type="text" class="tab" /></td>
</tr>
<tr>
<td>单元格三</td>
<td>单元格四</td>
</tr>
</table>
<hr/>
<ul>
<li>无序项目列表</li>
<li>无序项目列表</li>
<li>无序项目列表</li>
<li>无序项目列表</li>
</ul>
</body>
</html>
运行效果
3)导入的方式:
前提是已经存在一个定义好的CSS文件。网页的一部分样式需要用到,那么就用到这种方式。
例:
<style type="text/css">
@import url(css_3.css);
div { color:#FF0000;}
</style>
注:url括号后面必须要用分号结束。如果导入进来的样式与本页面定义的样式重复,以本页定义样式为准。
css文件
div{
background-color: #C0F;
color: #F6F;
}
span{
background-color: #F3F;
color: #6F6;
}
p{
background-color:#0FF;
color:#000;
}
与HTML结合:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html和css相结合演示</title>
<style type="text/css">
@import url(div.css);
@import url(span.css);
@import url(p.css);
</style>
</head>
<body>
<div>这是一个div区域1</div>
<div>这是一个div区域2</div>
<span>这是span区域1</span>
<span>这是span区域2</span>
<p>这是一个段落1</p>
<p>这是一个段落2</p>
</body>
</html>
运行效果:
4)链接方式:
通过head标签中link标签来实现,前提也是先要有一个已定好的CSS文件。
例:<link rel="stylesheet" type="text/css" href="css_3.css" media="screen" />
注:可以通过多个link标签链接进来多个CSS文件。重复样式以最后链接进来的CSS样式为准。
2,样式优先级:
由上到下,由外到内。优先级由低到高。
3,选择器:就是指定CSS要作用的标签,那个标签的名称就是选择器。
选择器共有三种:
a) html标签名选择器。使用的就是html的标签名。
b) class选择器。其实使用的标签中的class属性。用 . 的形式表示
c) id选择器。其实使用的是标签的中的id属性。
每一个标签都定义了class属性和id属性。用于对标签进行标识,方便对标签进行操作。在定义的中,多个标签的class属性值可以相同,而id值要唯一,因为JavaScript中经常用。
1)class选择器(优先级较高)
在标签中定义class属性并赋值。通过 标签名.class值 对该标签进行样式设置。
相同标签设置不同样式的时候,用class进行区分。
p.pclass_1 {color:#FF0000;}
p.pclass_2 {color:#0000FF;}
<p class=”pclass_1”>P标签样式</p>
<p class=”pclass_2”>P标签样式</p>
不同标签进行相同设置的时候,用class进行统一定义。
.classname {color:#00FF00;}
<p class=”classname”>P标签样式</p>
<div class=”classname”>DIV标签样式</div>
2)id选择器:(id选择器优先级高于class选择器)
与class选择器类似,但格式不同,选择器的名称为:#id值。
例:
#pid { color:#0000FF;}
<p id=”pid”>P标签样式</p>
注:多个标签同样可以定义相同的id值,但是对于JavaScript对标签元素的获取就会出错。所以形成习惯,确保id值的唯一性对于以后的数据库设计也很有好处
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS的盒子模型演示</title>
<style type="text/css">
div{
border:#00F solid 2px;
height:100px;
width:200px;
}
#div_1{
/*border-bottom:#F00 dashed 2px;*/
background-color:#6F0;
/*padding:20px 40px 80px 100px;*/
float:right;
}
#div_2{
background-color:#FF0;
/*margin:50px 200px 100px 300px*/
}
#div_3{
background-color:#C6F;
}
</style>
</head>
<body>
<div id="div_1">第一个盒子</div>
<div id="div_2">第二个盒子</div>
<div id="div_3">第三个盒子</div>
</body>
</html>
运行效果:
CSS的盒子模型:
边框:border
上:border-top 下:border-botom 左: border-left 右:border-right 内边距:pappding
上边距:pappding-top 下边距:pappding-botom 左边距: pappding-left 右边距:pappding-right
外边距:margin 上边距:margin-top 下边距:margin-botom 左边距: margin-left 右边距:margin-right
4,扩展选择器:
a) 关联选择器
标签是可以嵌套的,要让相同标签中的不同标签显示不同样式,就可以用此选择器。
例:
p { color:#00FF00;}
p b { color:#FF000;}
<p>P标签<b>刘德华</b>段落样式</p>
<p>P标签段落</p>
b) 组合选择器
对多个不同选择器进行相同样式设置的时候应用此选择器。
p,div { color:#FF0000;}
<p>P标签显示段落。</p>
<div>DIV标签显示段落</div>
注:多个不同选择器要用逗号分隔开。
c) 伪元素选择器
其实就在html中预先定义好的一些选择器。称为伪元素。是因为CSS的术语。
格式:标签名:伪元素。类名 标签名。类名:伪元素。都可以。
a:link 超链接未点击状态。
a:visited 被访问后的状态。
a:hover 光标移到超链接上的状态(未点击)。
a:active 点击超链接时的状态。
使用顺序 L – V – H - A
p:first-line 段落的第一行文本。
p:first-letter 段落中的第一个字母。
:focus 具有焦点的元素。IE6浏览器不支持,在FireFox中可以看到效果。