CSS+DIV简易教程,个人经验

首先先声明,本人学习是根据国外页面CSS文件自行摸索,对很多概念化的东西并不理解,比如盒子模型等,完全不知道是什么意思

再说几点注意事项

1,用DW创建新的页面的时候,会出现一堆英文,如下
<!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">
此段不可删除,为W3C标准!(记得最开始老师教的时候我问过是什么意思,他老人家告诉我是广告,囧…)


2,各个标签对之间都有默认的margin等值,所以最开始要设置为0
div,p,span,form,ul,ol,li,input {margin:0;padding:0;border:0; }


3,注意一些HTML语言,不同的位置完全可以造成两种截然不同的结果。
例:
样式为:
<style type="text/css">
<!--
#left{float:left;width:200px;height:300px;background-color:#FF0000}
#center{height:400px;background-color:#00FF00}
#right{float:right;width:200px;height:500px;background-color:#0000FF}
-->
</style>
HTML代码:
<div id="left"></div>
<div id="center"></div>
<divid="right"></div>

会产生如下的页面:

[attach]345090[/attach]


我们样式不变,换下HTML的代码
<div id="left"></div>
<div id="right"></div>
<div id="center"></div>
会产生如下页面:

[attach]345091[/attach]


相同的样式,不同的摆放顺序会造成不同的显示效果。
4,对于有float的,在最后一定要消除float效果
当然,如果你只为兼容IE6,大可以不必消除
5,减少嵌套,看到很多新手在最开始写的时候往往会有大量的嵌套(表格布局的后遗症吧
6,先布大块,在布小块
7,不要有过多的页面注释,我曾经修改的一个页面
[attach]345092[/attach]

完全变形,找了半天也没发现是什么问题,偶尔中删除了其中一条注释,居然好了,这个不清楚是什么原因,希望有高人指点一下。
8,在没有特殊要求的情况下不要设置高度


其实学习CSS+DIV很简单的,只要搞清楚其中的几个属性就可以完成布局。

一,搞清float样式

Div标签的默认宽度为百分之百,也就是说当两个div并列的时候产生的效果是第二个div会在第一个的下一行,但是布局的时候一定会有一行两列的情形出现,这个时候我们就要引入float
<div style=”float:left”></div>
<div style=”float:left”></div>
<div style=”clear:both”></div>(再次啰嗦,一定要记得清除浮动)
这个就是最简单的一行两列

二,一定要搞清楚padding,border,margin的含义

比如有两幅表好的画
画到边框的举例为padding
边框为border
两幅画之间的距离为margin
其中padding算入宽高之内,颜色为background的颜色
边框算入宽高之外border:1px solid #000(1像素黑色实线)
Margin没有颜色属性(另外说下,在有float属性的时候在IE6会造成margin双倍的问题,这个时候只要加入display:inline即可解决)

三,关于相对定位,绝对定位和空间定位

绝对定位:position: absolute;有如下两种情况 
1,没有设定 TopRightBottomLeft 的情况,默认依据父级的内容区域原始点为原始点
2,有设定 TopRightBottomLeft 的情况,这里又分了两种情况如下:
(1),父级没 position 属性,浏览器左上角( Body)座标原始点进行定位,位置由 TopRightBottomLeft 属性决定

(2)
,父级有 position 属性,父级的座标原始点为原始点
相对定位:position: relative;
参照父级的内容区域原始点为原始点,无父级则以 Body 内容区域原始点为原始点,位置由 TopRightBottomLeft 属性决定,并且会在父块以外占据相同的大小,所以不推荐使用。
空间定位:z-index:数值
当两个板块之间用绝对定位产生上下的时候,可以用z-index来决定哪个板块再上,数值大的位于数值小的上方。
做一个简单的阴影效果:
<div style="width:900px;font-size:20px;font-family:'黑体';position:absolute; background-color:#CC0000; color:#00CC00;padding:10px; height:200px; font-weight:bold">

<div style="position:absolute;left:5px;top:5px; z-index:150">
阴影效果</div>

<div style="position:absolute;left:7px;top:7px;color:#666666;z-index:50">
阴影效果</div>
</div>
*注意一点,当设置left属性的时候不要设置right,同样,设置top之后不要设置bottom

完全理解以上三点之后,就可以进行自己的CSS+DIV制作
最后说一些关于IE6,IE7FF的兼容问题以及一些小技巧


1hack方法
FF,IE7可以识别!important
IE6IE7识别*
IE6识别_
#hack{width:500px;*width:400px!important;_width:300px}
宽度在FF下为500IE7400IE6300
就我个人来说,padding值对于FFIE系列的解析并不相同(个人感觉),为了达到完全一直而使用hack,一般情况下不需要使用这种方法
2,当有float属性时,marginIE6下双倍,可加入display:inline来解决
3,想要有最小高度并根据内容自伸缩可以用以下方法
设置min-height:500px!important;_height:500pxFFIE7会以min-height值为最小高度并按内容伸缩,height对于IE6为最小高度并按内容伸缩
4,对于FF想要板块根据页面居中需在父块设置margin:0 auto
5div标签没有垂直居中的概念,所以当只有一行文字的时候,想要垂直居中只需将line-height设置与height相同即可
6W3C标准写法:

1)所有卷标元素名称都使用小写
错误 <HTML> <TITLE> <HEAD> <BODY>
正确 <html> <title> <head> <body>

2)所有没有成对的空标签必须以 />结尾
错误:<br> <hr>
正确:<br /> <hr />

3)不允许使用target="_blank"
HTML4.01可以使用target="_blank",
XHTML1.0是不被允许的,你可以改写为 target="new"

4)特殊字符以符号表示
比如空格使用 

(5) 
正确使用CSS样式表
错误 <style>
正确 <style type="text/css">

(6) 
同一个id选择器不可重复使用

(7) 
绝对不可省略双引号或单引号

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章