css入门教程(一)

这一系列文章适用于学习了css但很少收获的人。哎,主要是想公司人员写代码规范点,这样开发效率高一些。废话不多说。首先要知道几个基本知识。

网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。

结构化标准语言主要包括XHTMLXML

表现标准语言主要包括CSS

行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。

采用网站标准的好处。

· 文件下载与页面显示速度更快; 相对于表格布局少了很多代码。

· 内容能被更多的用户所访问(包括失明、视弱、色盲等残障人士); 说明下在美国一个网站不能被残障人士查看会起诉的。包括用网页阅读器。

· 内容能被更广泛的设备所访问(包括屏幕阅读机、手持设备).

· 用户能够通过样式选择定制自己的表现界面 比如现在比较流行的更换网页主题。

· 所有页面都能提供适于打印的版本。针对打印写专门的css。好像现在用的比较少。

· 最后主要是方便了后台代码开发人员。好处以后在细节中提到。


直接 上代码 :

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

</head>

<body>

</body>

</html>

先来个扫盲,一句句解释。

第一行。DOCTYPEdocument type的简写。主要用来说明你用的XHTML或者HTML是什么版本。浏览器根据你DOCTYPE定义的DTD(文档类型定义)来解释页面代码。

你可以试一下代码写完后不要上面的这一句。看看结果。

一般css下面有三种写法。用第一种就可以了。后面两种自己找资料。我不写出了。记得我学vs2005时,安装后默认为html4.0.主要代码和别人一模一样,浏览起来就是不一样。就是吃了DOCTYPE的亏。伤心了。

(1)过渡型(Transitional (2)严格型(Strict ) (3)框架型(Frameset 

第二行。<html XMLns="http://www.w3.org/1999/xhtml" > 

一个namespace(命名空间)是收集元素类型和属性名字的一个详细的DTDnamespace声明允许你通过一个在线地址指向来识别你的namespace。只要照样输入代码就可以。

<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />

声明编码方式,这个比较好,用中文传参一定要。不然老丢失数据。

最后声明一点,代码里面不要出现一个大写字母。因为xml对大小写敏感。这一点dreamweaver(后面文章全简写成dw)有一点不厚道,有些字件还是大写。嗯,这点vs 做的好些。刚试了下最新版的dw cs4 。好像全部变成了小写。要学习还是装个最新版,代码可以写的不好,咱版本可要用最新的。

下一步,我们就要考虑页面了。传统的做法我们刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用 Photoshop

或者 Fireworks 画出来、切割成小图。最后再通过编辑 HTML 将所有设计还原表现在页面上。

现在不急,我们要思考几个问题。首先要思考网页上的结构。

我下面的例子就来最基本的。

一个网站包括:头部,一般为图片和flash,包括网站logo和中英版什么的。导航,页面主菜单。中间网页功能区。尾部。包括联系方式备案(一定要备案,切记,不按法律来不好办事。)

现在假设你已经知道和了解大部分html标签。我是比较笨,刚开始学html标签用了两个多月。不了解的自己赶快找资料,不然下面理解有难度。

几条基本原则。

1.所有的属性要用括号括起来。如height="100",而不能是height=100。但你去看看百度的首页代码,就没有括起来,这个你自己去想原因。

2.关闭所有标签。<span>每一个打开的标签都必须关闭.</span>空标签也要关闭.<br  />这一点上dw老版本就不关闭。哎,升级吧!

3.注意合理嵌套。<div><p></div></p>这是错的。正确的是<div><p></p></div>.不要跟我说按前面的那样写浏览出来也是正确的。那是因为浏览器智能,记住不是每个浏览器都是一样聪明。

4.为图片添加 alt 属性。Vs 提示的比较好。有利于搜索和阅读器。

下面的主要代码全部在dw cs4中书写。用的css2.0。css的发展史请百度一下。这样就知道为什么有兼容性这个大问题了。看一张css 的经典图片。


知道其中的各个属性的意思吗?不知道就先放在这里。

开始布局。

先看一下这张图。这是布局的最基本思想。以后就按这个来。不会错的。

看不懂?好,转换成代码。(注意代码的对齐,要的是个编程之美。不然天天看这些乱七八糟的的代码还不恶心死。

<body >

<div id="container"><!--页面层容器--> 

   <div id="Header"><!--页面头部--> </div>

   <div id="PageBody"><!--页面主体-->  

     <div id="Sidebar"><!--侧边栏--> </div>

     <div id="MainBody"><!--主体内容--> </div> 

   </div>  

   <div id="Footer"><!--页面底部--></div>

</div>   

</body>

把代码比对图认真理解下。这张图也是上面所说的一般的网页方式。

这里加一点,写一下常用的css命明规范。这样美工和程序配合默契高.

  头:header  内容:content/container 尾:footer  导航:nav  侧栏:sidebar 

 栏目:column  页面外围控制整体布局宽度:wrapper  左右中:left right center 

 登录条:loginbar   标志:logo   广告:banner  页面主体:main   热点:hot   新闻:news   下载:download  子导航:subnav   菜单:menu   子菜单:submenu   搜索:search   友情链接:link   页脚:footer   版权:copyright   滚动:scroll   内容:content  标签页:tab  文章列表:list   提示信息:msg  小技巧:tips   栏目标题:title   加入:joinus  指南:guild   服务:service   注册:regsiter   状态:status   投票:vote   合作伙伴:partner  按钮:btn

上面所有单词记住区分大小写。其实对于那些不区分大小写的语言,也注意一下这个问题。养成个好的习惯很重要。

名字命明完了,下面我们就要开始定义了。

我们直接 在<head>

<title>无标题文档</title>

<style type="text/css">

body{ margin:0; padding:0; font-size:12px; background:red; font-family:Verdana, Geneva, sans-serif}

</style>

</head>

具体这些标签什么意思不用我说明吧。好。Margin:0;能这样写就不要写成margin:0px;你这不是给我加大网页大小吗!同理padding.然后定义一个网页字体大小。背景为红色。也可以写成background:#f00background:#ff0000;注意css中颜色是可以简写的。明显的我们要用简写。如:#112233写成#123,注意bgcolor:#123,是错的。这个得全写成bgcolor:#112233;还有在js用颜色也要写全写。最后是字体。这里我们中国要注意了,由于我们所有的操作系统的字体就那几种,你就千万别定义那些ps中的艺术字体了,不是每个电脑都装这么多字体的。如 font-family:方正黑体。错。别人电脑可没有装这些字体。

好,下面我们看正文内容。Container.

首先我们要给网页一个宽度。多宽好了?960px880px.为什么是这么多, 网络上有相当多的文章来说明。还有什么24像素原理。参考.要在宽一点就1004px,为什么这么多?因为现在电脑屏幕一些为1024*768;我们减去右边滚动条的20像素,1024-20=1004;这样刚好全屏!

#container{ width:960px; height:500px; background:#fff}

好,效果出来了。有人说,我要居中,好,我们居中。

这里怎么加,#container{ width:960px; height:500px; background:#fff;margin:0 auto;}

我们加一句margin:0 auto;

margin说明 ;

检索或设置对象四边的外延边距。
如果提供全部四个参数值,将按上-右-下-左的顺序作用于四边。(这个顺序一定要背劳)
如果只提供一个,将用于全部的四边。(margin:0)
如果提供两个,第一个用于上-下,第二个用于左-右。(margin:10px 5px)
如果提供三个,第一个用于上,第二个用于左-右,第三个用于下。(margin:10px 5px 5px)
内联对象要使用该属性,必须先设定对象的heightwidth属性,或者设定position属性为absolute

我们提供了两个就是说上下为0,左右我们自动。这下就居中了。

好,接下来定义头部,

#Header{ width::960px; height:100px; background:#00f}这里定义宽度高度背景颜色。

#PageBody{ width:960px; height:300px; background:#ddd}这里定义中间主要页面宽度高度背景颜色。

先说一个属性。Float;

float :noneleft|right
 
参数:
 
none : 对象不浮动
left : 对象浮在左边
right : 对象浮在右边
 
说明:
 
该属性的值指出了对象是否及如何浮动。
当该属性不等于none引起对象浮动时,对象将被视作块对象(block-level),即display属性等于block。也就是说,浮动对象的display特性将被忽略。就是说不需要在定义display:block


这里注意要定义宽度和高度。

#Sidebar{ width:200px; height:300px; background:#C60; float:left}

好,这里我要这块元素距离头部10个像素怎么写?

#Sidebar{ width:200px; height:290px; background:#C60; float:left;margin-top:10px}(高度相应少10)

中间右边

#MainBody{ width:750px; height:290px; background:#f0f; float:right; margin:10px 0 0 10px }

margin:10px 0 0 10px这样写是不是比margin-left:10px; margin-top:10px少代码又好看一些?

底部:

#Footer{ width:960px; height:90px; margin-top:10px; background:#f90; clear:both}

OK

所有样式

body{ margin:0; padding:0; font-size:12px; background:#F00; font-family:Verdana, Geneva, sans-serif}

#container{ width:960px; margin:0 auto; height:500px; background:#fff}

#Header{ width::960px; height:100px; background:#00f}

#PageBody{ width:960px; height:300px; background:#ddd}

#Sidebar{ width:200px; height:290px; background:#C60; float:left; margin-top:10px}

#MainBody{ width:750px; height:290px; background:#f0f; float:right; margin:10px 0 0 10px;  }

#Footer{ width:960px; height:90px; margin-top:10px; background:#f90;;clear:both}

好,我来解释一下clear:both;我们修改一下上面的代码为:

body{ margin:0; padding:0; font-size:12px; background:#F00; font-family:Verdana, Geneva, sans-serif}

#container{ width:960px; margin:0 auto; height:500px; background:#fff}

#Header{ width::960px; height:100px; background:#00f}

#PageBody{ width:960px;  background:#ddd}

#Sidebar{ width:200px; height:290px; background:#C60; float:left; margin-top:10px}

#MainBody{ width:750px; height:290px; background:#f0f; float:right; margin:10px 0 0 10px;  }

#Footer{ width:960px; height:90px; margin-top:10px; background:#f90}

我给出浏览器图:

IE

Opea,chrome,firefox,IE8

找一找底部到那里去了?

这里我们去掉了中间部分的高度和底部的clear:both;好,这是第二个兼容性代码。要记住。

有没有觉得我们布出的和windows操作系统的文件系统界面很像呢?是的。关天怎么样好看这个你可以找一下网站设计与网页配色方面的书。

接下来我们来做导航:

效果图:

代码:

#Header{ width::960px; height:100px; background:#00f}

#Header ul{ margin:0; padding:0; list-style-type:none; background:#fff; height:25px; width:500px; font-size:14px; font-weight:bold}

/*首先去掉默认的marginpanning,你可以去掉看看发生了什么变化。其次li的前面会自带一个小圆点,我们用list-style-type:none;去掉。这一点在IE中默认就去掉。为了兼容必须加上。然后给背景加上一个颜色白色。定义一个高度和宽度。没有的话出不来背景颜色。然后字体大小和精细。这里有一个词。继承。

什么意思呢?就是说我们在body里面定义了页面所有的字体大小,只要是这个页面内的字体这时都会继承为12px,所以要改字体大小。*/

#Header li{ float:left; width:100px; height:25px; line-height:25px; text-align:center}

/*我们知道li元素是上下排的,我们加一个float:left就可以让他横排了,定个每个li的宽度和高度。 接着定义行高,这个是用来让单排字居中显示。这一点很重要.有人用vertical-align:middle定义居中,这是实现不了的。接着让字在li中居中显示。*/

#Header li a{ text-decoration:none; display:block;color:#000}

/*关于a标签的(hover,active,link,visited)halv,这个是html的内容。自己去找资料.首先去掉链接下面的线。然后让他以块状元素显示,这是为了上背景颜色。字体为黑色.*/

#Header li a:hover{ text-decoration:underline; display:block;background:#0Cf; color:#f00}

/* 先让鼠标放上去有下划线,定义一个背景颜色和字体颜色。效果自己预览看。*/

平时最好少在css中少加中文注释。要加的话注意charset="gb2312"


posted @ 2009-10-07 10:51  余魁  阅读(440)  评论(0编辑  收藏  举报