【问题标题】:Dropdown Menu/Search Bar bootstrap下拉菜单/搜索栏引导程序
【发布时间】:2015-06-03 22:24:44
【问题描述】:

只有两个小问题,在学校作业中使用 bootstrap 重新创建一个通用网站。

A) 当屏幕小于 820 像素时,我一直在水平导航栏中隐藏一个搜索输入字段/提交按钮,并将另一个名为“搜索”的下拉列表与下拉列表中的输入字段合并,这很好。

但我试图隐藏此搜索下拉列表,直到屏幕小于 820 像素,并使用类和 display: none 定位此列表,但它仍在显示。有没有办法做到这一点?

<li class="dropdown searchDropDown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Search<span class="caret"></span></a>
        <ul class="dropdown-menu" role="menu">
             <li>
                 <input type="text" class="form-control searchBox" placeholder="Search">
                 <button type="submit" class="btn btn-default">Submit</button>
            </li>
        </ul>
</li>

我的.searchDropDown {display:none} 并有一个最大宽度 820px display: block 的媒体查询 但问题是它没有以整页大小隐藏这个列表类。

B)当我单击搜索下拉菜单并尝试单击搜索输入字段时,它会失去焦点并回滚。

【问题讨论】:

  • 你确定你的 display: none 属性定义在 display: block one 下吗?
  • 在询问有关 css 的问题时,最好显示您正在使用的 css。您可以使用JSFiddle with bootstrap 并将您的 css 和 html 放入与我们分享。
  • 可以使用更多信息来找出 display: none 不工作的原因。可能是其他 css 覆盖它,可能是您的 css 定位错误。不能确定
  • @brance 我现在将快速检查一下它是否定义在下面,我不认为因为它只显示在媒体查询定义的宽度中,但我现在会移动它.
  • @GeorgeLee 将在几秒钟内将 CSS 发布到小提琴中

标签: html css twitter-bootstrap


【解决方案1】:

B)您的点击正在传播到上面附有点击事件的 li,您可以添加这样的函数(jQuery)

$('.searchBox').click(function(e){
e.stopPropagation();
});

如果这不起作用,请确保您实际单击的是输入而不是其他元素。

一分钟后我会回到A

【讨论】:

    【解决方案2】:

    问题A用

    @media screen and (min-width: 820px) {
        .searchDropDown {
        display: none!important;
        }
    }
    

    另外,记得关闭你的 imginput 标签

    【讨论】:

    • 是的,它会做到的,为什么没有 '!important' 就不能工作?不过谢谢你
    • @joshuaaron 它被 .nav>li 覆盖,您可以使用浏览器检查元素以查看哪些 css 规则应用于它们,我使用 chrome,因为我发现它更容易,但您可以它与任何浏览器。要访问它,您通常可以右键单击并选择检查元素或按 f12 :)
    • 谢谢,在检查元素中找不到自己,感觉很愚蠢。非常感谢您的帮助! @GeorgeLee
    猜你喜欢
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    相关资源
    最近更新 更多