最近网上看了好多html开发中那些问题和不好的习惯,顺手总结一下。

一、上下间距

  在开发中你会发现你明明设置的两个p标签上下间距为20px但你实际测量中会发现他会多4~8px,这是为什么呢!如果你是老司机我想我就不用多说了,

  因为设计稿中量的都是字与字上下的间距,其实你写p标签检查一下元素,p表标签会有留白,大概是会有上下都有2px左右的留白。这样的话在加上你的

  上边距或下边距你在量的时候就多了点。 

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      *{
        margin: 0;
        padding: 0;
        }
      p:nth-child(1){
        margin-bottom: 20px;
      }
    </style>
  </head>
  <body>
    <p>p1</p>
    <p>p2</p>
  </body>
</html>

  当你在测量时,我们上边是20px的下外边距这时我们测量一下;

  ps:如果你有【翻墙工具的话】不妨在Google浏览器商城下载一个Page Ruler,个人认为非常好用的一个测量网页的工具。

  发现没有20的间距成功的变为25,这就是p标签的留白。

二、错误的嵌套

这种嵌套当里面在写有内容时,当一屏看不完时,一时嵌套错误这个可就有你烦的了。最好的解决吗?我感觉还是注释,一个良好的注释习惯,让你可以更快找到自己的问题还有利于团队的开发。

这样时你还会找错吗?当你修改时是不是更方便了。

三、form和table到底先写谁,当然这个问题只会发生在新手身上

错误:

<table><form><tr><td>..... </td></tr></form></table>

  正确:

<form><table><tr><td>..... </td></tr></table></form>

  按我个人的理解来说,把form写在table中太别扭了。因为table是一个完整的格式,所以说用from来包裹table。

四、省略img   alt   属性

  当你在网速不佳或图片无法显示的时候,他的作用就来了。你可以带有你图片的描述,让用户在没看到的前提下,也明白这是什么。

五、大量使用转义标签 如:&nbsp; &it; &gt;..........

   因为在每个浏览器如 :&nbsp  默认宽度是不等的,所以当你使用大量 &nbsp; 时换个浏览器他就变了。所以说现在这莫多好用的方式为啥还用如此

lo的转义标签, 其实还有比较实用的如:&copy; ©   版权商标等等;

六、偏爱于一款浏览器,由于浏览器内核不同,他支持的效果也不同,当你偏爱于一款浏览器时,你在别的浏览器你会崩溃的 。

ps:当然IE除外 IE 低版本太可怕,都这个年代了坚决抵制 IE 低版本,当然这只是个人看法,毕竟有数据支持用 IE 低版本用户是有还是又不算少的用户群

有的比如:国企采购 windows 自带 IE 而且国企为了安全买回来后没有升级那一说。当外包到一个国企而且进门不让带手机的,到时候你就明白了。

七、错误的提示方式。

当你给了用户错误的提示时,你说收集的数据也将会出现很大的偏差,如:“请输入地址”  ,这个地址你是要家庭地址呢!还是现住地址呢!还又是公司地址呢!所以明确的提示很重要。

八、页面中包含太多刷新的步骤。

  通过ajax局部刷新,来减少页面的重复加载。增强用户的体验。

html开发那些不好的习惯,和问题。的更多相关文章

  1. shell-脚本开发基本规范及习惯

    1.shell-脚本开发基本规范及习惯 1.开头指定脚本解析器 #!/bin/sh 或#!/bin/bash 2.开头加版本版权等信息 #Date: 2018/3/26 #Author: zhangs ...

  2. Unity开发规范(个人习惯,仅供參考)

    近期整理了一下unity里的文件夹使用和脚本上的一些规范,这个看个人习惯,仅供參考 1.unity中的Project文件夹      总体文件夹大致例如以下:            按资源种类分目录. ...

  3. ABAP开发需要养成的习惯—处理规范,日期,sort,改结构

    sELECT select之后不要急着处理,最多用下sort还有delete adjacent,不用sy-subrc判断之后loop操作,要注意处理逻辑. sort一个好处是为了后面read tabl ...

  4. ABAP开发需要养成的习惯—程序修改数据库表

    ①此外将内表数据写入数据库,推荐用Modify而不是insert,因为会有些key一样的报dump loop at it_record. *          报错 *          insert ...

  5. ABAP开发需要养成的习惯—变量定义

    变量定义 Global variables are BAD 定义内表先在程序开头定义types,如 types: begin of ty_structure,         id type i,   ...

  6. javaWeb开发中entityBean的习惯用法

    entity bean的作用是将与数据库交互的过程封装成对象,在servelet编写的过程中,只需要会写java,不必考虑与数据库交互细节. 实体类: 基本与数据库的表相对应,表示一个实在的对象. 例 ...

  7. CentOS7初始化服务器开发环境——根据个人习惯而定

    目录 修改hostname 创建个人账户和组 修改hostname 编辑主机名称,注意:执行以下指令,无需重启服务器,因为此指令实时写入linux 内核 hostnamectl --static se ...

  8. python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题

    今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...

  9. 【CEDEC 2015】【夏日课堂】制作事宜技术篇,新手职员挑战VR Demo开发的真相

    日文原文地址 http://www.4gamer.net/games/277/G027751/20150829002/ PS:CEDEC 2015的PPT有些要到10月才有下载,目前的都是记者照片修图 ...

随机推荐

  1. table组件选中数据回显

    table组件多选状态下,把已选择的数据回显,需要在多选列上加上一个属性 :reserve-selection="true" 实例如下: <el-table :data=&q ...

  2. Android Fragment向另一个Activity传值

    1.Fragment内: Intent intent=new Intent(getActivity(),ShowDataActivity.class); //参数1:Fragment所依存的Activ ...

  3. bzoj4361:isn(dp+容斥+树状数组)

    题面 darkbzoj 题解 \(g[i]\)表示长度为\(i\)的非降序列的个数 那么, \[ ans = \sum_{i=1}^{n}g[i]*(n-i)!-g[i+1]*(n-i-1)!*(i+ ...

  4. 开源一个Java Class实现Openfire登陆、推出、消息发送,方便其他系统集成IM功能了

    开源一个Java Class实现Openfire登陆.推出.消息发送 N年前写的,希望对Openfire开发新手有帮助哦 import java.util.*; import java.io.*;   ...

  5. 成倍提高服务器的负载能力:浅谈Jexus的ASP.NET前置缓存技术

    一.什么是“ASP.NET前置缓存”     ASP.NET前置缓存,是Jexus特色功能之一,是指Jexus把开发者指定的ASP.NET网页某一时刻的内容,缓存到专用的高速缓冲区中,在指定的时间内, ...

  6. (转)我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  7. C# string 特殊的引用类型

    .Net 框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一个引用类型,也就是说线程上的堆栈上不会驻留有任何字符串.(译注:注意这里的“直接继承”.直接继承 ...

  8. 【es6】正则扩展

  9. python pip 安装OpenCV

    cmd pip install opencv-contrib-python -i https://pypi.mirrors.ustc.edu.cn/simple/

  10. C#自定义处理事件(作者还没完全理解事件和委托,所以有可能错漏百出)

    1.C#的处理事件整个框架,其实就是观察者模式的一种应用 观察者模式:老师监视学生考试,学生若作弊,老师立即打人 2.涉及的元素: 所以必须涉及两个对象,事件引发者(触发)--学生:事件处理者--老师 ...