一些存在的可以改进的地方:

达到一个效果不必要墨守成规,比如:

这个效果,我的实现方式是:

一个大div里面,先放一个图片,左浮动,然后放一个首页div,相对定位放到背景图片的白色区域的适当位置,右边导航栏的做法我的是使用无序列表,然后全部li左浮动,将列表调margin属性到适当位置,中间的三个|我将它认定是li的边框右。然后就需要设置最后一个li没有右边框。

同学的做法是:

一个大div里面的是一个无序列表,无序列表的子元素分别是开心网图片、首页、右侧的导航栏。当然导航栏也使用的是无序列表,就是一个嵌套的过程。导航栏中的li选项有8个,3个是|,|就不使用a链接包裹,然后调位置搞定。

我的感觉:  不能有思维定势,比如导航栏的白色不一定是li的某个边框,布局方式也不能被局限住,使用属于你的布局方式,越简单越好。

调控件的位置,就是表示的时候居中显示,不止是可以通过调整该控件的margin属性通过与父容器的距离定位,也可以通过调整控件的填充来达到控件内容的居中。当然,对padding的调整如果没有首先固定容器宽高可能会改变容器。

在页面中的布局尽量简明扼要,先简后繁,先抽象后具体。一些id或者name的命名应该做到见明知意,对于一些页面的内容最好使用后代选择器,一个区域一个区域调整样式,不对其他地方造成影响

如果受到莫名的影响,找不出所写代码的问题的话,不妨考虑下前面代码是否造成了冲突。可以使用浏览器的开发者工具查找对应的控件然后针对修改。可以使用clear属性清除上面的div或者其他的位置影响

写代码要仔细,比如我之前一个li里面的width设置成了190没有写px,前面没有问题,后面不知道受了什么影响,浏览器无法辨别190的意义width属性就失效了。

处理问题选择最简单的方式:结果是给别人看的,过程自己享受,先达到效果,再考虑拓展或者其他。花最少的时间完成最多的工作才是现在需要的做法。

对于父容器的宽高,不建议在父容器中加入<div style="clear:both;"></div>让它的父容器自动填充高度,因为这可能影响到其他浮动元素。可以先确定大概高度后面针对内容修改或者后面再修改。

有些首行缩进如果操作对象不是太多的话可以考虑使用空格实现

命名最好使用字母、数字、下划线的组合,一些特殊字符可能无法识别。

当调整容器的宽度与父容器一致可以使用百分比试试。

图片与文字的对齐可以使用vertical-align也可以使用图片浮动来实现。

HTML项目总结的更多相关文章

  1. Fis3前端工程化之项目实战

    Fis3项目 项目目录结构: E:. │ .gitignore │ fis-conf.js │ index.html │ package.json │ README.md │ ├─material │ ...

  2. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  3. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  4. Hangfire项目实践分享

    Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...

  5. Travis CI用来持续集成你的项目

    这里持续集成基于GitHub搭建的博客为项目 工具: zqz@ubuntu:~$ node --version v4.2.6 zqz@ubuntu:~$ git --version git versi ...

  6. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  7. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  8. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  9. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  10. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

随机推荐

  1. animate动画回调函数

    对非动画的实现排队,比如这个css()是要放在回调函数里才能,让前面的动画执行完成后在进行实现 $('button').click(function(event) { $(this).next().a ...

  2. 51nod 1102 面积最大的矩形(单调栈)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1102 题意: 思路: 做法就是求出每个长方形向左向右所能延伸的最大距离. ...

  3. nginx configuration

    Now that you know how to manage the service itself, you should take a few minutes to familiarize you ...

  4. Cocos2d-x学习笔记(二)AppDelegate类详解

    由源代码,可得到如下的类继承关系: 1. 在方法applicationDidFinishLaunching中,首先会调用CCDirector* pDirector = CCDirector::shar ...

  5. 雷林鹏分享:C# 枚举(Enum)

    C# 枚举(Enum) 枚举是一组命名整型常量.枚举类型是使用 enum 关键字声明的. C# 枚举是值数据类型.换句话说,枚举包含自己的值,且不能继承或传递继承. 声明 enum 变量 声明枚举的一 ...

  6. English trip -- VC(情景课)1 F Another view

    Another view 另一种观点 拓展应用 Life-skills reading  生活技能阅读 Midtown Adult School  中城成人学校 NAME:  Samir Ahmed  ...

  7. FMUtils.KeyboardHook 轻量级键盘监听器

    Nuget添加引用 Install-Package FMUtils.KeyboardHook 调用示例: var KeyboardHook = new Hook("Global Action ...

  8. 20170706xlVBA根据工资汇总表生成个人工资条

    Sub NextSeven20170706001() Application.ScreenUpdating = False Application.DisplayAlerts = False Appl ...

  9. SQL 进阶视频课程。Udacity: Intro to Relational Databases和 PostgreSQL语法文档。

    Udacity: Intro to Relational Databases The syntax of the select statement with a where clause: selec ...

  10. Confluence 6 导入 Active Directory 服务器证书 - Windows

    为了让你的应用服务器能够信任你的目录服务器.你目录服务器上导出的证书需要导入到你应用服务器的 Java 运行环境中.JDK 存储了信任的证书,这个存储信任证书的文件称为一个 keystore.默认的 ...