Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 可以在运行的mvc站点中编辑css文件吗?_Jquery_Css_Asp.net Mvc_Model View Controller - Fatal编程技术网

Jquery 可以在运行的mvc站点中编辑css文件吗?

Jquery 可以在运行的mvc站点中编辑css文件吗?,jquery,css,asp.net-mvc,model-view-controller,Jquery,Css,Asp.net Mvc,Model View Controller,我有一个MVC站点,除了某些设计元素外,它是黑白相间的,用一种特定的颜色,比如说蓝色。我做所有的颜色从css 我想做的是不时地把这种颜色换成另一种颜色。问题是,如果在加载文档时切换jquery,异步加载元素中的颜色就不会改变 是否可以从MVC更改css文件本身,或者可能存在异步加载元素的事件?将不同的元素放在不同的文件中,然后只包含您关心的元素,怎么样?例如: 在文件default.css中 现在我可以有其他文件。让我们说red.css 现在,在母版页中,您可以根据您喜欢的任何业务逻辑加载red

我有一个MVC站点,除了某些设计元素外,它是黑白相间的,用一种特定的颜色,比如说蓝色。我做所有的颜色从css

我想做的是不时地把这种颜色换成另一种颜色。问题是,如果在加载文档时切换jquery,异步加载元素中的颜色就不会改变


是否可以从MVC更改css文件本身,或者可能存在异步加载元素的事件?

将不同的元素放在不同的文件中,然后只包含您关心的元素,怎么样?例如:

在文件default.css中

现在我可以有其他文件。让我们说red.css

现在,在母版页中,您可以根据您喜欢的任何业务逻辑加载red.css。以下是一个示例:

<link rel="stylesheet" type="text/css" href="/css/default.css" />
<% if (SomeCondition) { %>
    <link rel="stylesheet" type="text/css" href="/css/red.css" />
<% } %>

将不同的元素放在不同的文件中,然后只包含您关心的元素,怎么样?例如:

在文件default.css中

现在我可以有其他文件。让我们说red.css

现在,在母版页中,您可以根据您喜欢的任何业务逻辑加载red.css。以下是一个示例:

<link rel="stylesheet" type="text/css" href="/css/default.css" />
<% if (SomeCondition) { %>
    <link rel="stylesheet" type="text/css" href="/css/red.css" />
<% } %>

你的颜色多久会改变一次?如果更改不经常发生,可以创建一个基于当前时间返回不同样式表的操作方法

public ActionResult GetCss() {
    string stylesheet = GetStylesFromSomewhere();
    return Content(stylesheet, "text/css");
}

你的颜色多久会改变一次?如果更改不经常发生,可以创建一个基于当前时间返回不同样式表的操作方法

public ActionResult GetCss() {
    string stylesheet = GetStylesFromSomewhere();
    return Content(stylesheet, "text/css");
}

我重新阅读了这个问题,认为我应该给出一个完全不同的答案

css主要是声明性的。这是一个很大的方便。如果您以这种方式声明了一些东西,那么您就不需要关心在新元素上重新应用css,或者重新处理DOM。它发生在浏览器中。每次发生某些事情(例如添加新元素)时,强制将新元素更改为新状态不仅不方便,而且会导致大量错误。因此,对于异步加载的元素没有常规事件,但您不应该寻找一个

缓存

在任何web环境中,拥有一个恒定的css文件主要是一个好主意。浏览器缓存css,并可以在每次需要时使用它。如果更改css,浏览器不会注意到。当然,有很多设置要考虑,但在大多数情况下都是如此。

因此,如果你可以编辑你的css文件,这并不重要,因为你需要以某种方式告诉浏览器注意到更改

有一种称为缓存破坏的技术,主要是在css之后放置一个GET参数,如:

<link href="https://www.famous-cats.com/style/puna.css?v=3" rel="stylesheet" type="text/css" />
我已经给了链接标签一个id

它是有效的

深入了解少一点多一点,检查如何使用颜色变量。你可以在管理员界面上选择一种颜色

此外,内联css不是魔鬼的工作,您可以轻松地在razor中创建它。如果只是一些规则,它不会伤害任何人。因此,如果您不喜欢less,您可以使用内联css,或者通过MVC控制器操作生成css,只需将mimetype设置为text/css,并使用url参数进行颜色更改/缓存破坏


我希望这能回答你的问题。

我重新阅读了这个问题,认为我应该给出一个完全不同的答案

css主要是声明性的。这是一个很大的方便。如果您以这种方式声明了一些东西,那么您就不需要关心在新元素上重新应用css,或者重新处理DOM。它发生在浏览器中。每次发生某些事情(例如添加新元素)时,强制将新元素更改为新状态不仅不方便,而且会导致大量错误。因此,对于异步加载的元素没有常规事件,但您不应该寻找一个

缓存

在任何web环境中,拥有一个恒定的css文件主要是一个好主意。浏览器缓存css,并可以在每次需要时使用它。如果更改css,浏览器不会注意到。当然,有很多设置要考虑,但在大多数情况下都是如此。

因此,如果你可以编辑你的css文件,这并不重要,因为你需要以某种方式告诉浏览器注意到更改

有一种称为缓存破坏的技术,主要是在css之后放置一个GET参数,如:

<link href="https://www.famous-cats.com/style/puna.css?v=3" rel="stylesheet" type="text/css" />
我已经给了链接标签一个id

它是有效的

深入了解少一点多一点,检查如何使用颜色变量。你可以在管理员界面上选择一种颜色

此外,内联css不是魔鬼的工作,您可以轻松地在razor中创建它。如果只是一些规则,它不会伤害任何人。因此,如果您不喜欢less,您可以使用内联css,或者通过MVC控制器操作生成css,只需将mimetype设置为text/css,并使用url参数进行颜色更改/缓存破坏


希望这能回答您的问题。

如果您编辑CSS文件本身,那么在进行更改时,浏览该网站的其他人会发生什么情况?他们不会看到不同的颜色吗,即使这可能与他们的活动无关?这真的没关系。这一切基本上只是设计。所以,假设站点的一般高亮颜色从蓝色变为绿色,如果你是这么说的话,这看起来不会是一个错误,因为所有的蓝色元素都会变为绿色。所以我认为这没关系。如果你编辑CSS文件本身,那么在进行更改时,浏览该网站的其他人会发生什么情况?他们不会看到不同的颜色吗,即使这可能与他们的活动无关?这真的没关系。这一切基本上只是设计。所以,假设站点的一般高亮颜色从蓝色变为绿色,如果你是这么说的话,这看起来不会是一个错误,因为所有的蓝色元素都会变为绿色。所以我觉得没关系。这其实不是个坏主意!:但不幸的是,这个网站的管理员不能胜任这方面的工作,所以我不能要求她在每次他们换成新颜色时都写一个新的css。我也猜不出他们将来想用什么颜色,所以我不能或不想限制他们的选择。我想的是,在管理UI上有一个迷你的颜色选择器,当点击Save按钮时,它会在css中进行更改。将颜色选择器值放入数据库,然后创建一个模板css文件。然后按照布兰特·鲍比的建议去做,除了用一个简单的字符串替换你的颜色值。现在您已经有了MVC根据存储在别处的颜色值生成的样式表。这实际上不是个坏主意但不幸的是,这个网站的管理员不能胜任这方面的工作,所以我不能要求她在每次他们换成新颜色时都写一个新的css。我也猜不出他们将来想用什么颜色,所以我不能或不想限制他们的选择。我想的是,在管理UI上有一个迷你的颜色选择器,当点击Save按钮时,它会在css中进行更改。将颜色选择器值放入数据库,然后创建一个模板css文件。然后按照布兰特·鲍比的建议去做,除了用一个简单的字符串替换你的颜色值。现在你已经有了MVC根据存储在别处的颜色值生成的样式表,这种情况不会经常发生。比如说每隔一个月。但正如我在上面的评论中所描述的,我不知道他们将来会使用哪种颜色,我也不能要求站点管理员编写css。我真的不想成为这样的人:这不会经常发生。比如说每隔一个月。但正如我在上面的评论中所描述的,我不知道他们将来会使用哪种颜色,我也不能要求站点管理员编写css。我真的不想成为做这件事的人:嗯。。。听起来很有趣!我要试试这个!六羟甲基三聚氰胺六甲醚。。。听起来很有趣!我要试试这个!
document.getElementById('colorcss').href = 'color.less?color=F35741';