inline-block元素之间出现间隙

一、问题

这里部分的组成是一个input框和一个a按钮,然后a标签为了设置它的width和height我让他display:inline-block(行内元素以块级元素显示内容)。神奇的一幕出现了,两者之间出现了间隙。上图是已经处理完间隙问题的。

<p>
      <input type="text" placeholder="请输入内容" class="add-contact" />    <a href="#">添加收件人</a> </p>

二、原因

元素间留白间距出现的原因就是标签段之间的空格,因此,去掉HTML中的空格,自然间距就木有了

三、解决方法

法一:将内容写在同一行。

<p>
      <input type="text" placeholder="请输入内容" class="add-contact" /><a href="#">添加收件人</a>
 </p>

这个方法只适用内容不多,不然会有点影响代码的可阅读性噢~

还有很多个解决方法,比如通过设置margin负值来实现;去掉闭合标签;设置font-size:0,此时针对chrome浏览器要设置 -webkit-text-size-adjust:none;

资源参考:http://www.zhangxinxu.com/wordpress/2012/04/inline-block-space-remove-%E5%8E%BB%E9%99%A4%E9%97%B4%E8%B7%9D/

时间: 2025-01-05 00:08:21

inline-block元素之间出现间隙的相关文章

关于 inline block 元素之间的空格

本篇文章由:http://xinpure.com/about-the-inline-block-element-between-spaces/ 说点什么 display: inline-block 属性很好的避免了元素的浮动问题,但是会有点小问题,就是 inline-block 元素间的回车会被显示为一个空格.然而,我们写代码时,都是用回车来格式化的... 最简单的方法就是把 inline-block 元素之间的回车删除,就是代码显示有点不美观,影响阅读. 方法总结 以下方法不保证浏览器兼容性问

去除行内(inline/inline-block)元素之间的间距

先展示一下,行内元素之间存在间距,实例代码如下: <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-bl

inline-block 元素之间间隙清除的几种方法

两个 inline-block 元素之间会有间隙(事实上,除了 inline-block 元素,两个 inline 元素之间也是有间隙的),究其根本,其实就是 html 元素换行导致(可以尝试下,换行和元素之间加个空格,或者多个空格,结果一样,最后都是一个空格).如何清除这个间隙呢? 方法 0 - 移除空格 我们知道,产生间隙的原因,是因为元素之间有空格(换行,tabs,多个空格等,最后的表现都是一个空格),那么理论上,去掉这个空格,就不会有间隙了. 如果 html 是在后端模板中,那么有些模板

内联元素,取消间隙和默认效果

内联元素特性 内联元素,也可以称为行内元素,布局中常用的标签如:a.span等等都是内联元素,它们在布局中的行为: 不支持宽.高.margin上下.padding上下 宽高由内容决定 盒子并在一行 代码换行,盒子之间会产生间距 子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式 经常遇到内联元素之间有间隙的问题,取消方法: 方法1:编写html时候取消内联元素之间的换行 为了保证代码的可读性和整洁,一般不推荐这样做. 方法2:将内联元素的父级font-size设为0,在

block元素和inline元素的特点

一.block元素的特点 1.处于常规流中时,如果width没有设置,会自动填充满父容器 2.可以设置heigth/width及margin/padding 3.处于常规流中时,布局在前后元素位置之间(独占一个水平空间) 4.忽略vertical-align 二.inline元素特点 1.水平方向上根据direction依次布局 2.不会在元素前后进行换行 3.受white-space控制 4.margin/padding在垂直方向上无效,在水平方向上有效 5.width/height对非替换行

inline元素、block元素

inline元素 不会独占一行,相邻的行内元素会排列在同一行内,直到一行排不下才会换行 高.行高.以及外边距和内边距不可改变 宽度就是它的文字或图片的宽度,不可改变,随元素内容变化而变化 内联元素只能容纳文本和其他内联元素 只有水平方向margin-left.margin-right.padding-left.padding-right会产生边距效果 block元素 会独占一行,默认情况下,其宽度自动填满父级元素宽度 高度.行高.以及外边距和内边距都可控制 宽度缺省时默认容器的百分之百 可以容纳

当inline元素包裹block元素时会发生什么

经常有图片链接写法如下: <a href="www.baidu.com"><img src="baidu.jpg" /></a> 点击图片自动跳转,不用增加新的点击事件,光标滑过时变成小手等等,这都是a标签的功劳. 但是inline元素包裹block元素后,inline元素本身是否会变成blcok元素,还有待求证,于是做了如下对比: <div>这里是块元素</div> <span>用于测试(没有

inline元素、block元素、inline-block元素

inline 内联元素:是不可以控制宽和高.margin等:并且在同一行显示,不换行,直到该行排满. block 块级元素:是可以控制宽和高.margin等,并且会换行.块级对象元素会单独占一行显示,多个block元素会各自新起一行. inline-block 内联块级元素: 具有宽度高度特性,又具有同行特性(一行内显示) 常見的inline元素:span,a,strong,em等. 常見的block元素:div,p,h1到h6,form,ul,ol等. 常見的inline-block元素:im

行内元素之间产生水平间隙的原因及解决方案

1. 行内元素之间产生水平空隙的原因:代码中有意或无意的添加了换行符,tab(制表符)或者空格等字符引起的: 2. 解决方案: 删除引起问题的换行符,制表符或者空格等,但是缺点是会使代码结构混乱: 设置margin属性为负数,如:margin-left: -3px;缺点是负数的值不确定,得具体情况具体分析,不推荐: 在行内元素之间添加HTML注释注释符号:<!----> 1 <div> 2 <span>行内元素</span><!-- 3 -->&