zoukankan      html  css  js  c++  java
  • 【学习DIV+CSS】2. 学习CSS(一)--CSS控制页面样式

    1. CSS如何控制页面

      使用XHTML+CSS布局页面,其中有一个很重要的特点就是“结构与表现相分离”(结构指XHTML,表现指CSS)。有人这样描述这种分离的关系,结构XHTML好比一个人,表现CSS好比是衣服,如何让CSS去控制页面,好比是如何让衣服穿在人身上。不同的CSS就可以使页面出现不同的风格适应不同的网站,而不同的衣服,人穿上后就会体现不同的职业。

      1.1 如何让CSS去控制页面?

        CSS控制页面的样式有四种,分别是:行内样式、内嵌样式、链接样式、导入样式。

        1)行内样式: 

          行内样式是4中样式中最直接最简单的一种,直接对html标签使用 style="",例如:

              <span style="color:#ffffff; font-size:15px;">行内样式</span>

             虽然这种方式比较直接,但是过多的style属性代码会导致html页面不够纯净,造成文件体积过大,冗余过多,不利于搜索蜘蛛爬行,同时会造成后期运维成本的提高。   

        2) 内嵌样式:

          内嵌样式是将css代码写在<head></head>之间,并且使用<style type="text/css"></style>进行声明,例如:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
       <title>内嵌样式</title>
      <style type="text/css">
    
        .class1{color:#ffffff; font-size:15px;}
    
      </style>
    </head>
    <body>
    
      <span class="class1">内嵌样式</span>
    </body>
    
    </html>

          如果一个网站或系统的页面不是很多的情况,使用内嵌样式到是个不错的选择,如果有很多页面的话就会造成每个页面的文件都很大,不利于CSS样式共享不说,也会给后期的维护工作带来很大的难度。

        3)链接样式:

          链接样式可以说是使用频率最高,最实用的一种方式了,只需要在<head></head>加上<link href="css文件路径" type="text/css" rel="stylesheet"/>即可,举个示例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
       <title>链接样式</title>
      <link href="../Common/css/main.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    
      <span class="class1">链接样式</span>
    </body>
    
    </html>
    .class1{color:#ffffff; font-size:15px;}

          这种方式将HTML文件和CSS文件彻底的分成了两个或多个文件,实现了页面框架HTML代码与表现CSS代码的完全分离,使得前期制作和后期的维护变的方便,并且如要要保持界面风格统一,只需要把这些公共的CSS文件单独保存成一个文件,其他的页面就可以分别调用自身的CSS文件,如果需要改变网站或系统风格,也只需要改动公共的CSS文件即可,这才是我们XHTML+CSS制作页面提倡的方式。

        4)导入样式:

         导入样式和链接样式比较相似,采用import方式导入css样式集,在HTML页面初始化时,会被导入到HTML文件中,成为文件的一部分,类此第二种内嵌样式。建议大家采用链接方式。

           注:导入样式和链接样式有什么区别呢?

    link
     link就是把外部CSS与网页连接起来。
    
    @import
     import文字上与link的区别就是它可以把在一个CSS文件中引入其它几个CSS文件。
    
    为什么使用@import
    大部分使用@import方式的人是因为旧的浏览器是不支持@import方式的,这意味着我们可以使用@import来引入只让现代浏览器解析的CSS样式.
    另一个主要的原因就是当你的网页需要引入几个外部CSS文件时.你可以使用link引入一个CSS,然后在这个CSS文件中用@import方式引入其它几个CSS文件.这样看起来更容易管理.
    
    为什么使用link
    使用link方式一个最主要的原因就是你可以让用户切换CSS样式.现代浏览器如Firefox,Opera,Safari都支持rel="alternate stylesheet"属性(即可在浏览器上选择不同的风格),当然你还可以使用Javascript使得IE也支持用户更换样式.
    
    @import的小毛病
     如果你网页head标签里面十分简单,只有@import属性的话,当用户浏览的网速较慢时,他会看到一个没有风格样式的页面,然后随着CSS文件被下载完成才可以看到应有的风格.要避免这样的问题,你需要确保head里至少有一个script或是link标签.
    04-11更新:  @import会使得CSS整体载入时间变长.并且在IE中会导致文件下载次序被更改,例如放置在@import后面的script文件会在CSS之前被下载.
    
    到底要用那种方式
    就目前看来小型的网站还是使用link比较合适(或者说比较流行),当然如果将来我们需要把CSS进行模块化管理也肯定要用到@import.

      1.2 样式的优先级

        如果这上面的四种的两种处于同一页面,就会出现优先级问题,四种样式的优先级是按照“就近原则”:

              行内样式 > 内嵌样式 > 链接样式 > 导入样式

  • 相关阅读:
    LeetCode 230. 二叉搜索树中第K小的元素(Kth Smallest Element in a BST)
    LeetCode 216. 组合总和 III(Combination Sum III)
    LeetCode 179. 最大数(Largest Number)
    LeetCode 199. 二叉树的右视图(Binary Tree Right Side View)
    LeetCode 114. 二叉树展开为链表(Flatten Binary Tree to Linked List)
    LeetCode 106. 从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inorder and Postorder Traversal)
    指针变量、普通变量、内存和地址的全面对比
    MiZ702学习笔记8——让MiZ702变身PC的方法
    你可能不知道的,定义,声明,初始化
    原创zynq文章整理(MiZ702教程+例程)
  • 原文地址:https://www.cnblogs.com/lihaibo/p/3514796.html
Copyright © 2011-2022 走看看