最近在做的一个项目里面碰到这么一个问题:

<p>
<span>块1</span>
<span>块2</span>
</p>

  

在“块1”和“块2”之间存在着一个大概3em的空白...图就不上了
这明显不符合预期....

最后发现:当这两个span写在一行...问题就解决了...

<p>
<span>块1</span><span>块2</span>
</p>

  

原因在于 行内元素之间在换行时会产生一个换行符号,然后会占用一定的宽度...
同理 i s之类的行内元素也是会存在一样的问题

并且这个宽度是小于一个空格的...

在此记录一下这个浪费了我一天时间的问题- -!歌以咏志

=======7月8日更新=======

之前的解决方法是,把所有的span都写到一行,这当然是最稳妥的做法,但是带来的麻烦肯定是有的...这意味着需要书写一行特别特别长的代码,按照代码规范来看,一行代码是最好不要超过50还是200个字符来着....(具体请参阅efe代码规范)

所以有三种解决方法:

1、在js里拼接好字符串后再通过innerHtml方法显示出来

2、这个空白貌似确实就是3em大小,所以只要设置span的margin-right: -3em即可,亲测有效,唯一不爽的地方是,如果行内存在i s em之类其他的元素,每个元素都得设置一下margin-right,并不是很爽= =!

3、换行符号的宽度是由所在标签的字体大小有关,以上面的代码为例,p的font-size越大,块1与块2之间的空白就越宽,反之则越小。

所以解决方案就是:将p的font-size设为0即可。

但是,忘了是在哪里看到的一篇文章表示,有的浏览器不支持font-size: 0,目测应该是万恶的旧版IE... 所以在这种情况下,选择js拼接是比较好的,但是如果做的HTML5开发,特别是Web App开发,那移动端的浏览器肯定是支持font-size 0的啦。

=======再补充========

这种方法算是奇技淫巧....

<p>
<span>块1</span
><span>块2</span
><span>块3</span>
</p> <p>
<span>块1</span><!--
--><span>块2</span><!--
--><span>块3</span>
</p>

  

半夜睡不着在网上看到的...这样奇奇怪怪的写法也是能够保证这三个span都在同一行里...
撒由那拉~
---------------------
作者:clarkt
来源:CSDN
原文:https://blog.csdn.net/clarkt/article/details/46363909
版权声明:本文为博主原创文章,转载请附上博文链接!

span标签间距的更多相关文章

  1. HTML <span> 标签

    定义和用法: <span>标签被用来组合文档中的行内元素.在行内定义一个区域,也就是一行内可以被<span>划分成好几个区域,从而实现某种特定效果.<span>本身 ...

  2. Div和Span标签显示与隐藏

    本实例中,学习jQuery的知识,显示与隐藏网页上的div或是span标签. 实际环境中,也许是根据某些条件进行,符合条件时,对某个或是某个div或是span标签时行显示与隐藏. 主要是学习jQuer ...

  3. 解决img标签间距问题

    解决img标签间距问题 关于img标签间距问题:多个img之间有间距,包含img标签的div之间有间距. 代码如下: 1 <!doctype html> 2 <html lang=& ...

  4. p标签中的span标签文字垂直居中对齐

    <p>轻舞飞扬<span>第一次亲密接触</span></p> p标签的font-size:30px; span标签的font-size:24px; 让 ...

  5. "无意义"的div和span标签

    HTML <div> 元素是块级元素,它是可用于组合其他 HTML 元素的容器.<div>元素没有特定的含义.除此之外,由于它属于块级元素,浏览器会在其前后显示折行.如果与 C ...

  6. 360兼容模式==ie8 兼容模式下 span标签占位问题

    ie8 兼容模式 ie8 标准渲染 应付金额 穿位 错误代码 <span class="span_em">应付金额:<em><span style=& ...

  7. html之span标签

    对于文档中的行内元素最好使用span来组合它们,这样就可以通过样式来格式化它们. span没有任何的样式,当对它应用样式时,才会产生变化 id和class属性是span标签的好伴侣,这样做既可以增加适 ...

  8. span标签之间的空隙

    出现的问题: 在html中,当有两个以及两个以上的span标签并列的时候,如果任意两个span之间换行书写的话,那么他们在页面上展现的时候往往会有空隙 解决的办法有两个: 1.将两个span标签写在同 ...

  9. display:block; 块级元素。<a>,<span>标签设置宽度和高度

    display:block;是让对象成为块级元素(比如a,span等) 转化后 可以对a或者span标签进行width和height设置,否则设置不了 display有很多对象,具体可以参考http: ...

随机推荐

  1. http中长连接和websocket的长连接的区别

    一.什么是http协议 HTTP是一个应用层协议,无状态的,端口号为80.主要的版本有1.0/1.1/2.0.   HTTP/1.* 一次请求-响应,建立一个连接,用完关闭: HTTP/1.1 串行化 ...

  2. 《操作系统真象还原》ELF文件

    下面是第五章部分内容的收获. 用C语言编写内核 一直以来我们都是用汇编语言编写程序的,但接下来我们或许很少用汇编语言编写代码了,大多数都是使用C语言.为什么要这样呢?书上的解释我看的不是很懂,只能结合 ...

  3. 常用的一些git命令整合

    一.创建一个版本库 1.mkdir xxx 2.git init 使用git init命令将这个目录变成Git可以管理的仓库 这个版本仓库创建好了,xxx目录下有一个隐藏的.git目录(里面有暂存区( ...

  4. C#扩展枚举的别名

    C#扩展枚举的别名 用途: 提高代码的可读性. 打印到日志系统,方便于调试. 代码: 首先编写一个Attribute [AttributeUsage(AttributeTargets.Enum | A ...

  5. VSCode配置之open-with-Live-Server 无法打开浏览器【解决方法】

    如果你的vscode编辑器打开浏览器时默认打开的是iE,想要把它改为chrome,怎么办呢? 我遇到如下原因: 这是按照网上的setting.json配置 这是运行了 open-with-live-s ...

  6. LeetCode longest substring without repeating characters 题解 Hash表

    题目 Given a string, find the length of the longest substring without repeating characters. Example 1: ...

  7. jQuery---scrollTop和scrollLeft的方法

    scrollTop和scrollLeft的方法 <script src="jquery-1.12.4.js"></script> <script> ...

  8. 用windows 画图 裁剪照片

    图片大小432*312 1.裁剪大小:打开画图--找到矩形选择 形状裁剪完之后,像素会有相应的变化 2.单纯调整像素:  打开画图----重新调整大小(去掉保持纵横比之后可以任意调整大小) 题目:上传 ...

  9. POJ2528Mayor's posters 线段树,离散化技巧

    题意:一个坐标轴从1~1e7,每次覆盖一个区间(li,ri),问最后可见区间有多少个(没有被其他区间挡住的) 线段树,按倒序考虑,贴上的地方记为1,每次看(li,ri)这个区间是否全是1,全是1就说明 ...

  10. PP: Modeling extreme events in time series prediction

    KDD: Knowledge Discovery and Data Mining (KDD) Insititute: 复旦大学,中科大 Problem: time series prediction; ...