你可以通过它实现你想要的 padding-bottom: 100%; margin-bottom: -100%; 技巧,你能看到吗? 这个 小提琴。
padding-bottom: 100%; margin-bottom: -100%;
我稍微改变了你的HTML,但你可以使用以下代码用自己的HTML实现相同的结果
.col-md-9 { overflow: hidden; } .col-md-3 { padding-bottom: 100%; margin-bottom: -100%; }
据我所知,您最多可以使用5种方法来完成此任务:
Bootstrap:我没有太多的经验,但我认为他们没有为此提供样式。
.row { overflow: hidden; height: 100%; } .row .col-md-3, .row .col-md-9 { padding: 30px 3.15% 99999px; float: left; margin-bottom: -99999px; } .row .col-md-3 p, .row .col-md-9 p { margin-bottom: 30px; } .col-md-3 { background: pink; left:0; width:25% } .col-md-9 { width: 75%; background: yellow; }
所以看来你最好的选择就是用 padding-bottom 反对否定 margin-bottom 战略。
padding-bottom
margin-bottom
我做了两个例子。一个用 <header> 的 内 强> .container 和另一个有它 的 外 强> 。
<header>
.container
两个版本都应该正常工作。注意使用以下内容 @media 查询,以便它删除较小屏幕上的额外填充...
@media
@media screen and (max-width:991px) { .content { padding-top:0; } }
除此之外,这些示例应该可以解决您的问题。
如果在行之后将没有内容(采用整个屏幕高度),则使用该技巧 position: fixed; height: 100% 对于 .col:before 元素可能运作良好:
position: fixed; height: 100%
.col:before
header { background: green; height: 50px; } .col-xs-3 { background: pink; } .col-xs-3:before { background: pink; content: ' '; height: 100%; margin-left: -15px; /* compensates column's padding */ position: fixed; width: inherit; /* bootstrap column's width */ z-index: -1; /* puts behind content */ } .col-xs-9 { background: yellow; } .col-xs-9:before { background: yellow; content: ' '; height: 100%; margin-left: -15px; /* compensates column's padding */ position: fixed; width: inherit; /* bootstrap column's width */ z-index: -1; /* puts behind content */ }
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/> <header>Header</header> <div class="container-fluid"> <div class="row"> <div class="col-xs-3">Navigation</div> <div class="col-xs-9">Content</div> </div> </div>
我想到了一个微妙的变化,它不会改变默认的引导行为。 我只有在需要它时才能使用它:
.table-container { display: table; } .table-container .table-row { height: 100%; display: table-row; } .table-container .table-row .table-col { display: table-cell; float: none; vertical-align: top; }
所以我可以像这样使用它:
<div class="container table-container"> <div class="row table-row"> <div class="col-lg-4 table-col"> ... </div> <div class="col-lg-4 table-col"> ... </div> <div class="col-lg-4 table-col"> ... </div> </div> </div>
纯CSS解决方案很简单,就像魅力十字浏览器一样。
您只需在nav和content列中添加一个大的填充和一个同样大的负边距,然后将它们的行包装在隐藏溢出的类中。 实时视图 编辑视图
的 HTML 强>
<div class="container"> <div class="row"> <div class="col-xs-12 header"><h1>Header</h1></div> </div> <div class="row col-wrap"> <div class="col-md-3 col"> <h1>Nav</h1> </div> <div class="col-md-9 col"> <h1>Content</h1> </div> </div> </div>
的 CSS 强>
.col{ margin-bottom: -99999px; padding-bottom: 99999px; } .col-wrap{ overflow: hidden; }
祝好运!
现代而简单的解决方案:
HTML:
<div class="container"> <div class="row"> <div class="col-md-3"></div> <div class="col-md-9"></div> </div> </div>
CSS:
.row{ display: flex; }
试试这个
<div class="row row-offcanvas row-offcanvas-right"> <div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">Nav Content</div> <div class="col-xs-12 col-sm-9">Content goes here</div> </div>
这使用Bootstrap 3所以不需要额外的CSS等......
这里没有提到抵消。
您可以使用绝对位置左侧边栏。
CSS
.sidebar-fixed{ width: 16.66666667%; height: 100%; }
HTML
<div class="row"> <div class="sidebar-fixed"> Side Bar </div> <div class="col-md-10 col-md-offset-2"> CONTENT </div> </div>
你看过引导了吗? 的 AFIX 强> 在JAvascript的部分???
我认为这将是最好的&amp;最简单的解决方案。
看看那里: http://getbootstrap.com/javascript/#affix
在尝试使用此处提供的代码后: Bootstrap教程
这是使用最新的另一种选择 引导 V3.0.2:
的 标记: 强>
<div id="headcontainer" class="container"> <p>Your Header</p> </div> <div id="maincontainer" class="container"> <div class="row"> <div class="col-xs-4"> <p>Your Navigation</p> </div> <div class="col-xs-8"> <p>Your Content</p> </div> </div> </div>
的 附加CSS: 强>
#maincontainer, #headcontainer { width: 100%; } #headcontainer { background-color:#CCCC99; height: 150px } #maincontainer .row .col-xs-4{ background-color:gray; height:1000px } #maincontainer .row .col-xs-8{ background-color:green; height: 1000px }
样品 的jsfiddle
希望这有助于任何感兴趣
<div class="container"> <!-- Header--> </div> </div> <div class="row-fluid"> <div class="span3 well"> <ul class="nav nav-list"> <li class="nav-header">Our Services</li> <!-- Navigation --> <li class="active"><a href="#">Overview</a></li> <li><a href="#">Android Applications</a></li> <li class="divider"></li> </ul> </div> <div class="span7 offset1"> <!-- Content --> </div> </div>
访问 http://www.sitepoint.com/building-responsive-websites-using-twitter-bootstrap/
感谢Syed