为什么我的CSS更改,即使在importantified,没有效果?

时间:2016-05-16 17:04:15

标签: html css asp.net-mvc

在尝试微调我的Web API页面的外观时,我正在更改CSS类,并将新类添加到\ Content / Site.css,但它们不会改变页面的外观他们应该,即使我将“!important”附加到特定的规则上。

例如,我在页面中添加了一个水平规则,它确实显示出来,但却非常不引人注目(带有微弱的,几乎无法辨别的线条)。所以我将这个.css类添加到Site.css:

hr {
    border: 0;
    height: 1px;
    color: navy;
    background: #333;
}

...在另一个项目中工作得很好,但在这个项目中没有。即使我将“!important”追加到那里的“高度”规则,该线仍然很暗:

height: 1px !important;

我尝试在运行时右键单击页面并选择“重新加载页面”,但这也没有任何区别。

其他CSS更改(边距和填充)也没有任何影响;这只是一个特殊情况,其解决方案应适用于所有这些。

我需要做些什么来修改/添加要应用的CSS规则?

更新

即使我默认Algernop K的建议,也要改变代码:

. . .
builder.Append(string.Format("<h1 style=\'margin-left:16\'>Available PRO*ACT Reports for <span style='color: #000080;'>{0}</span></h1>", _unit.ToUpper()));

builder.Append("<p style='margin-left:16;'>(Click any link below to download the Excel spreadsheet file to your computer)</p>");
builder.Append("</div>");

builder.Append("<div class=\"row\">");
builder.Append("<div class=\"col-md-12\">");
builder.Append("<hr />");
. . .

......对此:

. . .
builder.Append(string.Format("<h1 style=\'margin-left:16; margin-top:48;\'>Available PRO*ACT Reports for <span style='color: #000080;'>{0}</span></h1>", _unit.ToUpper()));

builder.Append("<p style='margin-left:16;'>(Click any link below to download the Excel spreadsheet file to your computer)</p>");
builder.Append("</div>");

builder.Append("<div class=\"row\">");
builder.Append("<div class=\"col-md-12\">");
builder.Append("<hr style=\'size:4;\' />");
. . .

...(将“; margin-top:48;”添加到h1元素,将“size”添加到hr),没有明显的变化。

更新2

在通往元素检查的路上发生了一件“有趣”的事情。正如克里斯W建议的那样,我右键单击了页面上的hr元素,但它是如此微不足道,以至于我可能有一个不同的要素来检查。然而,控制台中的错误信息可能会揭示基本问题 - 它说,“ bootstrap.min.js:6未捕获的错误:Bootstrap的JavaScript需要jQuery

更新3

我应该将我的\ Content \ Site.css文件明确添加到html吗?我尝试将它从解决方案资源管理器中拖到上面显示的行下方,希望它能生成正确的代码,但它却给了我:

C:\Projects\ProActWebReports\ProActWebReports\Content\Site.css

...并提示添加“'System.Security.Policy.Site'和文件中的所有其他引用”

请注意,我有一个相关的问题here

更新4

FWIW,这是构建此html的完整(相关)代码:

namespace PlatypusWebReports.Controllers
{
    [RoutePrefix("api")]
    public class LandingPageController : ApiController
    {
        private string _unit;

        [Route("{unit}")]
        public HttpResponseMessage Get(string unit)
        {
            _unit = unit;
            string beginningHtml = GetBeginningHTML();
            string deliveryPerformanceHtml = GetDeliveryPerformanceHTML();
            string fillRateHtml = GetFillRateHTML();
            string priceComplianceHtml = GetPriceComplianceHTML();
            string produceUsageHtml = GetProduceUsageHTML();
            string endingHtml = GetEndingHTML();
            String HtmlToDisplay = string.Format("{0}{1}{2}{3}{4}{5}",
                beginningHtml,
                deliveryPerformanceHtml,
                fillRateHtml,
                priceComplianceHtml,
                produceUsageHtml,
                endingHtml);

            return new HttpResponseMessage()
            {
                Content = new StringContent(
                    HtmlToDisplay,
                    Encoding.UTF8,
                    "text/html"
                )
            };
        }

        private string GetBeginningHTML()
        {
            StringBuilder builder = new StringBuilder();
            builder.Append("<html>");
            builder.Append("<head>");
            builder.Append("<title>");
            builder.Append(string.Format("Available Reports For {0}", _unit));
            builder.Append(_unit);
            builder.Append("</title>");            
            builder.Append("<script src='https://code.jquery.com/jquery-1.12.2.min.js' integrity='sha256-lZFHibXzMHo3GGeehn1hudTAP3Sc0uKXBXAzHX1sjtk=' crossorigin='anonymous'></script>");
            builder.Append("<link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css' rel='stylesheet' />");
            builder.Append("<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js'></script>");
            builder.Append("</head>");
            builder.Append("<body class=\"body-content\" style='margin-top:0;margin-left:60;margin-right:60;'>");

            builder.Append("<div class=\"jumbotronjr\">");
            builder.Append("<img src=\"http://www.Platypususa.com/wp-content/themes/Platypus/images/pa_logo_notag.png\" alt=\"Platypus logo\">");
            builder.Append(string.Format("<h1 style=\'margin-left:16; margin-top:48;\'>Available Platypus Reports for <span style='color: #000080;'>{0}</span></h1>", _unit.ToUpper()));

            builder.Append("<p style='margin-left:16;'>(Click any link below to download the Excel spreadsheet file to your computer)</p>");
            builder.Append("</div>");

            builder.Append("<div class=\"row\">");
            builder.Append("<div class=\"col-md-12\">");
            builder.Append("<hr style='color:red;height:12;' />");
            builder.Append("</div>");
            builder.Append("</div>");
            // for beginning the row div
            builder.Append("<div class=\"row\">");

            return builder.ToString();
        }

        private string GetEndingHTML()
        {
            StringBuilder builder = new StringBuilder();
            // for ending the row div
            builder.Append("</div>");
            builder.Append("</body>");
            builder.Append("</html>");
            return builder.ToString();
        }
        . . .

一切都基本上按照我想要的方式显示,它只是不允许我添加“gingebread”(在使用区域周围添加边距,小时,阴影)

更新5

即使_ViewStart.cshtml指向布局:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

...和_Layout.cshtml呈现(据说)Content / css文件夹中的样式,其中包含我一直疯狂地添加CSS样式的Sites.css:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - PRO*ACT USA</title>
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/bootstrap")
    @Styles.Render("~/Content/css")

</head>
<body>
    <div class="container body-content">
        @RenderBody()
    </div>

    @*@Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")*@
    @RenderSection("scripts", required: false)
</body>
</html>

...所有这些都无法添加我想要的这些样式。唯一的方法似乎是使用内联样式:

builder.Append("<body style='margin-top:40;margin-left:60;margin-right:60;'>");
. . .            
builder.Append("<hr style='border:0;height:1;background:#333;color:navy;' />");

整个过程当然可以做得更清楚[n,r] /更直接。

0 个答案:

没有答案