我正在使用一个基于windows的程序,用Delphi编写,生成HTML(并且可以将浏览器限制为MSIE 7+)。
我需要绝对的,像素完美的所见即所得。然而,我有文字包装的问题。
德尔菲的情况

-- -----------------
| aaaa bbb ccc ddd |
--------------------

在浏览器中是这样的(MS-IE和FF。虽然我只针对MSIE,但我使用FF访问FireDebug)
--------------------
|   aaaa bbb ccc   |
--------------------
ddd

现在,Delphi有一个对象检查器
它允许我精确地设置控件的顶部/左侧/宽度/高度,并且在生成HTML时,我使用这些设置来对表单上的每个控件进行CSS定位。例如
<fieldset style="position: absolute; top: 56px; left: 32px; width: 185px; height: 13px; ">
  <legend> </legend>
  <div style="position: absolute; top: 0px; left: 0px; width: 179px; height: 13px;">
     Label1 000 111 222 aaa bbb cccc dd
  </div>
</fieldset>

但是由于我得到了文本包装,我想我忽略了一些东西,比如边距/边框/填充的设置。有什么想法吗?
顺便说一下,我使用Arial 10作为windows/browser可比性的字体,所以这不应该是字体大小问题。
我认为Delphi必须有类似于box模型的东西,因为它用一个边距来绘制控件(从0开始的控件从窗体的左侧有一个可见的间隙;如果我给它宽度100,并用left=100定位另一个控件,它们之间有一个可见的间隙)。
你知道我将如何实现所见即所得吗?HTMl必须反映Delphi表单中的控件布局。

最佳答案

试试这个,这就是你想要达到的目标吗?

<html>
<head>
</head>
 <body>
  <form style="margin:0 0 0 0; padding:0 0 0 0;">
   <fieldset style="position: absolute; top: 56px; left: 32px; width: 185px; height: 18px; ">
     <legend></legend>
     <div style="text-align: center; position: absolute; top: 0px; left: 0px; width: 179px; height: 18px;">aaa bbb cccc dd</div>
   </fieldset>
</form>
</html>

关于html - Delphi和CSS-盒子模型问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5959989/

10-16 13:41