如何在按钮上方<span>,可点击(作为按钮)?</span>

时间:2014-09-21 21:52:46

标签: html css css-position z-index positioning

See this fiddle

我希望“eye”图标一方面显示为现在(在按钮上方,所以我认为z-index不会有帮助),另一方面我希望有按钮可点击其所有表面,也就是在眼睛区域。

此外,有更好的方法来定位眼睛吗?因为一旦我使用不同的文字然后“点击我”,我将不得不相应地设置眼睛的绝对位置。任何更好地定义它的方法?

<form action="1.php" method="POST" target="_blank">
    <input type="submit" class="button" value="Click Me"><span class="fa fa-eye fa-lg foo" "></span>
</form>

.foo{
     color:red;
    font-size:1.7em;
    position: absolute;
    height: 11px;
    top: 18px;
    left: 15px;
    pointer-events: none;
}

.button {
    display: inline-block;
    zoom: 1;
    line-height: normal;
    white-space: nowrap;
    vertical-align: baseline;
    text-align: center;
    cursor: pointer;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-family: inherit;
    font-family: arial;
    font-size: 17px;
    padding: .5em .9em .5em 2em;
    text-decoration: none;
    border-radius: 4px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
}

1 个答案:

答案 0 :(得分:10)

在使其可点击方面,您可以向元素添加pointer-events: none。这实际上允许您点击元素。

Updated Example

.foo {
    pointer-events: none;
    color: red;
    /* Other styles.. */
}

对此属性的支持可以是found here


另一个选择是将两个元素包装在label中。单击标签后,将触发input元素,从而解决问题。

Example Here

<label>
    <span class="fa fa-eye fa-lg foo"></span>
    <input type="submit" class="button" value="Click Me"/>
</label>