当前位置: 首页 > Web前端 > CSS

你要的HTML布局技巧:如何规范网页的构建?

时间:2023-03-31 11:17:29 CSS

光是深入了解布局规范就够谈上一个月了。今天不拘小节,选取小米官网首页的一些区块布局进行讲解!以下是小米官网首页。很多人看到这样的网页都傻眼了。他们不知道该怎么办。把认为难的问题分成多个问题块,再拆分,直到变成一个可以解决的小问题。把那些小问题一个一个解决,最后大问题就解决了。在我们布局网页之前,我们执行相同的例程。我们先分析一下整体结构,画出布局图,把大块拆成小块,这样可以更直观的看出网页的布局结构。我大致用线框把网页内容分成四块:顶部导航栏区topnav(蓝色线框)、头部分类导航区header(绿色线框)、主要内容区main(紫色线框)、信息网页底部的区域脚(橙色线框)。(注:初学者不会布局的时候建议使用画图工具辅助分析,而且分块的方式也不是唯一的,布局有很多种,我只选择其中一种来写,我看不完=_=||)这里我按照网页整体的内容来分块:(每个线框都是一个标签框)topnav(顶部导航区):从整体布局的角度来看,内容topnav显示的都是小米网站下所有品类的子产品导航,而小米网站首页的主题是商城(直接展示电子产品),与主题不符,所以单独划分这个区域.整块使用nav标签,如果考虑兼容性,使用div标签。header(头部分类信息导航区):该区主要包括不同商品的分类导航和其他服务导航,不太符合主题。由于轮播的位置和轮播下方的图片,这部分块是您打开页面时首先看到的。尽管它也包含商品,但它更像是一个广告空间。这里,头块被单独划分。.整体块使用header标签,如果考虑兼容性,使用div标签。main(主要内容区):小米首页下的小米商城主题内容区,也是整个网页面积最大的块(确定主要内容的时候真的不知道块,也可以按面积比例划分,最大的块一定是主题中心),布局重复性高。整块使用main标签,如果考虑兼容性,使用div标签。Footer(网页底部的信息区):这部分几乎没什么好说的。显示了网站的所有功能和信息,并且还分为一个单独的块。整块使用footer标签,如果考虑兼容性,使用div标签。代码如下:(考虑兼容IE)

这样我们就把网页分成了四块。难度好像比以前少了一点?下一步是将每个块视为一个整体,对其进行分析和拆分。topnav布局分析红色线框:顶部导航栏区域()黄色线框:内容框蓝绿色线框:左右两个列表区域如下布局图所示,在顶部导航栏区域,内容框的宽度为1226px,水平居中,内部分为左右列表区和一个div框(购物车),都包含文字链接。对应标签结构代码:
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 小米商城
  • 登录
  • 登录
  • 登录
  • 购物车标签需要配合css使用才能搭建好结构。顺便也说说几个相关的css技巧。容器(黄色线框)本身是一个块级元素,在不改变元素类型的情况下实现水平居中有几种方式:第一种方式:(当前场景推荐使用这种居中方式)page-topnav.container{宽度:1226px;保证金:0自动;}使用margin:auto实现自动计算,实现水平居中。注意这个居中方法的对象必须是固定宽度的块级标签才能实现第二种:page-topnav.container{position:relative;left:50%;width:1226px;margin-left:-613px;}使用相对定位,通过设置left将.container向右移动50%的相对距离,然后使用负的leftmargin向左移动自身宽度的一半,达到水平居中的效果参考下图:左右两个uls分别加上leftfloatingfloat:left;和右浮动float:right;li中实现文字左右对齐实现水平和垂直居中的几种方法:第一种:.容器.topbarli{height:40px;/*框高*/line-height:40px;/*行高*/font-size:14px;/*文字大小*/text-align:center;/*insidetheboxthetexthorizo??ntallyCentered*/}设置文本的行高和libox的高度一样,达到文本垂直居中的效果。第二种:.container.topbarli{padding:10px;}给li加上内边距,达到文字上下左右居中的效果,但是li的高度不会固定。所以目前场景推荐第一种方法------------------------------------------------------------------------------------------------------------------------------------------