Ничто, о чем я могу думать. "Лучшим" путем я могу придумать, должен добавить ctor с фиктивным параметром и использованием что:
public partial class MyWebService : System.Web.Services.Protocols.SoapHttpClientProtocol
{
public override MyWebService(int dummy)
{
string myString = "overridden constructor";
//other code...
}
}
MyWebService mws = new MyWebService(0);
Инспектор DOM Chrome подтверждает, что это проблема WebKit; div получает большое правое поле, даже если вы попытаетесь переопределить margin-right
. Некоторые вещи, которые заставляют правильно рассчитывать маржу, включают float: left
и display: inline-block
. Кроме того, если вы поместите div внутри div другого размера, его outerWidth (true)
даст innerWidth
содержащего div, что может быть полезным обходным решением в реальном мире - просто оберните его в div с margin: 0; отступ: 0; ширина: XXX
.
Это не ошибка определения внешней ширины. Webkit фактически отображает блоки с большими правыми полями. Так как правое поле простирается (почти) до правого края, вы получаете большую внешнюю ширину.
Я не уверен, является ли это «правильный» способ визуализации, но если есть спецификация, которая говорит, что правильная маржа не должна расширяться, тогда это будет ошибкой в WebKit.
I can also confirm this.
It is really odd that Webkit does this, and I can't imagine why anyone would think that this is a good idea.
I wonder if Chrome 4 fixes this.
Мой опыт также подтверждает это - это ошибка Webkit, которую необходимо исправить.