我无法弄清楚为什么内联元素会line-height
在某些浏览器中忽略(Chrome和Firefox会忽略它,但IE9不会忽略它).
这是一个例子:
<small style="line-height: 1; font-size: 26px;">Hello, World</small>
Run Code Online (Sandbox Code Playgroud)
预期的结果是元素高度为26px,但是,它被设置为31px.如果我将元素的显示设置为块,则高度正确设置为26px.
我读到的所有东西都说应该设置为线高,所以我无法想出这个.这是我在W3C上看到的内容:
计算行框中每个内联级别框的高度.对于替换元素,内联块元素和内联表元素,这是其边距框的高度; 对于内联盒子,这是他们的"线高".
我正在研究ASP.Net MVC应用程序.我的操作是返回一个视图,其中的模型是一个对象数组(一个具有Name,ID,IsViewable等属性的类).
var model = @Model.ToJson(); // done via extension call
Run Code Online (Sandbox Code Playgroud)
我想观察这个数组,所以每当它改变时我都可以更新一个绑定到模板的表.
var viewModel = {
accounts = ko.observableArray(model)
}
Run Code Online (Sandbox Code Playgroud)
这适用于添加和删除数组中的元素.但是,我还希望模板在其中一个帐户中的属性更改时更新(即名称或ID).
在KnockoutJS网站上,它说:当然,如果你愿意,你可以观察这些属性,但这是一个独立的选择.这是我无法弄清楚该怎么做的.
我试过这样的事情但没有用:
var viewModel = {
accounts = ko.oservableArray([])
}
for(var i = 0; i < model.length; i++) {
ko.observableArray(model[i]);
viewModel.accounts.push(model[i]);
}
Run Code Online (Sandbox Code Playgroud)
如果需要,我可以发布模板和表格.
我有一个控制器动作,它在数据库中做了一些工作,然后在它完成时退出.这个动作是通过jQuery的ajax函数调用的,dataType设置为'json'.
如果我将操作的返回类型设置为void,一切都会正常运行,除非Firefox在控制台中显示错误:"找不到元素".
如果期望XML回来,Firefox会抛出这个错误是有道理的.但是,即使我将ajax调用的dataType属性更改为"text",我仍然会收到错误.为了摆脱返回类型为void的错误,我必须将Response的ContentType设置为"text/html".或者我可以将返回类型设置为JsonResult并返回一个新的[empty] JsonResult对象.
我确信有几种方法可以使这个错误消失,但我想知道处理动作的正确方法,没有通过ajax调用返回值.
如果重要,我也使用异步控制器动作模式.
public void DoSomethingAsync(SomeJsonObjectForModelBinding model)
{
// do some database things
}
public void DoSomethingCompleted()
{
// nothing to do...
// what should my return type be?
// do I need to set the content type here?
}
Run Code Online (Sandbox Code Playgroud)