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

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

作者:中企在线    时间:2009-6-6 14:08:15
 在第二节我们分析了淘宝网页的导航条代码,这次我们来分析淘宝网页的主要内容块,由于内容比较多,所以我准备分开小块来分析,对于刚入门学DIV,CSS布局的朋友来说,不知道从那里下手,我以为从分析优秀网站的源代码来学习div,css布局是一个不错的方法,这篇div+css布局教程是我自己在边分析边学习中总结出来的,如果你要转载请注明出处,另外本人特别声明:本教程只是分析淘宝网站的HTML,CSS源代码,作为一个教程的例子,达到学习DIV+CSS排版的效果,请勿模仿淘宝,或者仿照淘宝制作网站,由此产生的纠纷和责任自负,谢谢,这是第三篇第一节,淘宝主体内容的安排

还是来看看淘宝网站主体图片,由于内容太多,所以摒弃了很多重复或者不太重要的内容,使看起来更清晰
原图:



通过分割,我们把它分割成几个块,见图



从图片上我们看出,淘宝网页是通过分为左右两栏,通过容器嵌套再在栏里面分栏,达到类似表格的排版效果

1.分析第一层,看一下主体的代码
全部在一个大的主体容器Content里面,定义容器宽度为760px,上下补丁5px,左右自动(默认为0),文字居左排列,清除左右浮动
#Content{
   width:760px;
   margin:5pxauto;
   text-align:left;
   clear:both;
}

再看一下两个大的主体容器一个
一个是主体main,另外一个是侧面SideBar
#Main{
   float:right;
   width:100%;
   margin:000-190px;
}
这个Main容器是右边这块,写的时候写在前面,却排列在右边,这同我们的表格是有区别的,需要注意,定义的是右浮动,宽度占满容器,但下面又有一个定义就是距离容器左边190px,说明左边空余190px的空间,整个的意思就是占满除左边190px外的100%空间,为放置左边的SideBar提供了空间
#SideBar{
   float:left;
   width:180px;
}
宽度为180xp的容器左浮动

但是在主容器Content设置了类的名称,所以L250的定义将起作用(<divid=Contentclass=L250>)
所以起作用的将是下面这段,即左边SideBar宽260px,余下的为右边容器Main
div.L250#Main{
   float:right;
   width:100%;
   margin:000-260px;
}
div.L250#Container{
   margin:000260px;
}
div.L250#SideBar{
   float:left;
   width:250px;
}

2.分析第二层,主体容器里面的容器
2.1.SideBar内的容器
<divid=SideBar>
 <divid=Verticalclass=StandardSidePanel2>
   <h3><ahref=style=color:#FFF;>导购中心</a></h3>
   <divclass=Content>
     <ul>
       <liclass=Man><ahref=>男 人</a></li>
       <liclass=Digital><ahref=>手机数码</a></li>
       <liclass=Lady><ahref=>女 人</a></li>
       <liclass=Life><ahref=>家 居</a></li>
       <liclass=Sports><ahref=>运 动</a></li>
       <liclass=Game><ahref=>游 戏</a></li>
       <liclass=Culture><ahref=>书籍音像</a></li>
       <liclass=Baby><ahref=>母 婴</a></li>
       <liclass=Gift><ahref=>礼 物</a></li>
     </ul>
     <divclass=HackBox></div><!--清除浮动好继续块内排列-->
   </div>
 </div>
 <divclass=HackBox></div>
 <!--公告栏-->
 <divid=TaobaoBulletinclass=StandardSidePanel2>
   <h3><ahref=>公告栏</a></h3>
   <divclass=Content>
     <divclass=PostCardStyle2>
       <divclass=Paragraph>
         <ul>
           <li><ahref=>马云出席达沃斯世界经济论坛</a></li>
         <li><ahref=>淘宝全国热招,2月3日上海场</a></li>
         <li><ahref=>电子客票订购平台正式发布</a></li>
         <li><ahref=>支付宝获互联网成功企业称号</a></li>
         </ul>
       </div>
     </div>
   </div>
     </div><!--结束公告栏-->
      
</div><!--结束Sidebar-->

这个容器SideBar里有两个主体容器Vertical(导购中心)TaobaoBulletin()淘宝公告栏(多于的被我删除了,^_^)由于两个容器并不需要并列,所以在排列完一个容器后直接用类.HackBox清除就可以了

来看看Vertical的第一个元素h3
#Verticalh3{
   margin:0;
   padding:00030px;
   height:22px;
   line-height:25px;
   overflow:hidden;
   color:#FFF;
   background:transparenturl(images/home_title_bg_070118.gif)0px0pxno-repeat;
   border-bottom:none;
}
这里一个奇怪的问题是定义了一个height,又定义了一个line-height,height是表示h3样式的高度,而line-height则表示行的高度

第二个愿书.Content,它给容器定义了高度为117px,背景色为#FB9300,超出的部分将隐藏(不显示出来)
#Vertical.Content{
   border-top:none;
   height:117px;
   background:#FB9300;
   overflow:hidden;
}

ul设置了外补丁,内补丁为0后又设置顶部补丁为2px,列表显示的样式为无
#Vertical.Contentul{
   margin:0;
   padding:0;
   margin-top:2px!important;
   margin-top:3px;
   list-style-type:none;
}

设置ul内的li
#Vertical.Contentulli{
   float:left;
   height:30px;
   width:77px;
   margin-left:4px!important;
   margin-left:3px;
   margin-top:6px!important; 
   background:url(images/home_070117_bg.gif)no-repeat;
   overflow:hidden;
}
从效果图上我们看到,列表是呈三列多行排列的,那么它是如何实现的呢?
这里使用的是左外补丁为4px,上外补丁为6px,这样这些列表之间就有了空隙,然后我们来计算一下宽度77px+左外补丁4px=81*3=243px<250px,但余下的空间又不够77px,故从左排列三个列以后自动换行,而高度(30+6)*3=108<117,如果不觉得麻烦可以为每个列定义背景图片(通过class),然后在结束的时候使用.HackBox清除浮动,其实我以为此处无需清除,因为不再够宽度,会自动换行,清除也好,呵呵

再看他们的链接样式
#Vertical.Contentullia:link,#Vertical.Contentullia:visited{
   color:#333;
   text-decoration:none;
}
#Vertical.Contentullia:hover,#Vertical.Contentullia:active{
   color:#FF5500;
   text-decoration:underline;
}
#Vertical.Contentullia{
   display:block;
   height:30px;
   widows:77px;
   font-size:12px; 
   padding:9px0016px;
}

TaobaoBulletin似乎跟上面差不多,没有太多的好说,就不分析了

小结一下:

(1).看似很复杂的排版,其实我们可以通过容器的嵌套来完成,在大的容器里面在套小的容器...

(2).跟表格有些不同的是,可以通过浮动设置从右开始浮动,并代码写在前面可以达到,排列在右边,但是重点需要最新出现的效果

(3).通过定义容器的宽度,高度和列表的宽度,高度达到多行多列显示的效果,而不需要通过程序来控制显示

(4).一个容器可以拥有多种属性,可以是独特的,也可以是共有的

(5).大部分的图片使用背景形势呈现出来,这样的好处是修改样式时方便,而且对于浏览器或者其他浏览工具而言,这些不是重要的,只是相对于浏览者呈现出来的效果

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


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

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号   营业执照复印件   中国频道金牌合作伙伴授权书
               

如何创建网站

如何建网站

怎么创建网站

怎么建网站

怎样建网站