CSS3去除inline block 元素之间多出的空格

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

最简单的方法就是把 inline-block 元素之间的回车删除,就是代码显示有点不美观,影响阅读。

方法总结

以下方法不保证浏览器兼容性问题,仅在 Chrome 浏览器测试通过

HTML Code:

<h5>未处理空格</h5>
<ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
</ul>
<h5>通过格式化代码来去除空格</h5>
<ul>
    <li>One</li><li>
        Two</li><li>
        Three</li>
</ul>
<h5>用空白注释代替回车</h5>
<ul>
    <li>One</li><!--
    --><li>Two</li><!--
    --><li>Three</li>
</ul>
<h5>通过忽略&lt;/li&gt; 去除空格</h5>
<ul>
    <li>One
    <li>Two
    <li>Three
</ul>
<h5>设置 margin-right: -4px 去除空格</h5>
<ul class="margin-fix">
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
</ul>
<h5>设置 font-size: 0 去除空格</h5>
<ul class="font-size-fix">
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
</ul>
<h5>设置 flex-box 去除空格</h5>
<ul class="flex-box">
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
</ul>
CSS Code:

body {
    font-family: sans-serif;
    font-size: 16px;
}
ul {
    list-style: none;
}
li {
    display: inline-block;
    background-color: #000;
    color: #fff;
    padding: 5px;
}
ul.margin-fix li {
    margin-right: -4px;
}
ul.font-size-fix {
    font-size: 0;
}
ul.font-size-fix li {
    font-size: 16px;
}
ul.flex-box {
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
}
效果图:

时间: 2025-01-03 19:23:56

CSS3去除inline block 元素之间多出的空格的相关文章

html5-JS关于mouseout事件在父亲元素与子元素之间的小问题,求解了 ,谢谢

问题描述 JS关于mouseout事件在父亲元素与子元素之间的小问题,求解了 ,谢谢 我又来了,想把问题搞明白不想不求甚解 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{margin:0; padding:0; list-style-type:none;

CSS复合选择器:css3让我们选择元素变得越来越简单

文章简介:使用css的类名交集复合选择器. 首先先看一下基本定义: 复合选择器就是两个或多个基本选择器,通过不同方式连接而成的选择器,主要包括"交集"选择器."并集"选择器."后代"选择器. 交集选择器 "交集"复合选择器是由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集.其中第一个必须是标记选择器,第二个必须是类别选择器或者ID选择器.这两个选择器之间不能有空格,必须连续书写. 注意其中第一个必须是标记选择器,如

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

行内块(inline-block)是非常有用的特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时,行内元素之间的空白有时候显示在屏幕上那是相当的讨厌   至今我还记得年轻是在IE6上开发的那些苦逼日子,特别希望IE浏览器采用 inline-block 的显示方式. 行内块(inline-block)是非常有用的,特别是想要不用'block'和'float'来控制这些行内元素的margin,padding之时. 问题来了,HTML源码中行内元素之间的空

jquery计算鼠标和指定元素之间距离的方法

  本文实例讲述了jquery计算鼠标和指定元素之间距离的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (function() { var mX, mY, distance, $distance = $('#distance span'), $element = $('#element'); function calculateDistance(elem, mouseX, mouseY) { return Math.floo

js 高效去除数组重复元素示例代码

 有关使用js去除数组重复元素的文章在之前也有介绍过,下面有个不错示例,感兴趣的朋友可以参考下 代码如下: function unique(data){  data = data || [];  var a = {};  for (var i=0; i<data.length; i++) {  var v = data[i];  if (typeof(a[v]) == 'undefined'){  a[v] = 1;  }  };  data.length=0;  for (var i in a

c++-为什么这段代码循环输出的数组少了第一个元素且多出了一个随机数?

问题描述 为什么这段代码循环输出的数组少了第一个元素且多出了一个随机数? 输入一些非负实数 用数组输出这些数 求平均数并输出(输入负数时报错并退出重新输入,输入回车时执行下一步操作) #include using namespace std; int main() { int i,j,k; double a[100],sum=0,avr; part1: cout<<"输入数字"< j=0,k=0; for (i=0;getchar()!='n';i++) { cin&

jquery计算鼠标和指定元素之间距离的方法_jquery

本文实例讲述了jquery计算鼠标和指定元素之间距离的方法.分享给大家供大家参考.具体实现方法如下: (function() { var mX, mY, distance, $distance = $('#distance span'), $element = $('#element'); function calculateDistance(elem, mouseX, mouseY) { return Math.floor(Math.sqrt(Math.pow(mouseX - (elem.o

android layout-android开发中布局怎么把元素之间的空间取消

问题描述 android开发中布局怎么把元素之间的空间取消 我想做一个ios的计算器,但是ios计算器之间的button挨在一起用线分开 除了linearlayout之外有没有办法可以做成那个样子呢.我用linearlayout做了一个.但是别的布局不会.

CSS3实现Tooltip提示框飞入飞出动画

原文:CSS3实现Tooltip提示框飞入飞出动画 我们见过很多利用背景图片制作的Tooltip提示框,但是缺点是扩展比较麻烦,要经常改动图片.还有就是利用多层CSS的叠加实现,但是效果比较生硬,外观不怎么好看.今天我来分享一下利用CSS3快速实现既美观又实用的Tooltip提示框,提示框伴有飞入飞出的动画效果.先来看看效果图. 看上去还简单吧,其实实现的思路的确很简单. 具体效果我们可以在这里查看在线演示. 接下来我们来简单分析一下这个Tooltip实现的CSS3代码. 首先是HTML代码,主