一、内联元素间距问题

在HTML实践中我们会发现,有时候内联元素之间会存在一定的间距,并且这间距和margin和padding无关。这是由编辑时的空白字符引起的,并且间距的大小受父元素的font-size影响。

这和CSS的white-space属性有关,该属性的默认值为normal,normal属性是将多个空白字符合并成一个“空白”,这个空白和父元素的font-size有关。所以当内联元素之间存在空白字符时,它们之间就存在一个“空白”间距。

<img>图像元素也属于内联元素,所以处理图像元素间的“空白”也可使用下列解决方案。

二、解决方案

1.在编辑器中清除空白字符

简单粗暴的方法

处理前:
-------------------------------------- 处理后:
<body>
<span style="font-size: 25px; background-color: #CCFF66;">today</span><span style="font-size: 25px; background-color: #CCCCFF;">tomorrow</span>
</body>

2.设置父元素font-size: 0;

当父元素的font-size为0时,该“空白”也为0。应当注意的是内联元素会继承父元素的font-size,所以要单独给内联元素设置font-size,否则font-size为0单词将不会显示。

<body style="font-size: 0px;">
<span style="font-size: 25px; background-color: #CCFF66;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF;">tomorrow</span>
</body>

3.设置浮动属性float

浮动之后会脱离标准流,不受“空白”的影响。

<body>
<span style="font-size: 25px; background-color: #CCFF66; float: left;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF; float: left;">tomorrow</span>
</body>

注意两个<span>标签同时设置float属性,若只设置第二个<span>则会如下图显示:

若不懂,请看这:【CSS学习】--- float浮动属性

4.设置margin属性值为负数

负数的值要根据父元素的font-size大小确定

<body>
<span style="font-size: 25px; background-color: #CCFF66;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF; margin-left: -5px;">tomorrow</span>
</body>

5.设置word-spacing属性值为负数

和margin一样,负值要根据父元素的font-size大小确定

<body style="word-spacing: -5px;">
<span style="font-size: 25px; background-color: #CCFF66;">today</span>
<span style="font-size: 25px; background-color: #CCCCFF;">tomorrow</span>
</body>

6.设置属性display: block;

块级元素之间不存在这样的空白,所以可以使用使用display: block; 将内联元素设置为块级元素。

处理前:可以看到上下两张图片之间存在“空白”

----------------------------------------------------

处理后:
<body style="width: 130px;">
<img src="F:\images\zhaoliying\1_1_1.jpg" width="120px" style="display: block;">
<img src="F:\images\zhaoliying\1_1_1.jpg" width="120px">
</body>

三、最后

若有不足,还望留言指出,十分感谢!

【HTML笔记】--- 内联元素间距问题及解决方案的更多相关文章

  1. css 块元素、内联元素、内联块元素

    块元素.内联元素.内联块元素: 元素就是标签,布局中常用的有三种标签,块元素.内联元素.内联块元素,了解这三种元素的特性,才能熟练的进行页面布局. 块元素: 块元素,也可以称为行元素,布局中常用的标签 ...

  2. 如何去除内联元素(inline-block元素)之间的间距(转载)

    如何去除内联元素(inline-block元素)之间的间距   前几天写一个专题页 div{width:900px;}div a{ display:inline-block; width:300px; ...

  3. Code笔记之:CSS块级元素、内联元素概念

    文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 内联元素也不 ...

  4. css 内联元素inline 行框全解

    首先看一篇文章: CSS框模型:一切皆为框 — 从行框说起 一 行框 看图说话 上图代表了框模型中的行框.line-height 属性设置行间的距离(行高).该属性会影响行框的布局.在应用到一个块级元 ...

  5. HTML元素分类:块级元素 内联元素和内联块状元素

    在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 1,块状元素 常用的块状元素有: <div>.<p>.<h1 ...

  6. 【css】主要的块状元素(block element)和内联元素(inline element行内元素)

      内联元素:只在行内发生作用,设置宽高不起作用,不会影响文字内容,使其换行等.竖直方向和间距也不起作用   display可以强制转换行内元素和块状元素,还可以取消显示none   块元素(bloc ...

  7. CSS基础:内联元素

    简介 内联元素由于涉及到文本字体,读写方向,汉字和字母差异等诸多方面的影响,因此其盒模型比块级元素更加复杂,对于内联非替换元素,比如一行文本,主要由以下几种框构成: "em 框", ...

  8. html中内联元素和块元素的区别、用法以及联系

    昨天用asp.net的BulletedList做一个导航栏,最终该控件形成的html代码是ul列表和a超链接,具体代码如下: <ul id="BulletedList1" s ...

  9. 内联元素inline-block空隙问题

    1.产生的原因 当我们使用"display:inline-block"把块集元素转换为内联元素时,每两个内联元素之间有一定的空隙,既不是margin也不是padding,最终发现是 ...

随机推荐

  1. [Python] networkx入门 转

    networkx是python的一个第三方包,可以方便地调用各种图算法的计算. 通过调用python画图包matplotlib能实现图的可视化. 1.安装 正好整理一下python第三方包的安装方法. ...

  2. solr 高亮springdatasolr

    @Autowired private SolrTemplate solrTemplate; @Override public Map<String, Object> search(Map ...

  3. TensorFlow 神经网络教程

    TensorFlow 是一个用于机器学习应用程序的开源库.它是谷歌大脑的第二代系统,在取代了近源的 DistBelief 之后,被谷歌用于研究和生产应用.TensorFlow 提供了很多种语言接口,包 ...

  4. 在Markdown中写注释

    概述 下面是我整理的在Markdown中写注释的几种方法,供自己开发时参考,相信对其他人也有用. html标签 既然Markdown内嵌html语法,那么就可以用可以用隐藏的html标签. 注意:需要 ...

  5. JS应用实例6:二级联动

    本案例很常用,应用场景:注册页面填写籍贯,省市二级联动 总体思想:创建一个二维数组存入省市,获取选中的省份并比较,创建标签遍历添加 代码: <!DOCTYPE html> <html ...

  6. scrapy Data flow

    The data flow in Scrapy is controlled by the execution engine, and goes like this:1. The Engine gets ...

  7. Testing - 软件测试知识梳理 - 测试模型

    珠玉在前,不再赘言. 软件测试模型 软件测试模型汇总

  8. Java程序员必须掌握的常用Linux命令。

    Java程序员也是半个运维了,在日常开发中经常会接触到Linux环境操作.小公司的开发人员甚至是兼了全运维的工作,下面整理了一些常用的Linux操作命令. Linux常用指令 ls 显示文件或目录 - ...

  9. EJB3与JPA的关系

    转载自http://www.cnblogs.com/o-andy-o/archive/2012/04/17/2453537.html JPA是基于Java持久化的解决方案,主要是为了解决ORM框架的差 ...

  10. Cannot determine embedded database driver class for database type NONE

    springboot+jpa使用自定义配置文件连接数据库报错:Cannot determine embedded database driver class for database type NON ...