如何将我的悬停样式仅限制为按钮而不是整个表格行?

时间:2016-10-11 22:02:55

标签: html css button hover html-table

当你将鼠标悬停在按钮上而不是只是坐在那里时,我正在尝试为按钮创建不同的样式。所以我创建了这些样式

.btn {
    font-family: "Montserrat","HelveticaNeue","Helvetica Neue",sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 12px 20px;
    font-size: 0.8125em;
    text-rendering: optimizeLegibility;
    max-width: 100%;
margin: 0;
line-height: 1.42;
text-decoration: none;
text-align: center;
vertical-align: middle;
white-space: normal;
border: 1px solid transparent;
-moz-user-select: none;
-moz-appearance: none;
border-radius: 0;
background-color: #1c1d1d;
color: #fff;
    text-indent: 0rem;
    display: inline-block;
    height: 1.42em; /* Same as line-height */
    box-sizing: content-box;
}

.buttonContainer *:hover {
    margin: 0 0 0px 0;
    text-rendering: optimizeLegibility;
    cursor: pointer;
    background-color: silver;
}

这是有效的,除非我将鼠标悬停在我的按钮上,整个表行会改变颜色 - https://jsfiddle.net/eyettch5/。这是HTML

    <tr><td colspan="2" align="center">
      <span class="buttonContainer"><form class="button_to" method="post" action="/user_race_time_matches/create?id=2194be1c-6831-4c8a-b096-34e25e6284bb" data-remote="true"><input class="btn saveDetails" value="Save" type="submit"><input name="authenticity_token" value="peb/GNeHaRFs+9DGeqbxRh5tK8yuURQLoN1cOZUEMmCvGyv6Nkpo9gPMjidbjCepZ79Kca44aV5Wrd9+i6NaiA==" type="hidden"></form></span>  
    </td></tr>

我做错了什么?如何在悬停时只获得有问题的按钮来改变颜色?

3 个答案:

答案 0 :(得分:3)

更改您的:hover目标:

.buttonContainer .saveDetails:hover {}

上述情况应该有效。

小提琴:https://jsfiddle.net/2fy02obk/

答案 1 :(得分:1)

更改

.buttonContainer *:hover {
  ...
}

.buttonContainer:hover .saveDetails {
   ...
}

- &GT;您将容器悬停,但是您想要更改容器内按钮的设置

小提琴:https://jsfiddle.net/9xfxpfx8/1/

答案 2 :(得分:-1)

.buttonContainer *:hover{...}更改为.buttonContainer:hover{...}

并更改

<input class="btn saveDetails" value="Save" type="submit">

<input class="btn buttonContainer saveDetails" value="Save" type="submit">