Html 当子标记的宽度为100%时,如何调整CSS以使Firefox尊重填充? 钮扣{ 边框宽度:1px; 边框样式:实心; 边框颜色:黑色; -moz背景剪辑:填充框; -webkit背景剪辑:填充框; 背景剪辑:填充框; 字体系列:Verdana,日内瓦,无衬线; 字体大小:13px; 高度:28px; 填充:0 10px 0 10px; 最大宽度:180像素; } 按钮>跨度{ 宽度:100%; 身高:100%; 空白:nowrap; } .文本{ 最大宽度:100%; 溢出:隐藏; 文本溢出:省略号; 显示:内联块; } 按钮文本非常非常长

Html 当子标记的宽度为100%时,如何调整CSS以使Firefox尊重填充? 钮扣{ 边框宽度:1px; 边框样式:实心; 边框颜色:黑色; -moz背景剪辑:填充框; -webkit背景剪辑:填充框; 背景剪辑:填充框; 字体系列:Verdana,日内瓦,无衬线; 字体大小:13px; 高度:28px; 填充:0 10px 0 10px; 最大宽度:180像素; } 按钮>跨度{ 宽度:100%; 身高:100%; 空白:nowrap; } .文本{ 最大宽度:100%; 溢出:隐藏; 文本溢出:省略号; 显示:内联块; } 按钮文本非常非常长,html,css,firefox,width,padding,Html,Css,Firefox,Width,Padding,上面的代码包含一个完整的HTML页面,可以复制/粘贴到文本编辑器中,并在浏览器中呈现。我在这里遇到的问题是,我需要文本填充100%的可用宽度,同时考虑左右两侧10px的填充。此处显示的CSS适用于最新版本的Chrome、Safari和IE。然而,在Firefox(版本7和版本8)中,填充不受尊重 我明白,如果我删除了填充,并将文本宽度更改为95%,它看起来会很相似,但我希望尽可能避免这种情况 请告知如何针对Firefox进行调整,并在其他浏览器中继续正常工作。谢谢您的时间。我不完全确定这是否是最

上面的代码包含一个完整的HTML页面,可以复制/粘贴到文本编辑器中,并在浏览器中呈现。我在这里遇到的问题是,我需要文本填充100%的可用宽度,同时考虑左右两侧10px的填充。此处显示的CSS适用于最新版本的Chrome、Safari和IE。然而,在Firefox(版本7和版本8)中,填充不受尊重

我明白,如果我删除了填充,并将文本宽度更改为95%,它看起来会很相似,但我希望尽可能避免这种情况


请告知如何针对Firefox进行调整,并在其他浏览器中继续正常工作。谢谢您的时间。

我不完全确定这是否是最好的方法,但它确实有效:

<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
    button {
      border-width: 1px;  
      border-style: solid;
      border-color: black;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      background-clip: padding-box;
      font-family: Verdana, Geneva, sans-serif;
      font-size: 13px;
      height: 28px;
      padding: 0 10px 0 10px;
      max-width: 180px;
    }
    button > span {
      width: 100%;
      height: 100%;
      white-space: nowrap;
    }
    .text {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      display: inline-block;
    }
  </style>
</head>
<button>
  <span>
    <span class="icon"></span><!-- This will push the text to the right when its shown -->
    <span class="text">Button text that is really, really long</span>
  </span>
</button>
</html>
您的原始代码:


对于我的修复:

我不完全确定这是否是最好的方法,但它确实有效:

<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
    button {
      border-width: 1px;  
      border-style: solid;
      border-color: black;
      -moz-background-clip: padding-box;
      -webkit-background-clip: padding-box;
      background-clip: padding-box;
      font-family: Verdana, Geneva, sans-serif;
      font-size: 13px;
      height: 28px;
      padding: 0 10px 0 10px;
      max-width: 180px;
    }
    button > span {
      width: 100%;
      height: 100%;
      white-space: nowrap;
    }
    .text {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      display: inline-block;
    }
  </style>
</head>
<button>
  <span>
    <span class="icon"></span><!-- This will push the text to the right when its shown -->
    <span class="text">Button text that is really, really long</span>
  </span>
</button>
</html>
您的原始代码:


有了我的修正:

如果您能知道您希望在这里实现什么样的效果,那么JSFIDLE将非常方便。看起来你做得不对。如果你能知道你希望在这里达到什么样的效果,那么JSFIDLE就很方便了。看起来你好像走错了路。@Boris Zbarsky:填充:0 10px 0 10px按钮
,然后在
::-moz-focus-internal
被移除后工作(就像在Chrome中所做的那样)?否;这里观察到的行为与-moz焦点内部无关。参见@Boris Zbarsky:will't
padding:0 10px 0 10px按钮
,然后在
::-moz-focus-internal
被移除后工作(就像在Chrome中所做的那样)?否;这里观察到的行为与-moz焦点内部无关。看见