中企在线网站建设
 
 
首 页 自助建站 成功案例 域名注册 企业邮局 虚拟主机 主机托管 手工建站 代理合作 在线答疑 VoIP电话 400电话 付款方式
 
网站管理登陆
   
用户名:
密    码:
―→注册账户即可免费体验中企在线建站系统功能15天。
网站建设技术
   

div+css布局实例淘宝分析(一)

作者:中企在线    时间:2009-6-6 14:08:07
我们看看原始图片



通过观察,我们把它分为如下图所示块


具体的HTML,DIV+CSS排版样式为



我们一行一行分析,

1.全部的代码均在一个DIV容器(我暂时这样称呼)Head里面,我们来看看Head的写法
#Head{
   text-align:center;
}
为什么Head前面有一个#号呢?
而有的却是在前面加一个.比如.Head,有时候写css的时候干脆什么也不加,比如td,body,他们有什么区别,具体怎么用,如果仔细你就会发现在HTML代码的DIV容器里面,有的是<divid=Head></div>而有的是这样<divclass=HackBox></div>
从id和class字面上的意思,我们也已经了解了,id具有唯一性,而class是一个类,适用于可多次重复使用的容器,而前面什么也不带的,便是CSS里默认的通用于HTML代码的描叙,即对HTML里的代码起全局作用,比如td,便是对HTML表格里面的全部列起作用,text-align:center是指在此容器里面的文字全部居中对齐,我们注意到,行后面还有一个分号;,
语法text-align:left|right|center|justify
取值说明:
left :默认值。左对齐
right :右对齐
center :居中对齐
justify :两端对齐

2.HeadTop
#Head#HeadTop{
   position:relative;
   width:760px;
   margin:10pxauto10px;
   text-align:left;
}
为什么#HeadTop前面会有一个#Head?
我们发现#headTop是嵌套在#Head里面的,为了Head里面的设置在HeadTop里面同样生效,将HeadTop放在了Head后面

position:static|absolute|fixed|relative
取值:
static :默认值。无特殊定位,对象遵循HTML定位规则
absolute :将对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义
fixed :未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范
relative :对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置

width:auto|length
auto :默认值。无特殊定位,根据HTML定位规则分配
length :由浮点数字和单位标识符组成的长度值|百分数。百分数是基于父对象的宽度。不可为负数。可以用相对长度象素单位px或者绝对长度in等做单位(1in=2.54cm=25.4mm=72pt=6pc)

margin:10pxauto10px;
检索或设置对象四边的外补丁
如果提供全部四个参数值,将按上-右-下-左(顺时针方向)的顺序作用于四边。如果只提供一个,将用于全部的四边。如果提供两个,第一个用于上-下,第二个用于左-右。如果提供三个,第一个用于上,第二个用于左-右,第三个用于下。

text-align:left;
我们看到Head里面已经有设置文字对齐是居中的了,而这里又定义文字居左,那么到底文字怎么对齐呢?如果有相冲突的定义,CSS将按最近的一个定义来执行,这跟HTML中的是一样的,比如<fontcolor=red><fontcolor=green>我到底是什么颜色?</font></font>

3.
#Head#Logo{
   width:240px;
   height:31px;
   float:left;
   margin-left:2px;
}
width(宽度),height(高度)都不说了
float:none|left|right
取值:
none :默认值。对象不飘浮
left :文本流向对象的右边
right :文本流向对象的左边
翻译为漂浮,left说明是从左开始排列
margin-left:2px;相当于maign:0px;0px;0px;2px
这里Logo容器说明的是,从左开始排列,宽度为240px,高度为31px,左补丁(左边空余)2px宽

4.HeadNavBar左边导航条
#Head#HeadNavBar{
   float:right;
   clear:right;
   background:url(images/header_mm_bk.gif)lefttopno-repeat;
   width:510px;
}

clear:right;清除右浮动,说明右边不能再有容器
clear:none|left|right|both
background:url(images/header_mm_bk.gif)lefttopno-repeat;
(意思是背景图片左,上对齐,不重复)
background:background-color||background-image||background-repeat||background-attachment||background-position
background-color:silver;背景色
background-image:url(http://www.dayanmei.com/images/space.gif);
当同时存在背景图片和背景色时背景色将被覆盖
background-repeat:repeat|no-repeat|repeat-x|repeat-y
取值:
repeat :默认值。背景图像在纵向和横向上平铺
no-repeat :背景图像不平铺
repeat-x :背景图像仅在横向上平铺
repeat-y :背景图像仅在纵向上平铺
background-attachment:scroll|fixed
取值:
scroll :默认值。背景图像是随对象内容滚动
fixed :背景图像固定
background-position:length||length
background-position:position||position
取值:
length :百分数|由浮点数字和单位标识符组成的长度值。 
position :top|center|bottom|left|center|right

整句的意思是宽度为510px象素的容器从右往左排列

5.
#Headul{
  list-style-type:none;
   margin:0;
   padding:0;
}
list-style-type:none;
list-style:list-style-image||list-style-position||list-style-type
list-style-image:url(url);可以将列表样式改变为图片

list-style-type:disc|circle|square|decimal|lower-roman|upper-roman|lower-alpha|upper-alpha|none
取值:可以将列表改变为其他样式
disc :CSS1 默认值。实心圆
circle :CSS1 空心圆
square :CSS1 实心方块
decimal :CSS1 阿拉伯数字
lower-roman :CSS1 小写罗马数字
upper-roman :CSS1 大写罗马数字
lower-alpha :CSS1 小写英文字母
upper-alpha :CSS1 大写英文字母
none :CSS1 不使用项目符号


6.
#Head#HeadNavBarli{
   float:left;
   height:31px;
   background:url(images/header_mm_sep.gif)leftcenterno-repeat;
   display:inline;
}
display:inline;内联对象的默认值。将对象强制作为内联对象呈递,从对象中删除行(显示在行内,超出的将不显示)
display:block|none|inline|inline-block

7.
#Head#HeadNavBarli.NoSep{
   background:none;
   margin-left:5px;
}
当列表区块内标志类为NoSep时,没有背景色background:url(images/header_mm_sep.gif)leftcenterno-repeat;,并且左补丁为5px

8.#MyTaoBao{
   padding-left:14px!important;
   margin-left:9px!important;
   margin-left:4px;
   background:transparenturl(images/header_mm_mytb_icon.gif)no-repeatleftcenter;
}
padding:lenth;内补丁,用法参考margin,
padding-left:14px;是指左边空余14px的值,这空余是用来放置居左中的背景图片的
!important;提升指定样式规则的应用优先权。

9.设置列表内的链接样式
#Head#HeadNavBarlia{
   display:block;
   padding:06px07px;
   float:left;
   height:31px;
   line-height:31px;
   color:#0f3a66;
   font-size:13px;
}
display:block;以块状呈现
padding:06px07px;左右内补丁各为7px,6px
color:#0f3a66;链接时文字颜色为#0f3a66;
链接的完整定义还可以包含背景颜色background,链接样式text-decoration(text-decoration:none[无装饰]||underline[下划线]||blink[文字闪烁]||overline[上划线]||line-through[贯穿线])
链接的顺序应该是这样的(LVHA)
a:link
a:visited
a:hover
a:active


#Head#HeadNavBarlia:hover{
   color:#e60;
}

10.
#Head#HeadNavBarli#AdvanceBox{
   background:none;
   margin-left:10px;
}
由于AdvanceBox是在块li里面,故顺序为#Head#HeadNavBarli#AdvanceBox,这句意思是无背景,左外补丁(左空余)为10px;

11.为#AdvanceBox内的其他表单元素定义
#Head#HeadNavBarli#AdvanceBoxform{
   margin:0;
   padding:0;
   margin-left:8px;
   margin-top:5px;
}

#Head#HeadNavBarli#AdvanceBox.HeaderSearchBox{
   display:block;
   float:left;
   width:112px;
   height:15px!important;
   height/*ie55*/:21px;
   padding:3px2px1px2px;
   padding-right:0;
   border:1pxsolid#7ad2ff;
   background:url(images/header_mm_srch_bk.png)no-repeat;
   color:#000;
}

#Head#HeadNavBarli#AdvanceBoxinput.DC{
   color:#90B1C5!important;
}

#Head#HeadNavBarli#AdvanceBox.HeaderSearchBtn{
   display:block;
   float:left;
   margin-left/*ie55*/:-3px;
}

#Head#HeadNavBarli#AdvanceBoxli{
   background:none!important;
}

12.#QuickLinks
#Head#QuickLinks{
   float:right;
   width:750px;
   margin-top:6px;
   margin-right:6px;
}
右浮动,宽度为750px,上,右补丁各为6px

13.为#Head#QuickLinks定义列表li样式
#Head#QuickLinksli{
   float:right;
   margin-left:10px;
   line-height:21px;
}
line-height:21px;行高21px;

14.定义#Head#QuickLinksli内链接样式,多个相同的定义时可以用,分割开,而且路径要写完整
#Head#QuickLinkslia:link,#Head#QuickLinkslia:visited{
   font-style:normal;
   font-weight:normal;
   font-size:12px;
   color:#04d;
}

#Head#QuickLinkslia:hover,#Head#QuickLinkslia:active{
   color:#e60;
}

15.
.HackBox{
  border-top:1pxsolidtransparent!important;
  border-top:0;
  clear:both;
}
这里有两个重复定义的border-top(上边框,!important优先,边框为1px,透明
clear:both;左右浮动均清除,类似换一行

淘宝头部导航已经基本分析完成,现在总结一下:

(1).容器div可以嵌套,比如<divid=Head><divid=Logo></div></div>,嵌套时容器的写法:需要在前面加上容器的命名,如#Head#Logo,我们发现,Logo虽然在容器HeadTop里面却不用写成#Head#HeadTop#Logo,因为HeadTop并没有对Logo限制

(2).独特的容器名字前面加符号#,通用的前面加符号小句点.

(3).容器的基本参数包括外补丁margin,内补丁padding,宽度width,背景background,浮动float,清除clear,这几个参见参数的用法要熟记

(4).需要换行显示时用clear:both;

(5).可以单独为某个容器定义链接样式,顺序为LVHA(a:link,a:visited,a:hover,a:active),链接样式的几个参数背景(background),内补丁(padding)宽度(width)描述(text-decoration)文字颜色(color)等,可以设置链接以块状方式显示

其他未总结之处,请多看源码.

本文关键词:如何创建网站,如何建网站,怎么创建网站,怎么建网站,怎样创建网站,怎样建网站,中企在线,申请网站,如何制作公司网站,如何建立自己的网站,怎么做公司网站


 客户产品、服务信息查看更多

JY-S872

竹炭净味内墙漆.

JY-Y4413

JY-Y4601

JY-Y4421

JY-3010 300X300

弹性厚质漆(KX7007)

树脂背景效果图

通用底漆

JY-4001

JY-S918

防水漆

JY-Y4401

特效深基漆(KX6000)

JY-D102

JY-Y4409

JY-Y4414

JY-3095 300X300

JY-S896

树脂背景效果图

树脂背景效果图

JY-Y4418

JY-Y4402

JY-3088B 300X300

JY-S902

新版1

洁莉雅(KX178)

12

家万利内墙漆

JY-S868

JY-Y4806

JY-D117
 客户产品、服务信息查看更多
友情链接: 免费QQ在线客服代码 上海汇亚信息科技有限公司 SEO一点通 商助网 免费QQ客服代码 怎么建网站 企业邮局 注册域名 购买域名
客户服务 QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢! QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢! QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢! QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢! 技术支持 QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢! QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢! 其他事务 QQ临时会话经常无法正常接收或发送信息。请尽量将客服添加为您的QQ好友。谢谢!
公司地址:上海市徐汇区襄阳南路500号巴黎时韵1309   邮编:200031  公司简介  建站知识
电话:021-33719901   传真:021-33854627   客服邮箱:120@61690.com   值班手机:13917529009
上海万天网络技术有限公司版权所有© 2000-2009   沪ICP备09002376号   营业执照复印件   中国频道金牌合作伙伴授权书
               

如何创建网站

如何建网站

怎么创建网站

怎么建网站

怎样建网站