- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Bootstrap 构建我们的设计师要求的布局。布局是这样的:
有两个栏使用整个浏览器宽度。主容器和页脚菜单使用固定容器。
我设法使用下面的代码重现了这个布局(以及较小屏幕的布局),但是当屏幕没有足够的高度来适应主容器和页脚菜单时就会出现问题。在这种情况下,菜单覆盖在主容器上。
我做错了什么,只有当主容器没有足够的垂直空间时,我怎么才能让页脚菜单溢出屏幕?
这是 HTML 代码:
<!-- Top decorative bar 3 pixels -->
<div class="container-fluid">
<div class="row header-full"></div>
</div>
<!-- Page content vertically centered -->
<div class="container main-container">
<div class="main-container-wrapper">
<div class="row">
<div class="col-md-6 col-md-offset-3 logo">
<img src="images/logo-home.jpg" class="img-responsive center-block" alt="">
</div>
</div>
<div class="row">
<div class="col-md-8 col-md-offset-2 search-row">
<div class="row">
<div class="col-sm-9">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search term" name="search" id="search" value="" aria-describedby="helpBlock" />
<span id="helpBlock" class="help-block">(Ex.: Lorem ipsum)</span>
</div>
<div class="row">
<div class="hidden-xs col-sm-4 col-lg-3 col-lg-offset-1 options-row-search">
<a href=""class="btn btn-default btn-sm search-kind">Option A</a>
</div>
<div class="hidden-xs col-sm-4 col-lg-3 options-row-search">
<a href=""class="btn btn-default btn-sm search-kind">Option B</a>
</div>
<div class="hidden-xs col-sm-4 col-lg-3 options-row-search">
<a href=""class="btn btn-default btn-sm search-kind">Option C</a>
</div>
<div class="col-xs-12">
<div class="hidden-sm hidden-md hidden-lg other-search dropdown">
<button type="button" class="btn btn-default btn-toggle button-text" data-toggle="dropdown" aria-expanded="false">
Other Search <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Option A</a></li>
<li><a href="#">Option B</a></li>
<li><a href="#">Option C</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="col-sm-3">
<a href="#" class="btn btn-default search">Search</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- footer decorative bar 6 pixels -->
<div class="container-fluid">
<div class="row footer-full"></div>
</div>
<!-- footer menu -->
<div class="container">
<div class="row footer">
<div class="col-xs-12 footer-links-wrapper">
<a class="footer-link" href="">About us</a> |
<a class="footer-link" href="">Colaborate</a> |
<a class="footer-link" href="">FAQ</a> |
<a class="footer-link" href="">Curiosity</a> |
<a class="footer-link" href="">Blog</a> |
<a class="footer-link" href="">Contact</a> |
<div class="footer-link"><img src="images/dummy-facebook.jpg" alt="" /></div>
</div>
</div>
</div>
这是 CSS(为了简化,我删除了 xs、sm 和 md 媒体查询):
.header-full, .footer-full{
background-color: #318fbc;
}
.main-container{
position: relative;
height: 100%;
}
.main-container-wrapper{
width: 100%;
position: absolute;
}
.footer, .footer a{
color: #a9a9b5;
}
#search{
background-color: #f7f7f7;
color: #a9a9af;
}
.search, .search-kind{
background: #2496c4;
color: #fff;
border: 1px solid #1c85b6;
text-shadow: none;
}
.search:hover, .search-kind:hover{
background: #1c85b6;
color: #fff;
border: 1px solid #858585;
text-shadow: none;
}
.footer-links-wrapper{
text-align: center;
}
.footer-link{
display: inline-block;
vertical-align: middle;
}
.options-row-search{
text-align: center;
}
.dropdown button{
width: 100%;
padding-left: 5px;
padding-right: 20px;
text-align: left;
text-shadow: none;
}
.dropdown button .buttontext{
display: block;
overflow: hidden;
max-width: 100%;
text-shadow: none;
}
.dropdown button .caret{
position: absolute;
right: 7px;
top: 50%;
margin-top: -2px;
color: #777;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid #777;
}
.dropdown-menu{
max-height: 300px;
width: 100%;
overflow: scroll;
overflow-x: hidden;
}
.help-block{
font-size: 0.812em;
padding-left: 1em;
color: #aaa;
font-style: italic;
}
/* lg */
@media (min-width: 1200px){
.header-full{
height: 3px;
}
.footer-full{
height: 6px;
}
.main-container{
margin-top: -3px;
margin-bottom: -61px;
}
.main-container-wrapper{
top: 50%;
margin-top: -136px;
}
.footer{
height: 52px;
line-height: 52px;
}
.footer, .footer a{
font-size: 14px;
}
.logo{
margin-bottom: 2em;
}
#search{
font-size: 20px;
height: 50px;
}
.search{
width: 120px;
height: 50px;
font-size: 20px;
line-height: 50px;
padding: 0;
}
.search-kind{
width: 124px;
height: 28px;
font-size: 13px;
line-height: 28px;
padding: 0;
margin-top: 1em;
margin-right: 0.5em;
}
}
* 更新 *忘了说即使内容太短,页脚菜单也必须在页面底部。当contente比较大的时候,可以跟在content的末尾。
这是我今天所拥有的(删除客户信息的真实屏幕截图)。两个装饰条是蓝色的。
这就是窗口高度太小的问题。
最佳答案
由于主要内容的宽度是固定的,所以整个区域都需要包含在包装器中。这意味着您的页脚菜单也将位于包装内,而不是位于包装外。
Bootstrap 3 有固定的布局,为什么不用呢?它允许您仍然使用行和列,并且响应迅速。
Bootply 样机:http://www.bootply.com/df00zXUlI7
根据我对您问题的理解,这与您要查找的内容非常接近。它是固定布局、响应式、使用 Bootstrap 而不是 hack。
您使用的是固定布局,但查看您的图像,您不必使用 Bootstrap 的固定布局版本。固定布局适用于不占用整个页面且宽度固定的网站。整个站点位于一个 div 容器中,960 像素宽位于页面中心。您正在做的是创建一个看起来像 Google 的页面。所以你可以使用 100% 的宽度,让你的内容居中,没有边框,达到同样的效果。无论哪种方式都可以,但只是针对您的情况说明,不必修复。
对于页脚导航,请使用 Bootstrap 的粘性页脚。当 Bootstrap 自带我们需要的东西时,不需要自定义 CSS hack。 http://getbootstrap.com/examples/sticky-footer-navbar/使用它,它将创建您的底部导航。当然,您必须将其中的内容居中以匹配您的模型。
对于顶部的蓝色条,它可以附加到 body{} 样式或您使用的第一个 100% 包装器。对于底部的蓝色条,它可能是粘性页脚上的顶部边框。真的不需要创建一个蓝色的 div 来实现它。最好的办法是使用 CSS(边框、背景图像、渐变等)来完成它。
例如,将蓝色添加到 Bootstrap 粘性页脚的底部页脚 CSS:
footer { border-top: 2px solid blue; }
在您的自定义 style.css 文件中,您可以定义已经定义的规则(由 bootstrap 定义)来覆盖 CSS,或添加到它。粘性导航没有边框,因此将上面的页脚 CSS 添加到您自己的样式表会在页脚粘性导航的顶部添加一个 2 像素宽的蓝色边框。
关于html - 带有一些全宽容器和一些普通容器的 Twitter bootstrap 3 中的底部菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142401/
我有一个标题 1(#banner h1.index_banner_text),它需要始终位于距页面底部 20 像素和距页面左侧 570 像素的位置。如果调整窗口大小,我希望标题自然堆叠,但始终与页面底
这个问题已经有答案了: CSS responsive slanted edge (1 个回答) 已关闭 7 年前。 我想知道如何创建一个宽度为 100% 的 div,宽度为 300 像素,其中底部边框
我做了一个非常简单的水平全宽 Accordion ,但我遇到了一个错误 - 它的最后一部分在折叠过程中下降了。 这是我的代码:https://jsfiddle.net/trzxs3u1/ 它可能来自同
我有两张相同的图片。我几乎一直显示其中一张图像,唯一的异常(exception)是在 1001px - 1400px 的视口(viewport)中,我显示图像的裁剪版本。由于某种原因,company-
我的应用程序中有这个页面: http://actibities-uniongr.rhcloud.com/pages/view-demo 如果您将浏览器的窗口缩短到小于 1000 像素并水平滚动,您会看
这个问题在这里已经有了答案: How did YouTube create a fluid video player? (1 个回答) 关闭 5 天前。 我正在尝试在网页中全宽显示一个 vimeo
我是编码新手,我试图只在我的 homepage 中使用每个 fancybox全宽和响应式 ( eg ),但这些选项都没有完成这项工作(fitToView、autoSize 或 aspectRatio)
到目前为止,我已经在 Markdown 表格中获得了尽可能多的格式和居中文本,但是在控制相对于外部容器的表格尺寸方面我没有发现任何东西(至少除了当它太大时它会自动缩小的事实)换行文本。) 是否可以在
带有大屏幕的 Windows 版 Chrome 上的 Swiper 插件存在问题。它在幻灯片左侧留下空白,我创建了一支笔来演示这一点: https://codepen.io/anon/pen/BwMx
在我的 Windows 应用商店应用程序中,我只有一个 XAML 中的 WebView: 我想在不同的屏幕尺寸或方向上将宽度设置为最大可用值。 我试图获取砂砾本身的宽度来设置 WebVi
好吧,我开发了一个 HorizontalScrollView,里面有一些按钮。 我可以通过 getWidth() 获取此 HorizontalScrollView 的宽度。但这会返回显示的 H
我们实现了 Jcrop在我们的系统中,到目前为止它运行良好。但是我们最近发现了一个小问题: 场景 我们的网站允许用户上传他们公司的标志。我们的宽高比要求是 200/150,不幸的是,用户的公司 Log
我遇到一个问题,我的 UIImageView 使用以下约束跨越整个屏幕宽度。 将前导对齐到:Superview(等于:-20) 将尾部对齐到:Superview(等于:-20) Top Space t
我有这个标记: 和这个 css(我正在使用 Twitter Bootstrap): img { height: auto; max-width
谁能给我解释一下这个页面是如何运作的? http://wexley-demo.squarespace.com/ 我看到有javascript,但不明白。 这也是实现这种效果最简单的方法吗? – 缩放、
我正在研究这个 slider : http://codepen.io/anon/pen/viBHe 当您打开页面时, slider 获得屏幕的 100% 宽度,这很好用,也是我想要实现的,但问题是当您
我目前正在为单页网站制作剪切路径: http://grafomantestsite3.be/ 如您所见,这适用于 chrome,但不适用于 firefox、opera 等。 我做了一个代码笔来说明我的
代码如下: Overall Advance Rating(1 foodees rated) 这里也是在对图像进行评级后获得光标。我如何处理光标直到只有图像。我曾尝试使
我正在尝试制作一个与此页面中的菜单类似的 Bootstrap 菜单。https://makr.com/ 这就是我想出的,但我现在几乎卡住了。 如何使下拉文本显示在每个下拉按钮下方,就像在 https:
我在 div 中嵌入了一个 vimeo,它是视口(viewport)的全宽。该视频在几天内运行良好,但现在播放按钮(和所有其他按钮)完全没有响应。 我试过弄乱 z-index 但那不起作用。
我是一名优秀的程序员,十分优秀!