ASP.NET MVC razor:CSS块中的条件属性

时间:2017-11-15 03:01:30

标签: asp.net asp.net-mvc razor

我可以在样式标签中使用if条件吗?

<style>
    @@media (min-width: 765px) {
    html,body 
       {
        min-width: auto;
        width: 100%;
        @{
            if (ViewBag.type == "pic")
            {
                @:min-height:100vh;
                @:height:auto;
            }
            else {
                @:height: 100vh;
            }
          }
       }
    }
</style>

或者我应该直接在HTML中使用CSS?

1 个答案:

答案 0 :(得分:2)

您应该将css放在css文件中并定位特定的类,而不是有条件地加载文件。 然后,您可以使用Razor在标记上包含条件类。类似的东西:

@{
    var imgType = ViewBag.type == "mobile"?"for-mobile":"for-desktop";
}

<img class="@imgType" src="..."/>

然后在你的CSS文件中:

.for-mobile{
      min-height:100vh;
      height:auto;
}

.for-desktop{
     height: 100vh;
}