Button样式链接的CSS

时间:2012-08-13 13:10:35

标签: css asp.net-mvc

我正在尝试创建此按钮而不实际使用按钮标记。我创建了一个按钮图像并将其切成左右中间的三个部分,因此当我向链接添加文本时,图像将根据长度进行扩展。我也在使用悬停图像 - 但是当我尝试将此样式应用于按钮标记时 - 过度功能不起作用 - 不确定这是否是因为按钮标记没有悬停功能。但是当我以列表格式放置这三个图像时,它可以很好地显示“按钮”的悬停和未悬停图像,但它无法在所有Web浏览器上正确显示。

以下是列表格式样式:

<ul class="glossyBtn">
    <li class="newBtn">
        <a style="margin-left: 12px"class="printRemove" href='<%:Url.Action("Close", "Close", new{caseId = Model.CaseId}) %>'><b><b class="bodyBtn">Close</b></b></a>
    </li>
</ul>

这是具有按钮标记但未应用悬停css的样式。

   <ul class="glossyBtn">
   <li class="newBtn">
      <button class="noStyle" type="submit" value="save"> <a>
      <b><b class="bodyBtn">Save</b></b></a></button>
   </li>
</ul>

这是CSS:

.glossyBtn
{
    position: relative;
    padding: 5px 0 0 6px;
    margin: 0 auto 0 auto;
    height: 24px;
    float: left;

    list-style: none;
}
.glossyBtn li
{
    float: left;
}
.glossyBtn li a, .glossyBtn li button, .glossyBtn li input a  {
    float: left;
    color: #046fad;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    padding: 0 0 0 6px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    cursor: pointer;
    border-bottom: none;
}

.glossyBtn li a b, .glossyBtn li input a b {
    height: 24px;
    display: block;
    padding: 0 8px 0 8px;
}
.glossyBtn li a b.bodyBtn, .glossyBtn li input a b.bodyBtn
{
    height: 24px;
    display: block;

}
.glossyBtn li.newBtn a, .glossyBtn li.newBtn input a
{
    color: #046fad;
    background: url('images/iconPlace.png') no-repeat 0 0;
}
.glossyBtn li.newBtn a b, .glossyBtn li.newBtn input a b {
    color: #046fad;
    background: url('images/endBtn.png') no-repeat right 0;
}
.glossyBtn li.newBtn a b.bodyBtn, .glossyBtn li.newBtn input a b.bodyBtn
{
    background: url('images/bodyBtn.png') repeat-x;
}
.glossyBtn li a:hover, .glossyBtn li button a:hover {
    background: url('images/iconPlace.png') no-repeat 0 -24px;
}
.glossyBtn li a:hover b, .glossyBtn li button a:hover b {
    background: url('images/endBtn.png') no-repeat right -24px;
}
.glossyBtn li a:hover b.bodyBtn, .glossyBtn li button a:hover b.bodyBtn
{
    background: url('images/bodyBtn.png') repeat-x 0 -24px;
}

任何建议或替代我想要做的事情将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:3)

除非我误解了你的问题,否则你真的不需要这三个部分来获得一个&#34;扩展按钮&#34;。保持宽度,你自动得到它。看看:http://jsfiddle.net/HrCR8/3/

我应该将这个特定的按钮归功于Chad Mazzolla和他用于创建按钮的样式集。您可以在http://hellohappy.org/css3-buttons/

找到它们

答案 1 :(得分:1)

尝试将悬停样式基于li元素。

li:hover a{
    //link hover styling
}

li:hover button{
    //button hover styling
}