Css Twitter引导程序3:Navbar在粘贴触发时更改宽度
嗯,我有一个关于bootstrap-3词缀脚本的奇怪问题。你可以从中看出问题所在。请水平最大化结果框并向下滚动,以便触发“粘贴”。正如你所看到的,导航条在右侧增加,我真的看不出有什么原因会产生这种效果。我临时用addng解决了这个问题Css Twitter引导程序3:Navbar在粘贴触发时更改宽度,css,twitter-bootstrap,width,navbar,affix,Css,Twitter Bootstrap,Width,Navbar,Affix,嗯,我有一个关于bootstrap-3词缀脚本的奇怪问题。你可以从中看出问题所在。请水平最大化结果框并向下滚动,以便触发“粘贴”。正如你所看到的,导航条在右侧增加,我真的看不出有什么原因会产生这种效果。我临时用addng解决了这个问题 .container { padding-left: 0px; padding-right: 0px; } 到css。但是,正如你所看到的,它不是很漂亮,我不想去掉这些衬垫。或者,我可以设置一个静态宽度,如 width: 1140px; 在导航词缀中。但这不
.container
{
padding-left: 0px;
padding-right: 0px;
}
到css。但是,正如你所看到的,它不是很漂亮,我不想去掉这些衬垫。或者,我可以设置一个静态宽度,如
width: 1140px;
在导航词缀中。但这不是很有反应。。。我真的尝试了很多方法,但没有得到任何令人满意的结果。你知道是什么引起的吗
编辑
好的,Chrome的调试器给了我更多的信息:在启动affix之前,nav元素得到了类'affix top'(从Chrome调试器中提取的不是html源代码!):
奇怪的是,在HTML代码中没有声明词缀top。然而,#nav.nav.navbar.navbar-default-affix-top的大小如下:1140px 52px
启动滚动和粘贴后,“粘贴顶部”类更改为“粘贴”,并且“粘贴”的大小为:1170px 52px
这是30px,导航条向右移。但是我怎样才能阻止它呢?最重要的是,我在任何csv文件中都找不到类词缀top…你无法解决这个问题。问题是
位置:固定代码>。导航栏将由浏览器呈现,不带left
或right
属性
你只能通过三件事来解决这个问题:
1。使用绝对定位。
使用位置:绝对
并在使用jQuery滚动时更改top
值。缺点:您需要一个Javascript部分来实现这一点
2。设置左/右
设置a左:px代码>或右侧:?px
3。定义特殊宽度
设置<代码>最小宽度:?px代码>和/或<代码>最大宽度:?px
对于每个媒体查询当我给词缀类一个最小宽度为100%时,它对我有效。也适用于响应型。我无法确认这一点
最小宽度:100%
为我工作。
我使用父div中的innerWidth解决了这个问题。下面的示例(包括一个列-当然需要放在一个容器和一行中…):
享受。Thx,我想我更喜欢最大宽度的解决方案:)如果粘贴的导航位于不占用一行全宽的列中,则此方法效果最好。这是唯一对我有效的方法,以防止面板在滚动时以错误的宽度重新排列。
<nav id="nav" class="navbar navbar-default affix-top" role="navigation" data-spy="affix" data-offset-top="133" style="background-color: yellow">
<div class="col-sm-3 col-lg-2">
<div class="sidebar">
<div class="panel-heading">Some Title</div>
<div class="panel-body">
Some Content
</div>
</div>
</div>
</div>
//Applied affix to sidebar class
$('.sidebar').affix({
offset: {
top: 0
}
}).on('affix.bs.affix',function(){
setAffixContainerSize();
});
/*Setting the width of the sidebar (I took 10px of its value which is the margin between cols in my Bootstrap CSS*/
function setAffixContainerSize(){
$('.sidebar').width($('.sidebar').parent().innerWidth()-10);
}
$(window).resize(function(){
setAffixContainerSize();
});