一、外边距,margin:

  垂直外边距的重叠:在网页中相邻的垂直方向的外边距会发生外边距的重叠

  所谓的外边距重叠指兄弟元素之间的相邻外边距会取最大值而不是取和。

    .box1{margin-bottom:10px;}

    .box2{margin-top:20px;}    // .box1和.box2中间的外边距 取最大值:20px。

    <div class='box1'></div>

    <div class='box2'></div>

  如果父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素

  .box4{margin-top:20px;}    // 这样设置会导致 .box3 的box向下移动20px

    <div class='box3'>

      <div class='box4'></div>

    </div>

    解决方法:

    //设置一个元素隔开box3和box4:margin-top:1px   或者   padding-top:1px;

    1.  .box3{border-top:1px;height:79px}

      .box4{margin-top:20px; }  //   margin会依据box3的border向下移动20px

    2.  .box3{padding-top:20px;height:60px;}   //  为了防止box3盒子增高,需要把原来box3盒子的高度减去20px。

   二、浏览器为了让用户预览有更好的体验,默认给一些标签加上了 margin 和 padding

    我们可以在编写代码的时候,把这个标签的 margin 和 padding 去除

    * { margin:0;padding:0;}   //  使用通配符去除所有标签相关的内外边距

   三、display 和visibility区别:

  display:none / inline / block / inline-block;  //  如果选择none 该区域会被隐藏并且不占用空间

  visibility:visible / hidden;  //  如果选择 hidden 该区域内容会被隐藏,但空间还会被占用

 四、overflow  文档溢出

  overflow:visible / hidden / scroll / auto;  //  当子元素过大溢出父元素时,可用overflow属性,会自动把溢出的文档隐藏   

五、使用 float 浮动,经常会导致页面中父元素高度塌陷

  方案一:

  1.可开启隐藏属性:BFC,将高度塌陷的元素的 overflow 设置为一个非 visible 的值

     overflow:auto / hidden;  //   针对于 常用浏览器,ie6不支持

  2. IE6 中 有另外一个隐藏属性 hasLayout ,使用 zoom:1可开启,设置 width 也会开启。

    zoom:1;   // zoom 表示放大的意思,后面跟着的数值,就是将元素放大几倍,zoom:1表示不放大元素。

  方案二:

  1. clear 可以用来清除其他浮动元素对当前元素的影响

      可选值:

      none,默认值,不清除浮动

      left,清除左侧浮动元素对当前元素的影响

      right,清除右侧浮动元素对当前元素的影响

      both,清除两侧浮动元素对当前元素影响最大的浮动

  2. 直接在高度塌陷的父元素的最后,添加一个空白的div,新添加的div是没有浮动的,所以可以撑开父元素的高度,

   然后在对其清除浮动,这样可以通过空白的div来撑开父元素的高度,基本没有副作用。

   缺点:使用这种方式虽然可以解决问题,但是会在页面中添加多余的结构(W3C推荐方式)

  3.通过after 伪类向元素的最后添加一个空白的块元素,然后对其清除浮动,这样做和添加一个div的原理一样,

   可以达到相同的效果,而且不会再页面中添加多余的div,这是我们最推荐使用的方式,几乎没有副作用。

    clearfix,既可以解决高度塌陷问题,也可以确保父元素和子元素的垂直外边距不会重叠

    .clearfix:before,.clearfix:after{

      content:' ';  //  添加一个内容

      display:table;  // 转换为一个块元素

      clear:both;  //  清除两侧的浮动

    }

  但是,在IE6中不支持after伪类,所以在IE6中还需要使用 hasLayout来处理。

      .clearfix{

        zoom:1;

      }

六、IE6 中 对图片格式png24支持度不高,如果使用的图片格式是png24,则会导致透明效果无法正常显示

    解决方法:

      1,可以使用png8来代替png24,即可解决问题,但使用png8代替png24以后,图片的清晰图会有所下降

      2,使用 JavaScript 来解决该问题,需要向页面中引入一个外部的 JavaScript 文件

        然后在写一下简单的JS代码,来处理该问题。

      <div class='box2'></div>

      <img src='img/3.png' />

      <script  type='text/javascript' src='js/DD_belatedPNG_0.0.8a-min.js'></script>

      <script>

        DD_belatedPNG.fix(' div,img ')

      </script>

七、有些特殊代码我们只需要在某些特殊的浏览器中执行,在其他浏览器中不需要执行,就可以使用 CSS Hack 解决该问题。

  条件 Hack 只对 IE 浏览器有效,其他浏览器都会将他识别为注释,IE10 及以上浏览器不支持这种方式。

  语法:

    <!--[ if  IE  6 ] >

      <p>该内容在IE6中不显示</p>

    <![ endif ]-- >

  例如:在IE浏览器中使用和其他浏览器不一样的样式

    <!--[ if   IE ] >

      <link rel='stylesheet'  type='text/css' href='css/style-ie.css'>

    <![ end  if ]-->

八、base 标签可以设置所有 a 标签链接打开的状态

  在 head 标签中加上  以下代码 : <base   target=' _blank '  />

九、 浏览器内核

  IE内核:Trident,国内很多的双核浏览器的其中一核就是 Trident(兼容模式)

    代表:IE 、遨游、世界之窗浏览器、320极速浏览器、百度浏览器、猎豹安全浏览器

  Gecko(firefox)

    代表:火狐浏览器

  webkit(Safari)

    代表:傲游浏览器3、Apple Safari(Win/Mac/iPhone/iPad)、Android默认浏览器

  blink / Chromium(chrome)

    代表:谷歌浏览器,前期谷歌内核也是使用的 webkit ,后期谷歌在此基础上优化,就是现在的 blink

十、表格(table)

  表格的标题(< caption ></ caption >)

  跨行合并:rowspan

  跨列合并:colspan

  < table >

    < caption > 表格标题 </ caption>

    <tr>

      <td colspan='2'> 跨行</td>

      <td> 跨行</td>

     </tr>

     <tr>

      <td> 跨行</td>

     </tr>

  </table>

HTML常见问题的更多相关文章

  1. C++常见笔试面试要点以及常见问题

    1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...

  2. SQL Server常见问题介绍及快速解决建议

    前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题.这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 下面一些问题是 ...

  3. 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题

    本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测 ...

  4. mysql数据库开发常见问题及优化

    mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...

  5. 《PDF.NE数据框架常见问题及解决方案-初》

    <PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案:    PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...

  6. MIS性能优化常见问题与方案(辅助项目组性能优化的总结贴)

    最近帮忙公司的几个项目组进行了不同方面的性能优化,发现几个项目都出现了一些共性的问题.这里写一篇文章,总结一下这几类问题,以及其对应的解决方案.方便其它项目组参考.   常见问题一:打开页面非常慢,有 ...

  7. JMeter常见问题集合

    前言 本文内容仅仅是针对Jmeter的部分功能名词的介绍和解释,以及初学者不易理解的问题的整理.部分内容来自别人做的整理,为了更好地整理自己的思路,所以可耻的整理一下发到博客上. 标题[1-6]和[参 ...

  8. NHibernate常见问题及解决方法

    NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end ...

  9. .NET Core中ADO.NET SqlClient的使用与常见问题

    一.简介 在很多要求性能的项目中,我们都要使用传统的ADO.NET的方式来完成我们日常的工作:目前有一些网友问有关于.NET Core操作SQL Server的问题在本文中解答一下. 本文旨在指出,在 ...

  10. 企业IT管理员IE11升级指南【6】—— Internet Explorer 11面向IT专业人员的常见问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

随机推荐

  1. 数据批量导入HBase

    测试数据: datas 1001 lilei 17 13800001111 1002 lily 16 13800001112 1003 lucy 16 13800001113 1004 meimei ...

  2. 一道面试题:js返回函数, 函数名后带多个括号的用法及join()的注意事项

    博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/13/js%E8%BF%94%E5%9B%9E%E5%87%BD%E6%95%B0%E ...

  3. Javascript中的相等比较

    在比较相等或不相等之前,会对操作数进行类型转换,然后比较相等性 在转换不同的数据类型时,相等和不相等操作符遵循下列基本规则: 1.如果由一个操作数是布尔值,则在比较相等性之前先将其转换为数值:2.如果 ...

  4. Redis事务 和 pipleline

    1.reidis事务 Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: 批量操作在发送 EXEC 命令前被放入队列缓存. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败 ...

  5. 在MyEclipse中更换或修改svn的用户名和密码

    1.通过删除SVN客户端的账号配置文件     (1)找到我们使用的客户端配置文件,Windows XP中的位置是在系统盘的Documents and Settings\Administrator\A ...

  6. SpringMVC以及SSM整合

    本人才疏学浅,如有错误欢迎批评!转载请注明出处:https://www.cnblogs.com/lee-yangyaozi/p/11226145.html SpringMVC概述 Spring Web ...

  7. strcoll - 用当前的区域选项来比较两个字符串

    总览 (SYNOPSIS) #include <string.h> int strcoll(const char *s1, const char *s2); 描述 (DESCRIPTION ...

  8. Jmeter服务器性能压测-用户登录实例CSV方式

    为什么用CSV方式压测,因为用jdbc链接数据库,我发现数据库数据量量大的情况下,Jmeter会内存溢出 第一步:数据准备,根据登录接口需要的参数准备测试数据 例子中,测试的登录接口需要4个参数化数据 ...

  9. Oracle 环境部署 以及数据库创建 ,用户新建和权限分配

    1.右键我的电脑--->属性--->高级系统设置 2.环境变量---->新建 总共配置三个变量 (1)变量名 ORACLE_HOME 变量值 G:\app\TH\product\11 ...

  10. FTP的PORT和PASV的连接方式以及数据连接端口号计算

    FTP的PORT和PASV的连接方式以及数据连接端口号计算   PORT(自动)方法的连接途中是: 客户端向服务器的FTP端口(原始是21)发送连接请求,服务器领受连接,建立一条command链路. ...