先展示一下,行内元素之间存在间距,实例代码如下:

<style>
div {
color: #fff;
padding: 25px 50px;
} .inline-f00 {
display: inline;
background: #f00;
} .inline-0f0 {
display: inline;
background: #0f0;
} .inline-block-00f {
display: inline-block;
background: #00f;
} .inline-block-000 {
display: inline-block;
background: #000;
}
</style> <div class="inline-f00">inline</div>
<div class="inline-0f0">inline</div> <div class="inline-block-00f">inline-block</div>
<div class="inline-block-000">inline-block</div>

运行代码的效果:

为什么会出现间距呢??真正意义上的水平呈现的行内元素间,换行显示或空格分隔的情况下会有间距。

既然知道了出现间距的原因,接下来讨论去除行内元素之间的间距,推荐几种通用的方法。

去除空格或者换行

去除行内元素之间的空格和换行,可以把代码写成这个样子,虽然丑了点,但是得到了想要的效果,

<style>
div {
color: #fff;
padding: 25px 50px;
} .inline-f00 {
display: inline;
background: #f00;
} .inline-0f0 {
display: inline;
background: #0f0;
} .inline-block-00f {
display: inline-block;
background: #00f;
} .inline-block-000 {
display: inline-block;
background: #000;
}
</style> <div class="inline-f00">inline</div><div class="inline-0f0">inline</div><div class="inline-block-00f">inline-block</div><div class="inline-block-000">inline-block</div>

也可以使用注释去掉空格和换行:

<!-- 下面的注释是重点 -->
<div class="inline-f00">inline</div><!--
--><div class="inline-0f0">inline</div><!--
--><div class="inline-block-00f">inline-block</div><!--
--><div class="inline-block-000">inline-block</div>

还可以:

<div class="inline-f00">inline</div
><div class="inline-0f0">inline</div
><div class="inline-block-00f">inline-block</div
><div class="inline-block-000">inline-block</div>

font-size: 0

设置父元素的font-size:0,子元素设置字体大小为正常字体大小。

<style>
div {
color: #fff;
padding: 25px 50px;
} .inline-f00 {
display: inline;
background: #f00;
} .inline-0f0 {
display: inline;
background: #0f0;
} .inline-block-00f {
display: inline-block;
background: #00f;
} .inline-block-000 {
display: inline-block;
background: #000;
} .font-size-0 {
font-size: 0;
} .font-size-0 div {
font-size: 16px;
}
</style> <div class="font-size-0">
<div class="inline-f00">inline</div>
<div class="inline-0f0">inline</div> <div class="inline-block-00f">inline-block</div>
<div class="inline-block-000">inline-block</div>
</div>

float:left/right

行内元素设置为浮动元素,行内元素之间的间距会消失。

<style>
div {
color: #fff;
float: left;
padding: 25px 50px;
} .inline-f00 {
display: inline;
background: #f00;
} .inline-0f0 {
display: inline;
background: #0f0;
} .inline-block-00f {
display: inline-block;
background: #00f;
} .inline-block-000 {
display: inline-block;
background: #000;
}
</style> <div class="inline-f00">inline</div>
<div class="inline-0f0">inline</div> <div class="inline-block-00f">inline-block</div>
<div class="inline-block-000">inline-block</div>

上面三种去除间距方法的效果:

特殊情况

一种特别的情况,相邻inline元素至少一个不包含内容的时候,不存在间距

<div style="display: inline; background: #f00; padding: 25px 50px;"></div>
<div style="display: inline; background: #000; padding: 25px 50px;"></div>

效果:

去除行内(inline/inline-block)元素之间的间距的更多相关文章

  1. 原生js去除行内样式

    概述 今天我用js给dom元素设置样式,碰到了一些问题,记下来供以后开发时参考,相信对其他人也有用. 心得 js加上class: $dom.classList.add('some-class'); j ...

  2. CSS3如何去除 inline block 元素之间多出的空格

    display: inline-block 属性很好的避免了元素的浮动问题,但是会有点小问题,就是 inline-block 元素间的回车会被显示为一个空格.然而,我们写代码时,都是用回车来格式化的. ...

  3. img、input到底是行内还是块级元素?

    一.img.input属于行内替换元素.height/width/padding/margin均可用.效果等于块元素.      行内非替换元素,例如, height/width/padding to ...

  4. HTML inline 与block元素

    行标签:内容撑开宽度,不可以控制宽和高,它的宽和高随标签里的内容而改变 块标签:撑满行(默认) ,可以用样式控制其宽和高 但行标签 img,textarea,select,input 是可以设置宽和高 ...

  5. IE6 行内定义成块元素后高度失效

    问题描述: ie6下,空标签块元素height定义失效,表现为除设置的height值外还会显示N像素额外的高度. 实际运用中,若标签为空且定义了小于14px的高度,再加入一背景图的话,会发现该元素高度 ...

  6. span元素之间的间距

    去除inline-block元素间间距的N种方法- zhangxinxu http://www.zhangxinxu.com/wordpress/2012/04/inline-block-space- ...

  7. 关于block元素和inline元素

    呃...这个会不会太基础了.最近在复习,所以基础知识也不能够忽略. 根据HTML 4.01 规范,其描述如下(http://www.w3.org/TR/html401/struct/global.ht ...

  8. 行内块inline-block元素之间出现空白间隙原因及解决办法

    首先,来看下具体的问题,下面是用inline-block布局实现的两边固定宽度,中间自适应的html代码: 1 2 3 4 5 6 7 8 9 <section class="layo ...

  9. CSS样式设置语法全解,样式优先级、值和单位、字体、文本、块级元素,行内元素,替换元素、非替换元素、display、float、position、table、li、光标、边距边框、轮廓、颜色背景

    全栈工程师开发手册 (作者:栾鹏) 一个demo学会css css选择器全解 css操作语法全解 CSS样式设置语法全解: 样式优先级 1. !important标记的样式 > 内联样式(sty ...

随机推荐

  1. 被解放的GPU CSS3动画加速

    概念 图形处理器( Graphics Processing Unit ) 专门用来处理在个人电脑.工作站或游戏机上图像运算工作 显卡的“心脏” 90%以上的新型台式电脑和笔记本型电脑拥有集成图形处理器 ...

  2. Web标准中用于改善Web应用程序性能的各种方法总结

    提起Web应用程序中的性能改善,广大开发者们可能会想到JavaScript与DOM访问等基于各种既存技术的性能改善方法.最近,各种性能改善方法被汇总成为一个Web标准. 本文对Web标准中所包含的各种 ...

  3. BZOJ 1087 题解【状压DP】

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3112  Solved: 1816[Submit][ ...

  4. 基于S5PC100裸机程序之SPI(上)

    作者:杨老师,华清远见嵌入式学院讲师. SPI作为应用最为广泛的通信总线协议之一,开发人员应当掌握,本章将介绍SPI总线协议的基本理论,以及S5PC100的SPI总线控制器的操作方法. 1. SPI总 ...

  5. Cento 安装配置FastFDS

    unzip -x libfastcommon-master.zip ./make.sh ./make.sh install /usr/include/fastcommon cd FastDFS ./m ...

  6. JAVA递归算法

    1.什么是递归算法 递归算法就是直接或间接调用自己的算法 2.问题1:一列数的规则如下: 1.1.2.3.5.8.13.21.34 ,求第30位数是多少?使用递归实现 public class Fib ...

  7. 提交form表单不刷新页面案列

    提交form表单不刷新页面其实很简单的,这里拿上传图片来举列,大家有什么其它的方法也欢迎留言告知与我 <form action="" method="post&qu ...

  8. 好看的css3按钮和文本框

    .button{ width: 80px; line-height: 25px; text-align: center; ; color: #fff; text-shadow:1px 1px 1px ...

  9. HTTPS协议简介

    一.HTTPS简介 百度已经于近日上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS.本文重点介绍 HTTPS 协议, 并简单介绍部署全站 HTTPS 的意义. HTTPS ...

  10. MySql的join(连接)查询 (三表 left join 写法)

    1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...