小编mmg*_*666的帖子

为什么浏览器会替换通过css分配的宽度值?

当我为所有选择分配基本样式时,例如.

width: 300px;
padding: 0;
margin: 0;
border-width: 1px;
Run Code Online (Sandbox Code Playgroud)

在不同情况下通过javascript检索宽度时,我得到意想不到的结果.

  • 选择可见时,with为298px.
  • select为display:none时,宽度也是298px(ff,jquery)
  • select在div中时,display:none,宽度正确为 300px.

(结果也是相同的分配:box-sizing:border-box)

好吧,检索到的宽度有时会与使用的浏览器和javascript框架不同,但总而言之,我只是希望能够检索指定的宽度(300px).(我想它必须与这里所说的"正式怪异"有关:http://meyerweb.com/eric/thoughts/2007/05/15/formal-weirdness/,但是为什么浏览器不会使用用户分配的宽度??)

如何检索指定的宽度?有没有办法做到这一点?

例子:

http://jsfiddle.net/ETCcH/5/(用于使用jquery,或者使用mootools将4替换为4)

(查看并尝试使用不同的浏览器)

javascript css browser styles width

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

在C#中对动态类型变量的ToString调用行为有所不同

有人可以向我解释这两个字符串变量之间的区别:

        dynamic dateStrAsDynamic = "12/10/2013";
        var dateStrFromDynamic = dateStrAsDynamic.ToString();
        var regularDateStr = "12/10/2013";
Run Code Online (Sandbox Code Playgroud)

这两个行为方式完全相同,但调试DateTime.Parse第一个调试时告诉我调试时不支持这种动态操作,我的意思是"动态操作是什么?",无论动态操作如何; 它一定没有结束吗?

通过调用DateTime.Parse这两个(当然在ToString调用并分配给dateStrFromDynamic之后)生成的IL代码也有很大差异,我无法完全掌握.

这两个真的有区别,还是我错过了什么?

c# c#-4.0

3
推荐指数
1
解决办法
1813
查看次数

标签 统计

browser ×1

c# ×1

c#-4.0 ×1

css ×1

javascript ×1

styles ×1

width ×1