我正在使用Python GTK和WebKit创建桌面应用程序。主要基于this tutorial。
我在HTML5中创建我的视图并使用CSS。
问题是当我使用width:100%
或repeat-x
时,窗口的宽度会不断增加到无限远。
我试图将max-width:100%
放入<body>
,但它无济于事。
现在,我把它固定宽度工作正常,但我想让它可调整窗口大小,所以内部的所有内容都不会让它看起来很难看。
为此提供任何帮助或解决方法吗?
更新
我使用的是与本教程中给出的代码相同的代码
http://www.aclevername.com/articles/python-webgui/
在HTML文件中,我刚添加了一个页眉和页脚。对于页脚,我刚刚创建了一个div,
<div id="footer" style="width:100%;
position:absolute; align:center; bottom:0px; padding-top:10px;
height:50px; background:url(img/int-bg.png) left top;">
</div>
这使得窗口无限扩展其宽度。
如果我在CSS中修复宽度,那么它将不会进行扩展。对于固定尺寸的窗户,工作正常。
<div id="footer" style="width:800px;
position:absolute; align:center; bottom:0px; padding-top:10px;
height:50px; background:url(img/int-bg.png) left top;">
</div>
但我想让它重新调整大小。如何实现这种灵活性?
答案 0 :(得分:1)
这可能有所帮助(我已经包含了一些上下文来帮助其他读者看到这是一个涉及PyWebKitGtk想要调整其父容器的问题),
import gtk
import webkit
window = gtk.Window()
browser = webkit.WebView()
box = gtk.VBox(homogeneous=False, spacing=0)
window.add(box)
# ...
box.pack_start(browser, expand=True, fill=True, padding=0)
browser.set_size_request(400, 600) # <-- constrain width and height of browser
window.show_all()
出现此问题的原因是:设置“width:100%”会导致溢出滚动。但是在这个Gtk示例中,它会触发调整大小,使父窗口变大。由于父级变大,“宽度:100%”现在代表的空间略大,导致反馈周期不稳定。
更好的解决方案可能是调整填充和边距等,以便在请求“width:100%”时它们根本不会触发调整大小。例如,在这里使用CSS重置似乎可以解决问题:http://meyerweb.com/eric/tools/css/reset/
我也是这篇文章的作者,并且很高兴尽管文章也已经过时了,但它仍然在给予灵感。