清除行内元素之间HTML空白的几种解决方案

  发布时间:2013-08-28 18:36:49   作者:佚名   我要评论
行内块(inline-block)是非常有用的特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时,行内元素之间的空白有时候显示在屏幕上那是相当的讨厌
至今我还记得年轻是在IE6上开发的那些苦逼日子,特别希望IE浏览器采用 inline-block 的显示方式.
行内块(inline-block)是非常有用的,特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时。
问题来了,HTML源码中行内元素之间的空白有时候显示在屏幕上那是相当的讨厌。
当然,有一些技巧(方法)可以用来清除他们:比如粗暴地完全删除空白,或者其他的方法:

解决方案1: font-size:0;
最好的方法是在外层元素上设置font-size:0;同时在内层元素上指定字体具体的大小。

复制代码
代码如下:

ul.inline-block-list { /* 比如 ul 或者 ol元素 */
font-size: 0;
}
ul.inline-block-list li {
font-size: 14px; /* 设置具体的字体大小 */
}

为了抵消外层元素的字体属性,在内层元素必须指定 font-size 属性,当然这很简单。
假若代码是一种复杂的嵌套关系,那么你可能不好去计算或指定这些字体属性,但在大多数情况下,这就是你想要的效果!

解决方案2: HTML 注释
这种方法比较渣,但是效果也不错。使用HTML的注释标记顶替元素之间的空白:

复制代码
代码如下:

<ul>
<li>Item content</li><!--
--><li>Item content</li><!--
--><li>Item content</li>
</ul>

一个字来形容: 渣.如果用2个字来形容,那就是"渣渣",用3个字来形容,"解决了"。

解决方案3: 指定margin属性值为负数
和方案2类似,这个也比较渣。可以使用行内元素的margin属性来抵消空白:

复制代码
代码如下:

ul.inline-block-list li {
margin-left: -4px;
}

这是最糟糕的解决方案了,因为你必须根据具体情况去计算,有时候还不对。你应该尽量避免这样做。

虽然这些方案都不是很理想,但是如果不这样处理,那你的HTML代码结构可能就非常混乱,成为标准的垃圾代码。
因为行内元素非常好用,所以这并不是一个小心避免的雷区,作为开发人员,学会处理这种空白问题也是很重要的。

相关文章

  • HTML中img标签只显示图片中心位置的方法(三种方法)

    html中 img标签显示图片中心的方法目前知道三种,下面小编把他分享到脚本之家平台,需要的朋友参考下
    2017-04-13
  • Html5新增标签有哪些

    这篇文章给大家整理了html5新增的九个标签,非常不错,需要的朋友参考下
    2017-04-13
  • Html Mate 标签 使用详解 中文WORD版

    本文档主要讲述的是Html Mate 标签使用详解;meta是html语言head区的一个辅助性标签。meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参
    2017-03-19
  • HTML5各种头部meta标签的功能(推荐)

    本文给大家介绍了html5中各种头部meta标签功能小结,非常不错,具有参考借鉴价值,需要的的朋友参考下
    2017-03-13
  • 处理HTML5新标签的浏览器兼容版问题

    HTML5规范毕竟是刚刚才定义完成的规范,还有一些浏览器并不能支持其中的新标签和新属性,尤其是IE8及以下版本浏览器。下面给大家介绍处理HTML5新标签的浏览器兼容版问题,
    2017-03-13
  • HTML中的base标签 中文WORD版

    本文档主要讲述的是HTML中的base标签;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
    2017-02-17
  • html内联元素和块级元素的基本概念及使用示例

    html标签分为两种,内联元素和块级元素,块级元素:一般是其它元素的容器;内联元素:只能容纳文本或者其他内联元素;首先我们先了解一下内联元素和块级元素的概念
    2013-11-18
  • HTML5在a标签内放置块级元素示例代码

    你没看错:用一个A标签包裹块级元素,在HTML5以前,a标签属于行内元素,而div,h1,p 等为块级元素,如果强行包裹,可能会被强行截断为多个a标签,感兴趣的朋友可以了解些
    2013-08-23
  • html 内联元素和html 块级元素概述及区别

    块级元素(block)特性:总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;内联元素(inline)特性:和相邻的内联元素在同一行,接下来为大家详细介绍下,感
    2013-03-25
  • HTML5的结构和语义(3):语义性的块级元素

      HTML5还增加了一些纯语义性的块级元素:   aside  figure  dialog   我在文章和书中一直使用前两个元素。第三个元素我不经常用,它主要用于书面文本。 aside
    2008-10-17

最新评论