[你必须知道的css系列]第一回:冠冕堂皇:CSS的作用及其基本结构

本文将介绍以下内容:

  • css的作用
  • CSS的基本结构
  •  
    css的作用
      之前在上一篇写过不会介绍太多CSS虚的东西,但还是决定把“CSS的作用”这个话题搬上来说,是因为我有一次找工作面试,很直接的那个面试官就问了我
    “CSS的作用是什么?”我当时回答也很搞笑,就说了句,“现在做网站离不开CSS,这个就像鱼离不开水一样”。可能觉得说得也没错。但深层次的想,确实没有回答人家的问题。
      记得在很久以前,久得我都记不清楚了。那时我刚接触做网页的时候,要让页面中的某个段落加粗一下,就要添加一个HTML标签并加上相应的属性。要让某个段落对齐,我会在dreamweaver的设计器里打一大堆空格,然后代码里会产生一大堆的  (不好意思,我当时根本不知道)。每次要修改都要经历这样一个过程,光不谈HTML代码的臃肿不说,维护起来更是一个让人崩溃的事。
      还好不久CSS就出现了,在这儿要感谢那些前辈们。通过他们的努力上面的问题得到了很好的解决。抛开各个浏览器对CSS解析的不同不说,最起码CSS让页面不再那么难维护了。
      我认为CSS的出现具有以下几个重要作用:
        1)修饰页面的元素时,避免了对HTML元素的改动(也就是现在流行的一个概念:“语义化”结构与表现分享了)
          每个浏览器对HTML的解析都不同。HTML原来设计的时候定位于定义文档的内容,通过使用<p>,<table>,<b>各类标签,所要表达的初衷是“段落”、“表格”之类的信息。但随着各大浏览器的出现,也逐渐将新的HTML标签和属性到HTML规范中,以至于使得创建一个合理的语义化的页面结构变得困难许多。
          通过使用CSS样式,可以定义字体、颜色,那么就可以让这些原本不需要的表现形式的标记消失,使合理的语义化标记处于更好的位置,更好的发挥标记的作用。
        2)  使我们能够更轻松的控制页面结构和布局
          网站重构随着这个概念的出现,也带来了DIV结构的流行,因此也就出现了我们现在口头常说的“DIV+CSS做网站”。单从这个DIV+CSS的叫法来分析,可以了解到CSS已经被大家用在了页面布局上了。
          但一个页面不是只有控制DIV就控制了全面,还有很多其它的HTML标记,以前用table布局的页面,一样可以用CSS来控制它。
        3)最根本的也是我们开发人员关心的,提高开发和维护的效率
          一个网站,如果有很多相同的结构的文件需要修改,涉及到的工作量是巨大的,但如果通过改CSS来实现页面的灵活变换,只需要修改某个样式就可以上,效率上大大提升。
    CSS的基本结构:selector{property:value;}
      CSS的语法结构由两部分组成即:选择器和规则。规则也就是花括号中包含的内容。
        选择符(selector):主要是告诉浏览器这个样式是用于页面中的哪些对象的,这个对象可以是HTML中的某个标记,也可以是指定的Class或ID。这个后面会详细的说。

        声明:声明主要是告诉浏览器怎样去渲染页面中的与选择符相匹配的对象。由属性与属性值组成,冒号相隔、分号结束的声明形式可以一个或者多个的组合而成。

        属性:属性主要以一个单词的形式出现,并且都是CSS约定的,不可以自己定义。

        属性值:属性值将根据属性改变形式,包括数值,单位等。。。。

    说理论一般都不容易让人记住,来举个例子吧。

      现在我要将页面中的也就是body下的所有的文字设为红色,且要18号字体,加粗显示,可以这样写:

     

    body
    {
    color
    :red;/*红色,以后我会专门写一下关于CSS中颜色的表现方面的东西*/
    font-size
    :18px;/*大小18px*/
    font-weight
    :bold;/*加粗,还有一种写法font- weight:700;这两个是相等的*/
    }

    怎么样很清楚吧,注释也够详尽了,但这样的做法有个弊端就是,注释很详尽,样式一多的时间,文件会很大。在HTTP请求非常奢侈的今天任何一点额外的负担都是要注意的。

    所以我们下面可以再简一下,这样:

    /*对body下所有的文字以红色加粗并以18像素显示*/
    body
    {color:red; font-size:18px; font-weight:bold}

    可能有的人认为这没什么,而且会带来阅读上的不便。但你想一下,我们现在做的一般互联网项目有哪个少于十个八个样式表的。。。不管什么东西在小的时候都无所谓,但一大一多,就不得不考虑一些性能上的问题(当然关于CSS的执行效率方面的知识也有很多的学问,以后看情况也会介绍)

    这边就压缩CSS给大家两个有用的在线工具,可以作为参考一下,我平时一直在用非常不错:


     

     

    http://www.cleancss.com/ 

     

    http://www.cssdrive.com/index.php/main/csscompressor 

    上面讲了半天,这会总结一下,所有的CSS代码都存在这么几个特点:

      每个声明的属性和属性值之间都是用冒号隔开、分号结束。如:font-size:18px;font-weight:bold;
      声明都是紧跟着选择符的,并被花括号包含着。如:body{.......}
      属性与属性之间的空格可有可无。

    这篇好像定得有点太空了,不知道会不会被园子里的人臭骂一顿。

    想好了下一篇会介绍CSS中的选择器(通配选择器、类选择器、包含选择器、子选择器、以及相信选择器,属性选择器,ID选择器,选择器之间的组合关系) 。总之会把选择器介绍个遍,好像CSS3快出来了,里面又加了一些,我看情况也会加上去的。总之可能要费点时间吧!

    原文地址:https://www.cnblogs.com/shihao/p/1694272.html