小编str*_*lsi的帖子

溢出:隐藏在内联块上会增加父级的高度

我确定以前曾以某种形式或其他方式询问过,但我找不到答案.

我有一些嵌套的div

<div class="parent">
    <div class="child">A</div>
</div>
Run Code Online (Sandbox Code Playgroud)

并且孩子有显示:内联块和溢出:隐藏

.parent{
    background-color:red;
}
.child{ 
    background-color:green; 
    display:inline-block;
    overflow:hidden; 
}
Run Code Online (Sandbox Code Playgroud)

它会像这样呈现: 在此输入图像描述

您可以注意到父母比孩子高5px.

额外高度来自哪里?

以下是示例:http://jsfiddle.net/w8dfU/

编辑: 我不想删除display:inline-block或overflow:hidden,这是一个简单的例子来说明问题,但在我的真实布局中我需要它们.我只是想明白为什么会出现这个额外的高度.是否指定它应该是这样的?这是其他一些css功能的结果吗?

html css height overflow

35
推荐指数
2
解决办法
1万
查看次数

在DataTestMethod的每个DataRow之前和之后,TestInitialize和TestCleanup均未运行

在下面,您可以在Window Phone Unit Test App中看到一些用Mstest编写的代码。
我有一个称为TestMethod1的普通TestMethod 和一个名为TestMethod2的DataTestMethod ,它具有三个DataRows:

[TestClass]
public class UnitTest1
{
    [TestInitialize]
    public void Setup()
    {
        Debug.WriteLine("TestInitialize");
    }

    [TestMethod]
    public void TestMethod1()
    {
        Debug.WriteLine("TestMethod1");
    }

    [DataTestMethod]
    [DataRow("a")]
    [DataRow("b")]
    [DataRow("c")]
    public void TestMethod2(string param)
    {
        Debug.WriteLine("TestMethod2 param=" + param);
    }

    [TestCleanup]
    public void TearDown()
    {
        Debug.WriteLine("TestCleanup");
    }
}
Run Code Online (Sandbox Code Playgroud)

如果以调试模式运行测试(在Visual Studio中为Ctrl + R,Ctrl + T),则会在输出面板中看到以下内容:

TestInitialize
TestMethod1
TestCleanup
TestInitialize
TestMethod2 param = c
TestMethod2 param = a
TestMethod2 param = b
TestCleanup

如您所见,TestInitialize仅执行了两次:一次在TestMethod1之前,一次在带有参数c的TestMethod2之前。
对于TestCleanup来说是相同的,它在TestMethod1之后执行一次,并在最后一次执行一次。

我希望无论测试是TestMethod还是DataTestMethod,在每次测试之前和之后都要执行TestInitialize和TestCleanup。否则,一项测试的执行会影响下一项测试。

我希望它是这样的: …

c# unit-testing windows-phone vs-unit-testing-framework windows-phone-8

5
推荐指数
1
解决办法
2286
查看次数