2

我正在尝试在不实际使用按钮标签的情况下创建此按钮。我创建了一个按钮图像并将其分成左右三个部分,因此当我向链接添加文本时,图像将根据长度扩展。我也在使用悬停图像 - 但是当我尝试将此样式应用于按钮标签时 - 过度功能不起作用 - 不确定这是否是因为按钮标签没有悬停功能。但是,当我将这三幅图像以列表格式放置时,它可以很好地显示“按钮”的悬停和未悬停图像,但它不能在所有 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;
}

我将不胜感激任何建议或替代我正在尝试做的事情。谢谢!

4

2 回答 2

3

除非我误解了您的问题,否则您实际上并不需要这三个部分来获得“扩展按钮”。不用管宽度,你会自动得到它。看看:http: //jsfiddle.net/HrCR8/3/

我应该将这个特殊的按钮归功于 Chad Mazzolla 和他用于创建按钮的样式集合。你可以在这里找到它们http://hellohappy.org/css3-buttons/

于 2012-08-13T13:23:31.760 回答
1

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

li:hover a{
    //link hover styling
}

li:hover button{
    //button hover styling
}
于 2012-08-13T13:22:55.850 回答