让span填充剩余宽度?

use*_*114 24 css

我有以下li项目:

<li>
  <span style='float:left; background-color:red'>a</span>
  <span style='float:left; background-color:green'>b</span>
</li>
Run Code Online (Sandbox Code Playgroud)

我希望右边的跨度填充其父li中剩余的任何宽度.有没有办法做到这一点?

谢谢

Mic*_*ins 22

您不希望将它们中的每一个浮动,只留下第一个,然后使第二个以块模式显示:

<li>
  <span style='float:left; background-color:red'>a</span>
  <span style="display: block; background-color:green;">b</span>
</li>
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的(其他答案也不正确):Span不填充宽度的其余部分,它填充整个宽度 - 两个跨度重叠. (9认同)
  • 您可以通过在第二个上设置`overflow:hidden;`来防止跨距重叠. (4认同)

Fal*_*int 9

寻找相同的解决方案,但发现只有这对我有用:

<li>
  <span style='display: table-cell; background-color:red'>a</span>
  <span style='display: table-cell; width: 100%; background-color:green'>b</span>
</li>
Run Code Online (Sandbox Code Playgroud)

您只需使用表格单元格显示并将填充范围宽度设置为100%即可.我尝试过的所有其他解决方案并没有像我预期的那样对我有用.

  • @LechOsiński谢谢,修好.那么"双引号传统" - 不确定传统在IT /科学中是否有任何意义.W3.org对btw的任何报价都不做任何偏好. (4认同)

cna*_*ney 7

不要漂浮第二个,然后制作它display:block.

http://jsfiddle.net/ymAt5/