相关疑难解决方法(0)

如何删除内联块元素之间的空格?

鉴于此HTML和CSS:

span {
    display:inline-block;
    width:100px;
    background-color:palevioletred;
}
Run Code Online (Sandbox Code Playgroud)
<p>
    <span> Foo </span>
    <span> Bar </span>
</p>
Run Code Online (Sandbox Code Playgroud)

结果,SPAN元件之间将存在4像素宽的空间.

演示: http ://jsfiddle.net/dGHFV/

我理解为什么会发生这种情况,而且我也知道我可以通过删除HTML源代码中SPAN元素之间的空白来摆脱那个空间,如下所示:

<p>
    <span> Foo </span><span> Bar </span>
</p>
Run Code Online (Sandbox Code Playgroud)

但是,我希望CSS解决方案不要求HTML源代码被篡改.

我知道如何用JavaScript解决这个问题 - 通过从容器元素(段落)中删除文本节点,如下所示:

// jQuery
$('p').contents().filter(function() { return this.nodeType === 3; }).remove();
Run Code Online (Sandbox Code Playgroud)

演示: http ://jsfiddle.net/dGHFV/1/

但是这个问题可以单独用CSS解决吗?

html css

1014
推荐指数
20
解决办法
26万
查看次数

内联块列表项中的不需要的边距

我有以下HTML:

    <ul>
        <li>
        <div>first</div>
        </li>
        <li>
        <div>first</div>
        </li>
        <li>
        <div>first</div>
        </li>
        <li>
        <div>first</div>
        </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

以及以下css规则:

        ul {
            padding: 0;
            border: solid 1px #000;
        }
        li {
            display:inline-block;
            padding: 10px;
            width: 114px;
            border: solid 1px #f00;
            margin: 0;
        }

        li div {
            background-color: #000;
            width: 114px;
            height: 114px;
            color: #fff;
            font-size: 18px;
        }
Run Code Online (Sandbox Code Playgroud)

出于某些奇怪的原因,列表项在Firefox和Chrome中都会显示边缘.查看firebug,列表项目根本没有任何边距,但它们之间似乎存在空隙.

如果我稍后通过javascript使用添加更多列表项

$('<li><div>added via js</div></li>').appendTo($('ul'));
Run Code Online (Sandbox Code Playgroud)

新元素周围没有出现"边距":

不必要的利润

怎么知道这里到底发生了什么?

html css

83
推荐指数
5
解决办法
8万
查看次数

ERb序列末尾的' - %>'(减号)

在ERb序列的末尾使用' - '(减号)有什么意义?

例:

<% 3.times do -%>
  FooBar<br />
<% end -%>
Sometext
Run Code Online (Sandbox Code Playgroud)

无论我是否使用" - ",浏览器都会呈现相同的输出.

谢谢,Aplha.

ruby ruby-on-rails

53
推荐指数
2
解决办法
8212
查看次数

如何删除列表项之间的空格

如何摆脱列表项之间的空白区域?我试图让图像紧挨着彼此.即使我已经设置了样式margins: 0;,它们仍然是分开的.

CSS

ul.frames{
  margin: 20px;
  width: 410px;
  height: 320px;
  background-color: grey;
  float: left;
  list-style-type: none;
}

ul.frames  li {
  display:inline;
  margin: 0;
  display: inline;
  list-style: none;
}

ul.frames li img {
  margin: 0 0 0 0;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<li>
  <img id="myImg" src="img.jpg" width="102.5px" height="80px"/>
</li>
<li>
  <img id="myImg2" src="img.jpg" width="102.5px" height="80px"/>
</li>
<li>
  <img id="myImg3" src="img.jpg" width="102.5px" height="80px"/>
</li>
<li>
  <img id="myImg4" src="img.jpg" width="102.5px" height="80px"/>
</li>
Run Code Online (Sandbox Code Playgroud)

html css

34
推荐指数
2
解决办法
8万
查看次数

为什么内联块导致这个div有高度?

jsFiddle Demo

我似乎无法弄清楚为什么使用display:inline-block会导致此<div>元素以某种方式在隐藏其包含元素时获得高度.这不会发生display:block.

HTML:

<div style="display:inline-block;"><input type="hidden" /></div>
<div>Gap above created by inline-block</div>
<div style="display:block;"><input type="hidden" /></div>
<div>No gap above if using block</div>
Run Code Online (Sandbox Code Playgroud)

jsfiddle的截图

为什么会display:inline-block造成这里描述的差距?

html css

34
推荐指数
3
解决办法
2万
查看次数

为什么font-family会影响按钮之间的空间?

DEMO

请仔细阅读问题.它与如何删除内联块元素之间的空间不同.

请考虑以下示例:

HTML:

body {
  /* font-family: Arial; */
}

.my-class {
  display: inline-block;
  margin: 0 0 0 -4px;
  background-color: transparent;
  border: 1px solid #ccc;
  padding: 20px;
}
Run Code Online (Sandbox Code Playgroud)

CSS:

<div>
  <button class="my-class">Hello</button>
  <button class="my-class">Stack</button>
  <button class="my-class">Overflow</button>
</div>
Run Code Online (Sandbox Code Playgroud)

产生:

在此输入图像描述

但是,如果我补充:

body {
  font-family: Arial;
}
Run Code Online (Sandbox Code Playgroud)

它导致第二个和第三个按钮之间的空间为1px:

在此输入图像描述

现在的问题是:为什么增加font-familybody影响按键之间的空间?

这里的游乐场

html css fonts

20
推荐指数
4
解决办法
1382
查看次数

如何从HTML中删除"不可见空间"

可能重复:
内联块列表项之间的空格

我有一个我的HTML代码的JSFiddle演示.这是这里的代码:

<span style="display: inline">Hello Wo</span>
<span style="display: none;"></span>
<span style="display: inline">rld</span>?
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是在Hello World中'o'和'r'之间插入了一个额外的空间!该display样式设置为无,所以有人告诉我怎样才能得到Hello World!,而没有空间句话?

html css

12
推荐指数
3
解决办法
3万
查看次数

"内联块"div之间的神秘空白

我有这样的布局:小提琴链接

在.td之间是一些空白区域,即使margin和padding设置为0.

为什么会发生这种情况以及如何解决这个问题?可能会留下负边际?还是更好的解决方案?

<style>
.tr {
    height: 20px;
    border: 1px solid black;
    overflow: hidden;
    white-space: nowrap;
    word-spacing: 0;
}
.td {
    display: inline-block;
    height: 20px;
    margin: 0;
    padding: 0;
}
</style>
<div class="tr" style="width: 150px;">
    <div class="td" style="width: 50px; background-color: #CCC;"></div>
    <div class="td" style="width: 50px; background-color: #AAA;"></div>
    <div class="td" style="width: 50px; background-color: #666;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css

7
推荐指数
1
解决办法
4532
查看次数

任何人都可以解释为什么jQuery附加的内联块项目会失去他们的空间?

所以我正在研究一个涉及克隆一些对象并将它们附加到同一个父对象的项目,然后我为这些对象设置动画,但我的计算似乎总是关闭,我意识到这是因为内联块项目总是有尾随空格,没问题,但是当我使用jQuery将一个克隆项附加到父div时,不包含尾随空格,这会使事情变得非常不一致并且难以使用.

当使用浏览器工具检查元素时,元素声称是相同的,设置边距和填充没有区别,这是一个错误还是我只是遗漏了什么?下面是一个复制结果的简单演示

https://jsfiddle.net/kd5opn7j/2/

$('ul').find('li').each(function(){
  $('ul').append($(this).clone());
});
Run Code Online (Sandbox Code Playgroud)
li {
  display: inline-block;
  width:50px;
  height:50px;
  background: #555;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

3
推荐指数
1
解决办法
449
查看次数

内联块DIV元素之间的额外空间

我正在使用CSS列布局模块创建流畅的布局,当2个或更多元素位于列的同一"行"时,我看到意外的结果.元素之间将出现3到4 px的间隙.我已经在IE11,FireFox 24,Chrome 31和Safari 5.1.7中进行了测试,它们都表现出相同的行为.

<div class="tile-container">
    <div class="tile-large">1</div>
    <div class="tile-wide">2</div>
    <div class="tile-small">3</div>
    <div class="tile-small">4</div>
    <div class="tile-small">5</div>
    <div class="tile-small">6</div>
    <div class="tile-wide">7</div>
    <div class="tile-large">8</div>
</div>

.tile-container {
    -moz-column-width: 250px;
    -webkit-column-width: 250px;
    column-width: 250px;
    column-fill: auto;
    height: 502px;
    background-color: gray;
}

.tile-large {
    width: 250px;
    height: 250px;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    display: inline-block;
    background-color: green;
}

.tile-wide {
    width: 250px;
    height: 125px;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    display: inline-block;
    background-color: blue;
}

.tile-small {
    width: 125px;
    height: 125px;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    display: …
Run Code Online (Sandbox Code Playgroud)

html css

2
推荐指数
1
解决办法
6357
查看次数

nowrap内联块之间的空间

我希望有几个块元素彼此相邻,它们采用完整的浏览器宽度.

有了white-space: nowrap它,它工作得很好,但在一个元素和另一个元素之间有一些像素的随机空间:

body { margin: 0; padding: 0; }
#container1 { white-space: nowrap; position: absolute; width: 100%; }
#container1 div { display: inline-block; width: 100%; height: 200px; }
Run Code Online (Sandbox Code Playgroud)
<div id="container1">
    <div style="background: red;"></div>
    <div style="background: yellow;"></div>
    <div style="background: green;"></div>
    <div style="background: blue;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是jsBin演示.

它没有填充,没有边距,没有边框,没有偏移.

html css

2
推荐指数
1
解决办法
5086
查看次数

列表项上的神秘间距

这是我的代码:http://jsfiddle.net/spadez/FbADY/11/

尽管我使用此代码:

 * {
    margin:0;
    padding:0;
}
Run Code Online (Sandbox Code Playgroud)

物品之间似乎仍有空隙.在Google Chrome开发人员栏中,它表示他们没有边距或填充来导致它.

html css

0
推荐指数
1
解决办法
104
查看次数

标签 统计

css ×11

html ×11

fonts ×1

javascript ×1

jquery ×1

ruby ×1

ruby-on-rails ×1