javascript - Bootstrap 面板边框半径

标签 javascript twitter-bootstrap panel

我有一个包含 2 个 Bootstrap 面板的页面,每个面板都包含 Bootstrap 下拉菜单。面板有溢出:隐藏设置,当下拉菜单打开时会切断它们。为了解决这个问题,我从 .panel div 中删除了 Overflow:hidden 值,这解决了问题。

这会导致 .panel-heading div 出现另一个问题,它现在与其父 .panel div 重叠。我在 .panel div 上设置了 4px 边框半径,但当面板关闭时,它与 .panel-heading div 重叠。我尝试在 .panel-heading div 上设置 4px 边框半径,然后使用 javascript 切换一个类,该类在面板打开时删除底部边框半径,这似乎确实有效,但我更喜欢使用 CSS如果可能的话解决方案?

HTML

 <div class="panel-group" id="accordion">
 <div class="panel panel-default">

 <div class="panel-heading radius">
 <a class="search-toggle collapsed" data-toggle="collapse"  data-parent="#accordion" href="#collapse1">Search</a></div>

    <div id="collapse1" class="panel-collapse collapse">
    <div class="panel-body">
    <div class="btn-group">
    <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Yes/No</a>
    <ul class="dropdown-menu">
    <li><a data-value="Yes">Yes</a></li>
    <li><a data-value="No">No</a></li></ul>
    </div></div></div></div></div>


    <div class="panel-group" id="accordion">
    <div class="panel panel-default">

    <div class="panel-heading radius">
    <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapse2">Search</a></div>

    <div id="collapse2" class="panel-collapse collapse">
    <div class="panel-body">

    <div class="btn-group">
    <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">Number </a>
    <ul class="dropdown-menu">
    <li><a data-value="1">1</a></li>
    <li><a data-value="2">2</a></li>
    <li><a data-value="3">3</a></li></ul>
     </div></div></div></div>

CSS

.panel-group .panel{border-radius:4px}
.panel-heading{border-radius:4px;padding:10px 15px}
.removeradius{border-bottom-left-radius:0px;border-bottom-right-radius:0px}

JS

$(".radius").click(function(){
    $(".panel-heading").toggleClass('removeradius');});

JSFiddle

http://jsfiddle.net/81u6gwbf/

最佳答案

如果没有 JavaScript,就不可能选择 previous sibling 姐妹。您可以尝试这样的解决方法,但不确定 has() 选择器是否适用于所有浏览器

/*This matches all .panel-heading elements with direct child with class .collapsed*/
.panel-heading:has(> .collapsed) {border-radius:4px;} 
.panel-default > .panel-heading{background-color:blue;border-bottom-left-radius:0px;border-bottom-right-radius:0px;padding:10px 15px}

fiddle here

关于javascript - Bootstrap 面板边框半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36087400/

相关文章:

javascript - Jquery UI resizable - 调整放置在 iframe 上的 div 的大小

javascript - 为什么在动态加载数据时 jqGrid 不显示第二页?

html - 使用 Bootstrap div 获得 "overlap"效果

delphi - TCategoryPanelGroup或TPageControl的替代方法

javascript - 查看来自 ajax 请求的 pdf 报告

javascript - 带有自定义工具提示的 Google Charts Diff 图表

css - 防止由于滚动条而重新布局

javascript - Bootstrap 验证器 - 下拉列表

java - 我用 Java (Eclipse) 制作了一个带有面板的框架,按下十字按钮后应用程序不会关闭

c# 当我将控件添加到面板时,控件变为 NULL