我爱电脑技术论坛's Archiver

bbs23 发表于 2008-4-5 10:07

学习CSS制作网页总结的一些经验

使用DIV+Css排版不是用换个标签然后再去按照表格的方式去排版,而是做到内容与表现的分离。
Un8E1gL a _f K{R4`8J
1: ID用于标识页面单独元素以及持久行的结构性元素 方便JS的调用 }M6qp yw^ r~S

U E| qL6O 类用于标识同一页面可重复定义使用的结构性元素 ID与类的命名需与表现形式无关 :leftContent 而使用有意义的定义方式:sideBar等等。命名方式遵循“驼峰式大小写(标志符由多个单词组成 除首词首字母小写外 其余单词首字母均大写)”
2[6l"[mLher g u+?vE(w
2:避免滥用类 当类型的结构需要不一样的表现时 记得什么是层叠样式表 具体结构中的p a h1等可使用如下方式:div.sideBar p{}定义即后代选择器+ID或类选择器组合方式。 a5p'X G.`$KF
;A2\ hOl2].l
3:DIV与SPAN IV(块级框)用于对块级元素的分组 SPAN(行内框)用于对行内元素分组标识
Fux } j,S/^t&h F-I
.tjE6PzH 4:对于页面基本默认的方式可以选择通用选择器(*标识)进行定义 * { padding:0; margin:0;}
}e{s/} cg+qK5H
F&mV:F[0x;y vI*}{%H 5: body 也是可以添加ID和类的 这样就可以为其添加特别样式。
s`u_Z)CS'yh
&A-`1V#Gi,J*j/iW 6:样式表中导入样式表需在顶端 覆盖规则为本身样式覆盖导入样式。
zK.f-kUx z
!n2cFP5OX 7:CSS样式表细分化 颜色 布局 风格 表单 均可分离 这样对以后的修改和风格设计更方便。
c/?/Jz(v#t a[;n (qb_J+Qc'\d
8:盒模型:内→外
9~A t?_
K3?U6RsW E 以下是引用片段:
d ct-X6_ Nw+Oi content←width height(补充:height只有在父元素定义了绝对高度时其%才有意义)
I1i#]6k-T d5P border ek2z ?&](S)]
padding(内补丁)-“填充” n cmd+K-Sy
background-image
:g.k{}f] background-color
H;Hu%|Dg margin(外补丁)-“空白边”透明 可为负值
N H?$K*q-Z-lS
aj1qI'k2W'z 记住:在css中 width是指内容区域的宽度 F5gI9~J1y7G1c:~3`&x%o
0K3E.f9d$a1O!q5B$`
IE/WIN与盒模型: WI#BA-CT X
eQj]+R(} |-[ Do
IE5.5/IE6怪异模式下: 元素框总宽度=content.width+margin.width 3inYv'Q2BM]Cx
7{RV})WC0@YK
Firefox/Opera/.. : 元素框总宽度=content.width+padding.width+border.width+margin.width
-ia{ow:j&B
2fEG)AL o@l 差异在于:IE5.5/IE6怪异模式下 width=有效content.width+padding.width+border.width 内补丁和边框被算在内容宽度里面 y8Eb+Z[jDH
l;y|.MM
#select{width:750px;padding:10px;border:5px} IE怪异模式:总宽度:750px FF/OP:780px l4OhdT5W Nf"NX

3Y4IS0h [ S IE怪异模式:有效内容宽度:750-20-10 FF/OP:750
[$qB:MX(TVBxO
I6_-ds)M5M IE6正常模式下:同于FF/OP
e-v n:Y~$FME'_3X;O \p)I Y%rQ
处理方法:在父元素或子元素中使用padding 本身不使用 i.GDN%P

tHg*yO`kqB 空白边叠加:当两个空白边叠加时 顶或底边将会叠加 实际空白边高度=空白边大的值
bek^+O.J nWa7Jz Y ys9t
例: 6??a Y7Mx5H

hi:XhqQ 以下是引用片段: <div id="top" style="margin:0 0 10px 0;"></div><div id="bottom" style="margin:20px 0 0 0;"></div> Q jDt1?Nvwq*M!}
,IB[#v3w2nrr
空白边高度为20px C2F!? fz]'\

$W5v2^$NY1x'Msn 但是如果这个时候你添加边框或则填充,将不再叠加 Ql3qLor
,g3~1P~*_^5w
//定位机制//
Za'g l9@fo/Zw
h!V!t$F%D` lR&f.D 9:相对定位(relative):相对于其默认初始位置 绝对定位:相对父级元素或画布、Html元素 与文档流无关 可覆盖其他元素 使用Z-INDEX 控制其层次。IE5.5/IE6下 对right bottom时 需设定框的宽高 后则根据画布右底定位。
3e5eec8B3G B"~ V~wP)]l
绝对定位(absolute)
2s ?$}5r2P +n x$w)lELb N"n
10:float浮动:记住:“在标准浏览器中 浮动元素脱离了文档流 不占据外围容器空间” 明白了这点 你就会明白为什么IE和FIREFOX下表现的不同了。IE5.5、IE6浮动元素依然占据外围容器空间 r\%@'r0l_dVM

:uJm"KX-x;O 例如:怎么在IE下feeter正常 在firefox下就跑上去了呢?
$~ ~-n6Nzq3YR%W g
o+V_,G R'BbVFv"\ IE下 当float和text-align定义的方向一样时 出现双倍错误:
FM8n&@:H#?(C1`7B
T3K*K)Lg9vXr 以下是引用片段:
8V i7N6g L select{float:left;text-align:left;margin:0 10px;} "E]` n6T k L

| w4?!E|J;l+R
7OJ;j dAa^Ir 实际左边margin-left:20px;FF/OP:10px 解决:加上display:inline; (T4X:i3g },s5Og
!h%S^ |I
11:彻底理解 “清除浮动”clear b1_%^q^`#A7qD"Dn

ZTI1EMD(f@ clear:none、left、right、both、
bL:L/mQ[
p W^%H?u,w _.Br+W 表示当前框元素哪些边不应该挨着浮动框
'z Av!uE 5@gV9lA'F5g~i0?
理解了10中float在不同浏览器下的表现 你也就知道如何去使用清楚了。
J[}jO!N
6}a'RLSp2R~I8z 12:背景图像的定位:只谈百分比 background:url(image-url.gif)no-repeat 20% 30% 20%:将图像X轴20%处与父元素X轴20%处重合 Y同理 top=0% bottom=100% left=0% right=100% center=50% ,` w)q nf~h
%MQ"j~!P&T9|f J F
13:滑动门/
Y#O/v.m?x:`uv9MOW9}
_%e0u/J0x9CU 左右两个DIV 背景分别定义 一般左背景图像比较长; 左背景定位:left center 右背景定位:right center s`-W P"~ WD v/n#x7e
mF J5^$VS\
外部控制容器宽度一般小于等于两个背景和 这样当内容动态变化时候 右背景图像便感觉像在左背景图像上滑动,故名。 3Z5pQ{xM@D k A|

Eaq*b s x)aZ 这样也可以实现:<div id="nav"><ul><li><a href="index.html"> SW B e\9Y1`[X#i
8H+ln`!p
以下是引用片段:
/W I7?$l\xan css:
#IW,?(A(Mz!a #nav a{float:left;background:url("../images/navLeft.gif") no-repeat left top;padding:0;text-decoration:none; cursor:hand;}
-?r @ Tg4f3j T2|8o #nav a span {float:left;display:block;background:url("../images/navRight.gif") no-repeat right top;padding:5px 36px 5px 40px;color:#ffffff} XQDz7?CD$Y

-X"c ]7L_ L[ 3Fs:Pd2A*iYJ
原理相似,注意背景图像定位。 x0KEL)GTu
e!V p5Ym(} ^#c L
14:完美的居中布局:
,P.]$l/S?y g"v pv {"T x9g;\!v
以下是引用片段: &_V|sGZ#E.C/^Z
body{text-align:center;mini-width:760px;}
"LA:i(V6A!]4{'}"Z div#wrapper{margin:0 auto;text-align:left;width:750px;}
Is$kY_H Q&@5Hw K:js;a.YA

)R7Iu5o$F mini-width IE并不认识 这是为老浏览器准备的,只是这个值比你需要的实际页面大就OK Sa9xx9o

pa tv^9z!|:T0{Zx 15:小图标有时会给页面增色不少 用前记得规划好 整到一张大图片上 这样可以减少服务器请求次数。

页: [1]
   

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.