【问题标题】:Bootstrap, I created a dropdown menu, how can I highlight choices on hover?Bootstrap,我创建了一个下拉菜单,如何在悬停时突出显示选项?
【发布时间】:2017-12-07 18:14:41
【问题描述】:

我创建了一个下拉菜单,当您单击文本框时会打开它,然后当您为该下拉列表选择一个字符串时,它会将其放入文本框中。
我想这样做,当您将鼠标悬停在下拉列表中的字符串上时,它们会略微突出显示!我怎样才能做到这一点?

<div class="row">
    <div class="col-xs-12 max300" uib-dropdown is-open="vm.descriptionDropdownOpen">
         <textarea name="remarks" class="form-control" ng-model="vm.presence.description" ng-click="vm.toggleDescriptionDropdown()" autofocus></textarea>
         <ul id="descriptionDropdown" uib-dropdown-menu>
             <li ng-repeat="descr in vm.loadedDescriptions" ng-click="vm.presence.description = descr.text; vm.descriptionDropdownOpen = false;">
                 {{descr.text}}
             </li>
         </ul>

以及保持下拉菜单与文本框对齐的 css:

#descriptionDropdown {
    width: 100%;
    line-height: 150%;
    padding-left: 8px;
    position: relative;
}

非常感谢

【问题讨论】:

  • 在您的css 中使用li:hover 属性

标签: angularjs twitter-bootstrap angular-ui-bootstrap


【解决方案1】:

你可以这样做

#descriptionDropdown li:hover{
   background-color:#eaeaea;
}

将颜色代码更改为您想要的颜色代码。 并从ul 中删除padding 以避免悬停时背景周围的空间。相反,在li 上使用padding

#descriptionDropdown li{
   padding-left:8px;
}

【讨论】:

  • 它可以工作,但是当我在文本中添加一些填充时,为了避免将字符串附加到边框,突出显示从文本开始,而不是从下拉菜单的左边框开始!我怎样才能让它从边界开始?
  • 我认为您已尝试在 ul 元素上添加填充。而不是在li 上使用填充。
  • 我该怎么做?
  • 我已经更新了我的答案,从#descriptionDropdown 中删除了填充,并按照我在我的答案中指定的添加它。您还可以使用text-align:center 将文本对齐到下拉菜单的中心,
  • 好吧!!如果有帮助,请将其标记为正确答案。
【解决方案2】:

你可以添加这个 css :

li:hover {
  background-color: blue;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-26
    • 2018-12-27
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2018-02-09
    相关资源
    最近更新 更多