相关疑难解决方法(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万
查看次数

flex-basis:Webkit/Blink忽略内在的宽高比

给定一个flex容器

figure {
  display: flex;
  align-items: flex-start;
}
Run Code Online (Sandbox Code Playgroud)

和一个300x300的图像,其flex-basis设置为其固有宽度的一半:

figure img {
  flex: 0 0 150px;
}
Run Code Online (Sandbox Code Playgroud)

Chrome 41和Safari 7忽略宽高比并将其显示为150px x 300px:

在此输入图像描述

另一方面,Firefox 35保持内在宽高比不变:

在此输入图像描述

figure {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  -o-align-items: flex-start;
  align-items: flex-start;
  -ms-flex-align: start;
  
  width: 100%;
  border: 1px solid black;
}

figure img {
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  -webkit-flex: 0 0 150px;
  -moz-flex: 0 …
Run Code Online (Sandbox Code Playgroud)

css css3 flexbox

15
推荐指数
1
解决办法
1116
查看次数

标签 统计

css ×2

css3 ×1

flexbox ×1

html ×1