3

我有一个 MVC 应用程序,它需要漂亮的圆形按钮并在 IE7 上工作。我找到了一些代码来设置锚标签的样式,以使它们看起来像漂亮的按钮。

不幸的是,它们似乎完全不在 Tab 键顺序(我无法通过按 Tab 导航到这些控件)。在某些屏幕上,我可以通过将 tabindex 添加到表单上的所有控件来解决此问题,但不幸的是,不可能在所有屏幕上都这样做(例如,我有时会使用部分视图)。

请注意,在 FireFox 中,控件的选项卡也不起作用。

我的“按钮”是这样放置的:

<a class="btn green" id="Submit">Save</a>

有一些javascript,它为这个类添加了一些和标签以允许它具有圆角,因此锚标签被转换为:

<a class="btn green" id="Submit"><i></i><span><i></i><span></span>Save</span></a>

并且它们使用以下 css 进行样式设置:

    .btn { display: block; position: relative; background: #aaa; padding: 5px; float: left; color: #fff; text-decoration: none; cursor: pointer; }
    .btn * { font-style: normal; background-image: url(images/btn2.png); background-repeat: no-repeat; display: block; position: relative; }
    .btn i { background-position: top left; position: absolute; margin-bottom: -5px;  top: 0; left: 0; width: 5px; height: 5px; }
    .btn span { background-position: bottom left; left: -5px; padding: 0 0 5px 10px; margin-bottom: -5px; }
    .btn span i { background-position: bottom right; margin-bottom: 0; position: absolute; left: 100%; width: 10px; height: 100%; top: 0; }
    .btn span span { background-position: top right; position: absolute; right: -10px; margin-left: 10px; top: -5px; height: 0; }
    a.btn {color: #333;text-decoration: none; font-weight:bold; font-family: Arial; font-size: 12px; }
    * html .btn span,
    * html .btn i { float: left; width: auto; background-image: none; cursor: pointer; }

    .btn.green { background: rgb(175,211,86);  }
    .btn:hover { background-color: #FFF; }
    .btn:focus { background-color: #FFF; }
    .btnFocus  { background-color: #FFF !important; }
    .btn:active { background-color: #444; }
    .btn[class] {  background-image: url(images/shade.png); background-position: bottom; }

    * html .btn { border: 3px double #aaa; }
    * html .btn.green { border-color: #9d4; }

    * html .btn:hover { border-color: #a00; }
4

1 回答 1

7

啊,刚刚想通了。

如果我们在锚标签中添加一个 href 属性,它就可以正常工作

<a class="btn green" id="Submit" href="#">Save</a>

很抱歉给大家添麻烦了。

于 2012-07-03T23:51:04.163 回答