• 新增块元素默认样式
    下列HTML5新模块元素在IE8、9版本浏览器中没有被定义默认样式。为解决该问题,给下列元素添加“block”显示属性。

    代码:

    1. article,
    2. aside,
    3. details,
    4. figcaption,
    5. figure,
    6. footer,
    7. header,
    8. hgroup,
    9. main,
    10. nav,
    11. section,
    12. summary {
    13. display: block;
    14. }
  • 特殊新增块元素
    下列HTML5新模块元素在IE8、9版本浏览器中没有被定义默认样式,考虑到其特殊性,特为下列元素添加“inline-block”显示属性。

    代码:

    1. audio,
    2. canvas,
    3. video{
    4. display:inline-block;
    5. }
  • 去除水平空隙方案

    代码:

    1. display:inline-block; *display:inline; *zoom:1;

    *关于inline-block的详细说明, 点此详情

  • 音频模块兼容性问题
    为防止主流浏览器中,显示“不带控制按钮的音频模块”这一问题。

    以及解决iOS5移动端显示多余高度的兼容性问题。

    代码:

    1. audio:not([controls]) {
    2. display: none;
    3. height: 0;
    4. }
  • 特殊模块样式处理
    处理 IE 8/9 中未定义的样式。

    代码:

    1. [hidden]{
    2. display:none;
    3. }

Global 全局基本设置

  • 默认字体设置,边距设置

代码:

  1. html {
  2. font-family: sans-serif; /* 默认字体 */
  3. font-size: 100%; /* 在用户调整窗口大小时,字体大小做相应调整。 */
  4. -ms-text-size-adjust: 100%; /* IE浏览器 */
  5. -webkit-text-size-adjust: 100%; /* FireFox浏览器 */
  6. }
  • 去除默认边距

代码:

  1. body{
  2. margin: 0; /* 外边距 */
  3. padding: 0; /* 内边距 */
  4. border: 0; /* 边框 */
  5. }
  • 链接相关样式

代码:

  1. a {
  2. text-decoration: none; /* 去除默认下划线 */
  3. }
  4. a:focus {
  5. outline:thin dotted; /* 处理“outline”在Chrome浏览器中和其它浏览器之间的不一致 */
  6. }
  7. a:active, a:hover {
  8. outline: 0;
  9. }
  • 排版相关样式

代码:

  1. h1 { /* 使h1标签在section标签和article标签的留白和字体样式统一。可同时兼容Firefox 4+、Safari 5和Chrome等不同的浏览器 */
  2. font-size: 2em;
  3. margin: 0.67em 0;
  4. }
  5. abbr[title] {
  6. border-bottom: 1px dotted;
  7. /* 解决首字母样式在IE8/9、Safari 5和chrome浏览器中未定义的问题 */
  8. }
  9. b,
  10. strong {
  11. font-weight: bold; /* 添加加粗样式,应用于Firefox 4+、Safari 5和Chrome */
  12. }
  13. dfn {
  14. font-size:italic; /* 添加斜体样式,应用于Safari 5和chrome */
  15. }
  16. hr { /* 解决其在Firefox中的兼容性问题 */
  17. -moz-box-sizing: content-box;
  18. box-sizing: content-box;
  19. height: 0;
  20. }
  21. mark { /* 解决其在IE8/9中样式未定义的问题 */
  22. background: #ff0;
  23. color: #000;
  24. }
  25. code,
  26. kbd,
  27. pre,
  28. samp { /* 更正关联字体在Safari 5和Chrome中的老式设置 */
  29. font-family: monospace, serif;
  30. font-size: 1em;
  31. }
  32. pre { /* 提高pre标签格式化文本在所有浏览器中的可读性 */
  33. white-space: pre-wrap;
  34. }
  35. q { /* 设置相一致的引号类型 */
  36. quotes: "\201C" "\201D" "\2018" "\2019";
  37. }
  38. small { /* 统一所有浏览器中字体大小不一致的兼容性问题 */
  39. font-size: 80%;
  40. }
  41. sub,
  42. sup { /* 在所有浏览器中,防止“sub”和“sup”标签影响“line-height”属性 */
  43. font-size: 75%;
  44. line-height: 0;
  45. position: relative;
  46. vertical-align: baseline;
  47. }
  48. sup {
  49. top: -0.5em;
  50. }
  51. sub {
  52. bottom: -0.25em;
  53. }
  • 内嵌文本相关样式

代码:

  1. img {
  2. border: 0; /* 在IE8/9浏览器中,当img标签中包含a标签时,去除img边框属性。 */
  3. }
  4. svg:not(:root) {
  5. overflow: hidden;
  6. }
  • 图片特写相关样式
    "figure"标签规定独立的流内容(图像、图表、照片、代码等等)

    代码:

    1. figure {
    2. margin: 0;
    3. }
  • 表单相关样式

代码:

  1. fieldset { /* 定义一致的边框、内边距和外边距 */
  2. border: 1px solid #c0c0c0;
  3. margin: 0 2px;
  4. padding: 0.35em 0.625em 0.75em;
  5. }
  6. legend {
  7. border: 0; /* 更改“color”属性在IE8/9浏览器中没有被继承的问题 */
  8. padding: 0; /* 去除外边距,如此即使人们将字段集归零也不会失去样式 */
  9. }
  10. button,
  11. input,
  12. select,
  13. textarea {
  14. font-family: inherit; /* 更改关联字体属性在IE8/9浏览器中没有被继承的问题 */
  15. font-size: 100%; /* 更改字体大小属性在IE8/9浏览器中没有被继承的问题 */
  16. margin: 0; /* 调整边距设置在Firefox 4+, Safari 5, 和 Chrome浏览器中的兼容性问题 */
  17. }
  18. button,
  19. input {
  20. line-height: normal;
  21. /* 调整Firefox 4+浏览器下,客户端样式表中设置了“!important”的“line-height”属性的input表单 */
  22. }
  23. button,
  24. select {
  25. text-transform: none;
  26. /**
  27. * 调整“button”和“select”的“text-transform”继承不一致性的问题
  28. * 其他表单控件元素不继承“text-transform”属性
  29. * 修正“button”标签在Chrome, Safari 5+, and IE 8+中的样式继承问题
  30. * 修正“select”标签在Firefox 4+ 和Opera中的样式继承问题
  31. */
  32. }
  33. button,
  34. html input[type="button"], /* 避免webKit bug发生在Android 4.0.* 设备上,破坏原生“audio”和“video”控制组件 */
  35. input[type="reset"],
  36. input[type="submit"] {
  37. -webkit-appearance: button; /* 改正iOS设备中“input”类型表单样式不可用的问题 */
  38. cursor: pointer; /* 增强光标样式在input表单和其他表单的可用性和一致性 */
  39. }
  40. button[disabled],
  41. html input[disabled] {
  42. cursor: default; /* 为禁用表单重设定默认光标样式 */
  43. }
  44. input[type="checkbox"],
  45. input[type="radio"] {
  46. box-sizing: border-box; /* 调整IE 8/9中尺寸属性设置为“内容框”的盒子模型 */
  47. padding: 0; /* 去除IE 8/9中的多余的外边距留白部分 */
  48. }
  49. input[type="search"] {
  50. -webkit-appearance: textfield; /* 兼容Safari 5 and Chrome上 “searchfield” 上设置 “appearance”属性 */
  51. -moz-box-sizing: content-box;
  52. -webkit-box-sizing: content-box; /* 兼容Safari 5 and Chrome上 “border-box” 上设置 “box-sizing”属性 */
  53. box-sizing: content-box;
  54. }
  55. input[type="search"]::-webkit-search-cancel-button,
  56. input[type="search"]::-webkit-search-decoration {
  57. -webkit-appearance: none; /* 去除OS X系统上Safari 5和Chrome中容器内边距和搜索取消按钮属性 */
  58. }
  59. button::-moz-focus-inner,
  60. input::-moz-focus-inner { //Firefox 4+浏览器中,去除容器内边距和边框属性
  61. border: 0;
  62. padding: 0;
  63. }
  64. textarea {
  65. overflow: auto; /* IE 8/9中,去除默认垂直滚动条属性 */
  66. vertical-align: top; /* 提高所有浏览器中的文本可读性和版式 */
  67. }

HTML5 新模块元素兼容问题的更多相关文章

  1. HTML5新特性:元素的classList属性与应用

    在html5新增的classList之前, 操作元素的class用的是className这个属性,而如果要向jquery封装的hasClass, removeClass, addClass, togg ...

  2. 【html5】解决HTML5新标签不兼容的问题

    html5标签: 1.语义化好 -> SEO a). 程序交流方便 b). 搜索引擎友好 baidu -> 不认识 google 2.本身不兼容,想兼容低版本,请使用如下方法: 方式一:使 ...

  3. 让IE6,7,8支持HTML5新标签的方法

    很多网站对网页进行重构的时候,提高标签的语义性,在网页中大量使用了section,article,header等HTML5新标签.考虑到目前win7自带的IE浏览器版本是IE8,而IE8不支持HTML ...

  4. html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?

    (1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...

  5. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

    * HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加.   * 拖拽释放(Drag an ...

  6. 【转】HTML5新增元素兼容旧浏览器方法

    ref:http://www.jb51.net/html5/163906.html 问题:如何让IE8-兼容这些标签?(需要设计JS中的DOM) 代码如下: <span style=" ...

  7. html5有哪些新特性?如何处理html5新标签的浏览器兼容问题?如何区分html和html5?

    h5新特性: 语义化标签:<hrader></header> .<footer></footer>.<nav></nav>.&l ...

  8. 【HTML5】如何处理HTML5新标签的浏览器兼容版问题

    HTML5规范毕竟是刚刚才定义完成的规范,还有一些浏览器并不能支持其中的新标签和新属性,尤其是IE8及以下版本浏览器.以下介绍一些在页面中使用HTML5新标签的实践方法,目的是让HTML5中的新标签在 ...

  9. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

随机推荐

  1. CSIC_716_20191207【并发编程---进程与线程】

    僵尸进程与孤儿进程 ........... 守护进程 from Multiprocessing  import Process 在 suboprocess.start( ) 的上一行,增加 subpr ...

  2. 记一次为解决Python读取PDF文件的Shell操作

    目录 一.背景 二.问题 三.解决 四.一顿分析及 Shell 操作 五.后续 一.背景 本想将 PDF 文件转换为 Word 文档,然后网上搜索了一下发现有挺多转换的软件.有的是免费的.收费,咱也不 ...

  3. 【NOI2019模拟2019.7.1】三格骨牌(轮廓线dp转杨图上钩子定理)

    Description \(n,m<=1e4,mod ~1e9+7\) 题解: 显然右边那个图形只有旋转90°和270°后才能放置. 先考虑一个暴力的轮廓线dp: 假设已经放了编号前i的骨牌,那 ...

  4. bzoj1007题解

    [题意分析] 给你n个上半平面,求包含这些上半平面的交的上半平面. [解题思路] 按斜率排序,用单调栈维护一个下凸壳即可.复杂度O(nlog2n). [参考代码] #include <cctyp ...

  5. DELPHI中如何让FORM窗体透明,只显示控件?

    DELPHI中如何让FORM窗体透明,只显示控件?分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:7largewanglargewanglargewang等级:Blank ...

  6. 几道noip2018提高组初赛的题

    以下做法来均自llj @Nicodafagood 一.单项选择题 7. 在一条长度为 1 的线段上随机取两个点,则以这两个点为端点的线段的期望 长度是( ).A. 1 / 2B. 1 / 3C. 2 ...

  7. NX二次开发-UFUN创建圆柱UF_MODL_create_cyl1

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> #include <u ...

  8. hdu多校第一场 1006 (hdu6583)Typewriter dp/后缀自动机

    题意: 有个打字机,在当前字符串后新加一个字花费p,把当前字符串的一个连续子串拷贝到当前字符串的末尾花费q,给定一个字符串,求用打字机打出这个字符串的最小花费. 题解: 容易想到用dp 记dp[i]为 ...

  9. Try running RemoteDll as Administrator

    在使用RemoteDll注入动态库的时候发现注入有的动态库会提示下面的错误, LoadLibrary on remote process [1968 - Explorer.exe] failed. T ...

  10. LED 发光二极管压降

    常用发光二极管的压降 1. 直插超亮发光二极管压降 主要有三种颜色,然而三种发光二极管的压降都不相同,具体压降参考值如下: 红色发光二极管的压降为2.0--2.2V  黄色发光二极管的压降为1.8—2 ...