认识并详细了解CSS

层叠样式表(Cascading Style Sheets,CSS)主要用来为网页中的元素设置格式以及对网页进行排版和风格设计,它也可以和javascript等游览器端脚本语言合作做出许多动态的效果。
CSS主要有以下特点
简化网页的代码,提高访问速度;
便于维护;
使页面内容与显示样式分离

一.CSS样式表的设置方法
1.内联样式表

写在标签内的样式称为内联样式,设置内联样式的语法格式如下:
< 标签名 style=“样式属性1:属性值1;样式属性2:属性值2;······” >
使用内联样式表来设置网页样式:

<html>
<head>
<title>内联样式</title>
</head>
<body>
           <h1 style="font-family:宋体; color:Red">红色的宋体</h1>
           <h1 style="font-family:楷体; color:blue">蓝色的楷体</h1>
           <h1>不受影响的字体</h1>
</body>
</html>
2.内部样式表

在HTML文件中使用<style>标签可以设置影响整个文档的样式,这种使用<style>标签来定义的方式称为内部样式,其语法格式如下:

< style type="text/css" >
<!--
     选择符1{样式属性:属性值;样式属性:属性值;······}
     选择符2{样式属性:属性值;样式属性:属性值;······}
     选择符3{样式属性:属性值;样式属性:属性值;······}
     ······
-->
</style>

使用内部样式表来设置网页样式:

<html>
<head>
<title>内部样式</title>
<style type="text/css">
<!--
      p{text-decoration:underline;}
      .i{font-style:italic;}
-->
</style>
</head>
<body>
          <p>这里的字的会加上下划线</p>
          <a href="a.htm" class="i">这里的字是斜体</a>
</body>
</html>
3.外部样式表

外部样式表是将样式表以单独的文件存放,让网站的所有网页均可引用此样式,在页面中用<link>标签链接,而这个<link>标签必须放在页面的<head>区域内。
【将2.内部样式表中的示例剪切到一个文本文件中,并命名为1.1.css】外部样式表的语法格式如下:
< link rel=“stylesheet” type=“text/css” href=“样式表源文件地址” >
使用外部样式表设置网页样式:

<html>
<head>
<title>外部样式</title>
<link href="1.1.css" type="text/css" rel="stylesheet" />
</head>
<body>
           <p>这里的字会加下划线</p>
           <a href="a.htm" class="i" >这里的字是斜体</a>
</body>
</html>
4.引用多个样式表

同一个CSS文件可以被多个HTML文件引用,而同一个HTML文件也可以引用多个CSS文件,其引用方式与前面的引用方式一样。
引用两个外部样式表2.1CSS(p{text-decoration:underline;}tt{color:red}和2.2CSS(p{font-style:italic;}cite{color:green}
使用引用多个样式表设置网页样式:

<html>
<head>
<title>引用多个外部样式</title>
<link href="2.1.css" type="text/css" rel="stylesheet" />
<link href="2.2.css" type="text/css" rel="stylesheet"/>
</head>
<body>
          <p>这是一个测试网页</p>
          <tt>这是在tt标签内的文字</tt><br/>
          <cite>这是在cite标签内的文字</cite>
</body>
</html>

注意:只有在IE浏览器中,才能对引用的两个CSS文件同时起作用,在FireFox、Chrome、Opera等浏览器并不支持引用多个样式表,如果同时引用几个样式,则只有引用的第一个有效。

二.选择符
1.类型选择符

类型选择符是以文档中的对象名作为选择符名,因此类型选择符可以使一个元素从原有的样式变为另一种样式。类型选择符的语法格式如下:
E {样式属性:属性值;样式属性:属性值;······}
当在CSS中声明某个元素的类型选择符后,在该文档中所有被声明的元素都将应用此样式。
使用类型选择符设置网页样式:

<html>
<head>
<title>类型选择符</title>
<style type="text/css">
<!--
      p {font-weight:bold;}
      a {text-decoration:none;}
      td {color:green}
-->
</style>
</head>
<body>
          <p>这是一个测试网页</p>
          <a href="a.htm">这是一个超链接</a><br/>
          <table border="1">
                      <tr>
                             <td>这是一个单元格</td>
                             <td>这是另一个单元格</td>
                      </tr>
           </table>
</body>
</html>
2.类选择符

(1)内联样式

<html>
<head>
<title>相同标签的不同样式</title>
<style type="text/css">
<!--
      a.red{text-decoration:underline;}
      /*普通新闻的超链接样式:有下划线*/
-->
</style>
</head>
<body>
            <a href="a.htm">这是一个普通新闻的超链接</a>
            <a href="#" style="color:red;text-decoration:none;>这是一个重要新闻的超链接</a>
</body>
</html>

(2)类选择符
类选择符可以与元素配合使用,类选择符的语法格式如下所示:
E.classname{样式属性:属性值;样式属性:属性值;······}
其中E为元素名称,classname是用于选择样式所用的标签名称,只有E元素才能选择是否使用classname样式。
使用类选择符设置网页样式:

<html>
<head>
<title>类选择符</title>
<style type="text/css">
<!--
       a.red{color:red;}       /*红色的超链接*/
       a.green{color:green;}   /*绿色的超链接*/
       td{color:red;}          /*表格内红色的文字*/
       td.green{color:green;}  /*表格内红色的文字*/
-->
</style>
</head>
<body>
       <a href="a.htm">这是没有样式的超链接</a><br/>
       <a href="#" class="red">这是一个class属性值red的超链接</a><br/>
       <a href="#" class="green">这是一个class属性值green的超链接</a>
       <a href="a.htm1" class="black">这是一个引用了不存在样式的超链接</a>
</body>
</html>

  • 第一个超链接没有使用class属性来指明样式,样式中也没有a这个类选择符,所以第一个超链接使用的是默认的样式
  • 第二个超链接用class属性指明了使用名为red的类选择符样式,即使用样式中声明a.red样式,因此超链接为红色
  • 第三个超链接用class属性指明了使用名为green的类选择符样式,即使用样式中声明a.green样式,因此超链接为绿色
  • 第四个超链接用class属性指明了使用名为black的类选择符样式,即使用a.black样式,但样式表中没有该样式,所以第四个超链接使用的默认的样式

(3)独立于元素的类选择符
类选择符可以与元素配合使用,也可以独立于元素使用,当类选择符独立于元素使用时,类选择符的语法代码如下
.classname {样式属性:属性值;样式属性:属性值;······}
使用类选择符设置网页样式:

<html>
<head>
<title>类选择符</title>
<style type="text/css">
<!--
       .red{color:red;}       /*红色的文字*/
       .green{color:green;}   /*绿色的文字*/
       a.blod{font-weight:bolder;} /*粗体*/
-->
</style>
</head>
<body>
       <a href="#" class="red">这是一个class属性值red的超链接</a>
       <a href="#" class="green">这是一个class属性值green的超链接</a>
       <a href="#" class="blod">这是一个class属性值blod的超链接</a>  
       <table>
         <tr>
              <td class="red"> 这是一个class属性值red的单元格</td>
         </tr>
         <tr>
               <td class="green"> 这是一个class属性值green的单元格</td>
         </tr>
         <tr>
              <td class="blod"> 这是一个class属性值blod的单元格</td>
         </tr>
       </table>
 </body>
 </html>
  • 在.red和.green样式之前没有Element,所以任何一个标签都可以通过class来引用这个样式,但是a.blod样式使用了Element,因此只能由a标签来引用
  • 虽然在单元格中引用了.bold样式,但改样式不属于<td>标签,所以该样式并没有用在单元格中
3.ID选择符

ID选择符的使用方法与类型选择符和类选择符都有点类似,其语法格式如下
#idname {样式属性:属性值;样式属性:属性值;······}
ID选择符只是针对网页中某个元素的,这个元素可以是任意元素,但其id的属性值必须是ID的选择符的名称
使用ID选择符设置网页样式:

<html>
<head>
<title>ID选择符</title>
<style type="text/css">
<!--
     #myclass{color:red;}    /*红色的文字*/
-->
</style>
</head>
<body>
    <a href="#" id="myclass">这是一个使用了#myclass属性超链接</a><br/>
   <a href="#" id="yourclass">这是一个没有任何效果的普通超链接</a>
</body>
</html>
    
4.包含选择符

在包含选择符中,可以为一个特定的结构创建样式,例如,可以创建一个超链接样式,但该样式只有在超链接包含在<p>标签内才有效。其语法格式如下:
E1 E2 {样式属性:属性值;样式属性:属性值;······}
使用包含选择符设置网页样式:

<html>
<head>
<title>包含选择符</title>
<style type="text/css">
<!--
     p a {font-weight:bold;}
     table tr td table tr td {text-decoration:line-through;}
-->
</style>
</head>
<body>
    <p>这是一个测试网页,<a href="#">这是一个超链接</a></p>
    <a href="#">这是另一个超链接</a><br/>
    <table border=‘1“>
        <tr>
              <td>这是一个单元格</td>
              <td>
                     <table border="2">
                          <tr>
                                <td>这是另一个单元格</td>
                          </tr>
                     </table>
              </td>
        </tr>
    </table>
</body>
</html>
  • 第一个样式即为包含样式,即只有包含在<p>元素中的超链接才能是粗体,所以第一个显示粗体,第二个没有显示
  • 包含选择符也可以很长,比如最后一个样式:“table tr td table tr td{text-decoration:line-through;},指明嵌套在一个表格中的另一个表格的单元格的文字有贯穿线显示
5.选择符分组

在CSS中支持选择符分组,即可以把相同样式的选择符放在一个组内,如此可以提高效率。其语法格式代码如下:
E1,E2,E3·····{样式属性:属性值;样式属性:属性值;·····}

<html>
<head>
<title>选择符分组</title>
<style type="text/css">
<!--
     h1,h2,h3{text-decoration:line-through;}
     p,h4{text-decoration:underline;}
-->
</style>
</head>
<body>
    <h1>标题:h1</h1>
    <h2>标题:h2</h2>
    <h3>标题:h3</h3>
    <p>p元素</p>
</body>
</html>
6.通用选择符

通用选择符的语法格式如下:
*{样式属性:属性值;样式属性:属性值;·····}
使用通用选择符设置网页样式:

<html>
<head>
<title>通用选择符</title>
<style type="text/css">
<!--
   *{text-decoration:line-through;}
-->
</style>
</head>
<body>
   <a href="#">这是一个超链接</a>
   <p>这是p标签内的文字</p>
   <b>这是b标签内的文字</b>
</body>
</html>

但是以上的通用选择符很少用,大多数情况下让某个标签下的所有标签都使用一个样式,此时的语法格式如下:
E * {样式属性:属性值;样式属性:属性值;·····}
使用通用选择符设置网页样式:

<html>
<head>
<title>通用选择符</title>
<style type="text/css">
<!--
     div * {text-decoration:line-through;}
-->
</style>
</head>
<body>
    <p>这是一个测试网页</p>
    <div>这是一个测试网页,<p>这是一个超链接</p>这是一个测试网页,<b> 这是b标签内的文字</b></div>
</body>
</html>

注意:这种通用选择符只作用于类型选择符下的所以标签

7.子选择符

从某种程度来讲,子选择符与包含选择符很像,但必须从父级标签指定子标签,其语法格式如下:
E1 >E2 {样式属性:属性值;样式属性:属性值;·····}
使用子选择符设置网页样式:

<html>
<head>
<title>子选择符</title>
<style type="text/css">
<!--
   p>a {font-style:italic;}
   div>p>b {text-decoration:line-through;}
-->
</style>
</head>
<body>
    <p>这是一个测试网页,<a href="#">这是一个超链接</a></p>
    <div>这是一个div,
    <p>从这里开始换行
           <b>这里是b标签内的文字</b>
           从这里换行结束。
     </p>
      这是另一段
    <div>
</body>
</html>

注意:子选择符只能对子标签有用,不能跨标签,而包含选择符对跨标签也有作用。

三.伪类和伪元素
1.超链接的伪类

伪类最开始被提出来可以说完全是因为超链接,CSS中有四个伪类:未访问过的URL、以访问过的URL、正在点击的超链接、指针经过超链接时的状态四个伪类,即link、visited、active、hover。这四个伪类都只能使在超链接上,其使用方法如下:
a:visited {样式属性:属性值;样式属性:属性值;······}
a:active {样式属性:属性值;样式属性:属性值;······}
a:hover {样式属性:属性值;样式属性:属性值;······}
a:link {样式属性:属性值;样式属性:属性值;······}

注意:在link、active、hover、link之前都有一个冒号,这个冒号就是伪类和伪元素的标记符,所有的伪类和伪元素都是以冒号开头。冒号前为该伪类和伪元素作用的元素。
使用伪类设置网页的样式:

<html>
<head>
<title>伪类</title>
<style type="text/css">
<!--
     a:visited {text-decoration:none;color:green;font-size:10pt;}
     a:active {text-decoration:none;color:#000000;font-size:10pt;}
     a:hover {text-decoration:underline;color:#000000;font-size:14pt;}
     a:link {text-decoration:none;color:red;font-size:10pt;}
-->
</style>
</head>
<body>
    <p><a href="a.htm">未访问过的超链接</a></p>
    <p><a href="#">已访问过的超链接</a></p>
    <p><a href="#">普通超链接</a></p>
</body>
</html>
2.伪元素

常用的伪元素有::first-letter和 :first-line。这两个伪元素可以将样式作用在文本的首字和首行,通常用在块级元素中
使用伪元素设置网页样式:

<html>
<head>
<title>伪元素</title>
<style type="text/css">
<!--
   p:first-letter {font-size:200%;}
   div:first-line {text-decoration:underline;}
-->
</style>
</head>
<body>
    <p>标签内的第一个文字是其他文字大小的两倍</p>
    <div>标签内的第一行文字有下划线</div>
</body>
</html>
四.CSS优先级

CSS可以根据产生冲突的样式选择符的权重来判断使用哪种样式,通常选择权重大的样式,以下是有关权重的一些规定:

  • 类型选择符(E)的权重为0001
  • 类选择符(.classname)的权重为0010
  • ID选择符(#idname)的权重为0100
  • 通用选择符( * )的权重为0000
  • 子选择符的权重为0000
  • 属性选择符([attr])的权重为0010
  • 伪类选择符(:pseudo-classes)权重为0010
  • 伪元素(:pseudo-elements)权重为0001
  • 包含选择符:包含的选择符权重值之和
  • 内联样式的权重为1000
  • 继承的样式权重为0000
    以上权重由大到小依次是1000、0100、0010、0001、0000

比较几个选择符的优先级:

<html>
<head>
<title>样式冲突</title>
<style type="text/css">
<!--
    p {color:red;}       /*权重为0001*/
    .vip {color:green;}    /*权重为0010*/
    #myid {color:purper;}    /*权重为0100*/
    p[align] {color:blue;}     /*权重为0010*/
-->
</style>
</head>
<body>
     <p>文字</p>
     <p class="vip">文字</p>
     <p id="myid" class="vip">文字</p>
     <p align="center"> class="vip">文字</p>
</body>
</html>
五.CSS中的单位
1.颜色单位
  • #RRGGBB是比较常用的方法,其中RR代表红色值,GG代表绿色值,BB代表蓝色值,取值范围是00~FF。例如,红色可以#FF0000来表示
  • rgb(R、G、B)是颜色的另一种表达方法,其中R代表红色值,G代表绿色值,B代表蓝色值,取值范围是0~255或0%-100%。例如,红色可以用rgb(255,0,0)表示
  • 使用颜色名称来表达颜色比较直观,例如,红色可直接用red表示,但不同浏览器有不同的预定义颜色名称
2.长度单位

(1)绝对长度单位包括pt、cm、mm、in和pc等

  • pt:磅,这是标准的印刷上的量度,广泛使用在印刷和排版上
  • cm:厘米,全世界统一的度量单位,
  • mm:毫米,全世界统一的度量单位
  • in:英寸,常用的度量单位
  • pc:派卡,相当于我国新四号铅字大小

以上五种绝对长度单位换算方法:1in=2.54cm=25.4mm=72pt=6pc=12pt

(2)相对长度单位包括:px、ex、em等

  • px:像素,是相对显示器屏幕的分辨率而言的
  • ex:相对于字符x的高度,该高度通常为字体尺寸的一半
  • em:相对于当前对象内文本的字体尺寸
3.时间长度

在CSS中时间单位只有两种:s(秒)和ms(毫秒),其中1s=1000ms。
input {pause-before:2s;}
input {pause-before:2000ms;}

4.角度单位

CSS中角度单位包括deg、grad、rad

  • deg:就是平常说的度,一个圆等于360deg
  • grad:梯度。以梯度等于一个直角的1%,一个圆等于400grad
  • rad:弧度。把等于半径长的圆弧所对的圆心角叫1弧度的角。
    img {azimuth:90deg}
    img {azimuth:30grad}
    img {azimuth:6rad}
5.频率单位

CSS中的频率单位只有两个:Hz(赫兹)和kHz(千赫兹),都是声波单位,其中1kHz=1000Hz
strong {pitch:75Hz}
strong {pitch:75kHz}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值