JavaWeb之CSS详解

2016/10/21 8:50:01   阅读:1643    发布者:1643

CSS的简介

1、CSS概述及作用

  CSS:Cascading Style Sheets)是层叠样式表用来定义网页的显示效果。可以解决html代码对样式定义的
重复,提高了后期样式代码的可维护性,并增强了网页的显示效果功能。
作用:CSS将网页内容和显示样式进行分离,提高了显示功能。

2、 CSS和HTML的结合(*****)(四种)

  CSS与HTML的结合方式

  1.style属性方式:

  利用标签中style属性来改变每个标签的显示样式。

  例:   

<p style="background-color:#FF0000; color:#FFFFFF"> 
        p标签段落内容。 
</p>

  该方式比较灵活,但是对于多个相同标签的同一样式定义比较麻烦,适合局部修改。

  2.style标签方式:(内嵌方式)

  在head标签中加入style标签,对多个标签进行统一修改。  

<head> 
    <style type="text/css"> 
        p { color:#FF0000;} 
    </style> 
</head>

  该方式可以对单个页面的样式进行统一设置,但对于局部不够灵活。

  3.导入方式:(常用的方式)

  前提是已经存在一个定义好的CSS文件。网页的一部分样式需要用到,那么就用到这种方式。

  例:

<style type="text/css"> 
    @import url(css_3.css); 
    div { color:#FF0000;} 
</style>  

  定义一个外部的CSS文件(.css)结尾的。
@import url("css文件的地址");需要写在<style>标签的内部

  注:url括号后面必须要用分号结束。如果导入进来的样式与本页面定义的样式重复,以本页定义样式为准。

  4.链接方式:(常用的方式)

  通过head标签中link标签来实现,前提也是先要有一个已定好的CSS文件。

  例:  

<link rel="stylesheet" type="text/css" href="css_3.css" />

  <link rel="stylesheet" type="text/css" href="CSS文件的地址" > ,
不能写在<style>内部,写在<head>标签的内部。
rel:代表当前的文件和引入文件的关系。
type:类型
href:CSS的地址

 

  注:可以通过多个link标签链接进来多个CSS文件。重复样式以最后链接进来的CSS样式为准。

3、CSS样式优先级和代码规范

  1.CSS的优先级

  (一般情况下)从上到下,由外到内,优先级从低到高的。
 特殊情况:标签名选择器 < class选择器 < ID选择器 < style属性

  2. CSS的代码规范

  (1)选择器名称{属性名:属性值;属性名:属性值;...}

  (2)属性与属性之间用 分号 隔开
(3)属性与属性值直接按用 冒号 连接

  (3)如果一个属性有多个值,值与值直接用空格隔开
例子  

div{border:值1 值2 值3}

 

4、CSS的选择器(*****)

  1.选择器:

  编写的CSS代码作用在哪个标签上。

  2.基本选择器:

  (1)标签名选择器

  每一个标签都定义了class属性和id属性。用于对标签进行标识,方便对标签进行操作。
在定义的中,多个标签的class属性值可以相同,而id值要唯一,因为JavaScript中经常用。

  (2)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>

  (3)id选择器:
与class选择器类似,但格式不同,选择器的名称为:#id值。
例:

#pid { color:#0000FF;} 
<p id="pid">P标签样式</p>

  注:多个标签同样可以定义相同的id值,但是对于JavaScript对标签元素的获取就会出错。
所以形成习惯,确保id值的唯一性对于以后的数据库设计也很有好处。

  优先级(特殊):
标签名选择器 < class选择器 < ID选择器 < style属性

  3.扩展选择器:

  (1)关联选择器:多个标签之间产生关系。

  标签是可以嵌套的,要让相同标签中的不同标签显示不同样式,就可以用此选择器。  

  例:  

p { color:#00FF00;} 
p b { color:#FF000;} 
<p>P标签<b>刘德华</b>段落样式</p> 
<p>P标签段落</p>

  注:中间用空格隔开

  (2)组合选择器:对多个不同的选择器设置相同的样式  

p,div { color:#FF0000;} 
<p>P标签显示段落。</p> 
<div>DIV标签显示段落</div>

  注:中间用逗号隔开
(3)伪元素选择器:CSS定义好的选择器
如果使用超链接的4个状态,使用的顺序: L V H A  

  其实就在html中预先定义好的一些选择器。称为伪元素。是因为CSS的术语。

  格式:标签名:伪元素。类名 标签名。类名:伪元素。都可以。

  a:link 超链接未点击状态。 text-decoration: none;

  a:visited 被访问后的状态。

  a:hover 光标移到超链接上的状态(未点击)。

  a:active 点击超链接时的状态。

  

  使用顺序 L – V – H - A

  p:first-line 段落的第一行文本。

  p:first-letter 段落中的第一个字母。

  p:focus 具有焦点的元素。IE6浏览器不支持,在FireFox中可以看到效果。

 

  CSS的简单练习(查阅文档)

table { 
font-family: 隶书; 
font-size:14px; 
color:black; 
border-width: 1px; 
border-color: gray; 
border-collapse: collapse; 
width: 200px; 
} 
table th { 
border-width: 1px; 
padding: 8px; 
border-style: solid; 
border-color: gray; 
background-color: #dedede; 
} 
table td { 
border-width: 1px; 
padding: 8px; 
border-style: solid; 
border-color: gray; 
background-color: #ffffff; 
} 

5、CSS的布局(了解)

  1.盒子模型

  在进行布局前需要把数据封装到一块一块的区域内,这个区域的专业术语叫盒子。

    边框(border)分为上 下 左 右

    内边距(padding)分为上 下 左 右

    外边距(margin)分为上 下 左 右

  2.CSS布局漂浮属性 

  float(漂浮)

    none :  默认值。对象不飘浮
left :  文本流向对象的右边
right :  文本流向对象的左边

  clear(清除)

    none :  默认值。允许两边都可以有浮动对象
left :  不允许左边有浮动对象
right :  不允许右边有浮动对象
both :  不允许有浮动对象

  3.CSS布局定位属性

  position
static :  默认值。无特殊定位,对象遵循HTML定位规则
absolute :  将对象从文档流中拖出,使用 left , right , top , bottom 等属性相对
于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据 body 对象。
而其层叠通过 z-index 属性 relative :  对象不可层叠,但将依据 left , right , top , bottom 等
属性在正常文档流中偏移位置