【发布时间】:2017-06-15 09:44:12
【问题描述】:
在我的 ASP.NET MVC 项目中,当我将内联样式应用于 html 元素时,我有一个奇怪的行为——它们没有显示在浏览器中。但是,如果我使用 css 类在 一个外部 css 文件 中放置相同的样式,它将起作用(即使将 css 类放在同一页面上的 <style> 标记中也不起作用。
例子:
不工作
<div style="height: 100px; width: 100px; background: red;">
ABC
</div>
不工作
<!DOCTYPE html>
<html>
<head>
<style>
.myClass {
height: 100px;
width: 100px;
background: red;
}
</style>
</head>
<body>
<div class="myClass">
ABC
</div>
</body>
</html>
工作
mystyle.css
.myClass {
height: 100px;
width: 100px;
background: red;
}
index.cshtml
<div class="myClass">
ABC
</div>
如果我不使用cshtml 文件而只加载静态html 文件,那么所有变体都可以工作。
这是为什么呢?我们如何解决它?
【问题讨论】:
-
你检查过浏览器F12工具吗?它是否显示 HTML 中的样式?如果您检查元素,它是否显示它们被覆盖或其他东西(至少 Chrome 显示了这一点)?
-
如果我尝试一下,您的 HTML 就可以工作。这意味着有一些其他样式覆盖它。正如 juunas 提到的,尝试开发工具并检查覆盖它的内容。您可以将 !important 添加到内联样式以确保应用您的样式。
-
用 F12 检查 - 没有样式覆盖。您是作为 1
cshtml文件还是常规文件进行检查? -
你试过了吗
-
我实际上已经能够重现这个问题。我正在 Visual Studio 2017 中开发并运行 Chrome。页面源具有正确的内联样式,但浏览器不会在加载时呈现它们。但是,如果我使用 F12 开发工具并取消选中内联样式,然后重新检查它所应用的样式。
标签: css asp.net-mvc asp.net-core-mvc