Html CSS未应用于元素
遇到了一个我从未遇到过的问题 我有一个元素,它是一个固定在屏幕右侧的面板,用于定位的css是:Html CSS未应用于元素,html,css,web,vaadin,Html,Css,Web,Vaadin,遇到了一个我从未遇到过的问题 我有一个元素,它是一个固定在屏幕右侧的面板,用于定位的css是: .myPanel{ position:absolute; left:0; } 这很好,面板的标记由vaadin生成 现在一切正常,但每当我刷新页面时,cssposition:absolute 正在被忽视 很自然地,我打开我的devtools,看到根据styles选项卡,position:absolute正在被应用,它看起来不像 现在是奇数位 当我取消勾选复选框以删除位置:绝对样式时,
.myPanel{
position:absolute;
left:0;
}
这很好,面板的标记由vaadin生成
现在一切正常,但每当我刷新页面时,cssposition:absolute
正在被忽视
很自然地,我打开我的devtools,看到根据styles选项卡,position:absolute正在被应用,它看起来不像
现在是奇数位
当我取消勾选复选框以删除位置:绝对
样式时,没有任何变化(正如我预期的那样),但当我重新选中它,并且重新应用位置:绝对
时,面板将正确显示
因此,即使没有新的css,删除然后重新添加position:absolute
也会修复它
我一直认为动态添加的元素仍然会采用已加载的css样式。这不对吗
我只在chrome上有过,目前是39版
有什么想法吗
更新:
如果在某个时候css被覆盖,我希望开发工具能够标记它(带有删除线的样式等),但它不是。我已经尝试添加!对它很重要,但得到完全相同的结果(请参阅在devtool中应用,禁用和重新启用修复它)
我注意到,在dom中,vaadin正在加载我的自定义javascript,然后是css,然后是它自己的内置javascript。这是一个已知的错误,看起来无法解决,并且再次出现,另请参见 这似乎是根据规范工作。如果宽度和高度 对于一个被替换的元素(输入是一个)是自动的,它应该 使用元素固有的宽度和高度,这可能会导致 绝对定位需要过度约束 一种修复方法是将输入包装在一个div中,绝对定位它,然后 在输入端使用100%宽度/高度。注意Firefox也有这样的功能 行为,并且它确实在规范中,所以最好修复 网站比换铬好。 ~ 正如你所说: 我注意到在dom中,vaadin正在加载我的自定义javascript 头部,然后是css,然后是它自己的内置javascript
我认为所有浏览器都是如此。有关更多信息,请参阅与此相关的a我在Chrome 38和39中遇到了许多与绝对定位相关的问题。可能有什么内容覆盖了它,请尝试
位置:绝对!重要的你有这样的例子吗?我每天都在Chrome上使用CSS,从来没有遇到过问题。首先检查Chrome的bug报告,如果它不在那里,可能是某些代码在某处覆盖了它或者其他一些与代码相关的问题。给我们举一个这样的例子将有助于解决这个问题。我设法通过隐藏并立即重新显示元素来“修复”这个bug。这就像(使用jQuery):$('#elem')。隐藏(1)。显示(1)
。正如@Limiter所说,我认为位置:绝对!重要的代码>将修复它。我认为chrome上的错误与我遇到的问题无关,没有输入,也没有宽度/高度问题。不适用的是位置:绝对。元素存在,并且它的尺寸很好,只是它不在它应该在的位置。您能在JSFIDLE中复制这个吗?或者您的错误是特定于站点的?