CSS技术的出现实现结构与表现分离

所属分类: 网页制作 / CSS 阅读数: 2051
收藏 0 赞 0 分享
css的作用
有一次找工作面试,很直接的那个面试官就问了我“CSS的作用是什么?”我当时回答也很搞笑,就说了句,“现在做网站离不开CSS,这个就像鱼离不开水一样”。可能觉得说得也没错。但深层次的想,确实没有回答人家的问题。
记得在很久以前,久得我都记不清楚了。那时我刚接触做网页的时候,要让页面中的某个段落加粗一下,就要添加一个HTML标签并加上相应的属性。要让某个段落对齐,我会在dreamweaver的设计器里打一大堆空格,然后代码里会产生一大堆的  (不好意思,我当时根本不知道)。每次要修改都要经历这样一个过程,光不谈HTML代码的臃肿不说,维护起来更是一个让人崩溃的事。
还好不久CSS就出现了,在这儿要感谢那些前辈们。通过他们的努力上面的问题得到了很好的解决。抛开各个浏览器对CSS解析的不同不说,最起码CSS让页面不再那么难维护了。

我认为CSS的出现具有以下几个重要作用
修饰页面的元素时,避免了对HTML元素的改动(也就是现在流行的一个概念:“语义化”结构与表现分享了)
每个浏览器对HTML的解析都不同。HTML原来设计的时候定位于定义文档的内容,通过使用<p>,<table>,<b>各类标签,所要表达的初衷是“段落”、“表格”之类的信息。但随着各大浏览器的出现,也逐渐将新的HTML标签和属性到HTML规范中,以至于使得创建一个合理的语义化的页面结构变得困难许多。
通过使用CSS样式,可以定义字体、颜色,那么就可以让这些原本不需要的表现形式的标记消失,使合理的语义化标记处于更好的位置,更好的发挥标记的作用。

使我们能够更轻松的控制页面结构和布局
网站重构随着这个概念的出现,也带来了DIV结构的流行,因此也就出现了我们现在口头常说的“DIV+CSS做网站”。单从这个DIV+CSS的叫法来分析,可以了解到CSS已经被大家用在了页面布局上了。
但一个页面不是只有控制DIV就控制了全面,还有很多其它的HTML标记,以前用table布局的页面,一样可以用CSS来控制它。

最根本的也是我们开发人员关心的,提高开发和维护的效率
一个网站,如果有很多相同的结构的文件需要修改,涉及到的工作量是巨大的,但如果通过改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配合JavaScript做酷的动态页面效果

  利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
收藏 0 赞 0 分享

WEB标准,Web前端开发工程师必备技术列表

  想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:   通过许多实际项目,
收藏 0 赞 0 分享

用CSS制作Alpha滤镜测试板

alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
收藏 0 赞 0 分享

非常流行的所谓的气泡窗口

普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
收藏 0 赞 0 分享

CSS教程:li和ul标签用法举例

LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
收藏 0 赞 0 分享

CSS教程:CSS中的定位(position)

  使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位
收藏 0 赞 0 分享

CSS教程:盒模型(BOX Model)

  如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
收藏 0 赞 0 分享

无延迟翻滚的图形与CSS混合风格按钮

  在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。   相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
收藏 0 赞 0 分享

css里expression实现界面对象的批量控制

用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
收藏 0 赞 0 分享

CSS教程:水平对齐(text-align)

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。   1.语法   text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
收藏 0 赞 0 分享
查看更多