Css 为什么在gwt中,120px宽的列表框比120px宽的文本框短?

Css 为什么在gwt中,120px宽的列表框比120px宽的文本框短?,css,gwt,widget,Css,Gwt,Widget,我正在开发一个简单的GWT应用程序 我有一个FlexTable,里面有标签和输入小部件(例如列表框、文本框、日期选择器……),模式如下: 标签输入标签输入 标签输入标签输入 以此类推,我有两列输入字段及其描述。 我在每个输入小部件上强制设置了一个setwidth(“120px”),因此我希望它们(垂直)排列在一起。但事实并非如此!listbox元素比textbox短,没有明显的原因。 有人能给我解释一下吗?有一些明显的原因,我也试过你的案子,但我没有遇到过这样的问题,应该是从你的角度尝试使用fi

我正在开发一个简单的GWT应用程序

我有一个
FlexTable
,里面有标签和输入小部件(例如列表框、文本框、日期选择器……),模式如下:
标签输入标签输入
标签输入标签输入
以此类推,我有两列输入字段及其描述。 我在每个输入小部件上强制设置了一个
setwidth(“120px”)
,因此我希望它们(垂直)排列在一起。但事实并非如此!listbox元素比textbox短,没有明显的原因。

有人能给我解释一下吗?

有一些明显的原因,我也试过你的案子,但我没有遇到过这样的问题,应该是从你的角度尝试使用firebug,你可以从中找到一些东西。这是我从您描述的代码中得到的,除了
setWidth(“120px”)
,我没有添加任何css样式:

使用此链接可以让您更好地理解

一个120px宽的文本框将是120宽的,然后添加边框(每侧1px),并添加填充(每侧1px),形成124px宽的文本框。 但是,在列表框中,包括边框和填充的总宽度将为120。
这里的关键是,如果您想要一个宽度为120px的文本框,并且每边有1px的边框,每边填充1px,那么您需要将宽度设置为116px。尽管如此,请将select设置为120px。

您正在与两种不同的盒子型号进行较量。如果将两者都设置为“框大小:边框框”(可能需要供应商前缀),则会看到一致的渲染


请参见此处:

我按照您的建议,使用firebux检查了生成的html代码,如下所示:和。。。然而列表框更小…这里有些东西我不明白。。。你是说文本框有填充和边框,而列表框没有?我在fiddle中看到了你的解释,但如果我将listbox的宽度更改为125px(甚至比你建议的多一个像素),listbox会比textbox短。。。而采用这种方式来调整这些措施确实是一种糟糕的做法:)