JavaWeb之CSS详解

时间:2021-11-14 07:56:03

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 等属性在正常文档流中偏移位置