不同的CSS样式为不同的按钮

时间:2013-04-25 13:38:19

标签: c# css asp.net-mvc

首先;我知道很多这类CSS类型的问题已被关闭,所以,希望我能够扩大问题以适应其他人。这是:

我已经交了一个项目,并且正在尽我所能添加我老板要我的功能。但是,当我尝试以不同于其他按钮的方式设置按钮时,更改不会“采取”。

css文件正常工作,因为我可以设置其他内容:

<link href="~/Content/Site.css" rel="stylesheet" type="text/css" />

按钮:

<input type="submit" value="Print." class="fakeBtn" id="fakeBtn" />

CSS尝试:

.fakeBtn
{
    font-size: 0.8em;
    border: 0px;
    background-color: transparent;
    color: #999;
    cursor: hand;
}

input#fakeBtn
{
    font-size: 0.8em;
    border: 0px;
    background-color: transparent;
    color: #999;
    cursor: hand;
}

正如你所看到的,我已经尝试过使用类来改变样式和id方法。但这些都不起作用。 我几乎没有完成任何mvc工作,这个已经存在的项目是我的第一个。这是一个逻辑错误吗?我做错了什么?

修改

这些中的任何一个都可以覆盖吗?这些都是我能找到的带有“输入”的css-snippets。如何知道某些事物是否会覆盖其他内容?

input, textarea {
    border: 1px solid #e2e2e2;
    background: #fff;
    color: #333;
    font-size: 1.2em;
    margin: 5px 0 6px 0;
    padding: 5px;
    width: 300px;
}

    input:focus, textarea:focus {
        border: 1px solid #7ac0da;
    }

    input[type="checkbox"] {
        background: transparent;
        border: inherit;
        width: auto;
    }

    input[type="submit"],
    input[type="button"],
    button {
        background-color: #d3dce0;
        border: 1px solid #787878;
        cursor: pointer;
        font-size: 1.2em;
        font-weight: 600;
        padding: 7px;
        margin-right: 8px;
        width: auto;
    }

    td input[type="submit"],
    td input[type="button"],
    td button {
        font-size: 1em;
        padding: 4px;
        margin-right: 4px;
    }

input.input-validation-error {
    border: 1px solid #e80c4d;
}

input[type="checkbox"].input-validation-error {
    border: 0 none;
}

2 个答案:

答案 0 :(得分:1)

CSS似乎很好。

尝试使用Firebug来验证应用的样式和覆盖的内容。

我怀疑你有一些其他CSS规则可以设置按钮的样式并覆盖你的CSS。

答案 1 :(得分:1)

如果这是纯html,那么你的代码看起来很好,很明显你的css根本就没有被加载和读取,或者它在稍后阶段被覆盖。

您可以尝试应用important(例如color: #999 ! important;),以查看是否有任何更改可见。如果是这样,您就知道CSS属性正在被其他地方覆盖。

另一方面,我看到Asp.Net和MVC缓存在这里引起了一些问题。您可能想尝试删除该站点并从头开始重新发布,以查看是否有任何更改。

<强>更新

我相信这可能是你的问题:

input, textarea {
    border: 1px solid #e2e2e2;
    background: #fff;
    color: #333;
    font-size: 1.2em;
    margin: 5px 0 6px 0;
    padding: 5px;
    width: 300px;
}

这指定了input类型的样式,因此如果在.fakeBtn { ...}之后,则会应用该样式(除非当然,您已将! important;添加到某些样式的末尾在这种情况下,它们只会被包含! important;)的其他语句覆盖。

您最好的解决方案可能是在该部分添加特定的类:input, textarea { ...}。这样,它通常不会覆盖其他输入字段。