Bootstrap 3 列在移动设备上重新排序
Bootstrap 3 Column Reordering On Mobile
我想知道如何使用 Bootstrap 3.
轻松实现此布局
看看 here,我认为 .col-md-8 和 .col-md-4 类 对您来说会很有趣。
由于 stack Overflow 不会执行任何项目,我向您发布了简单易行的步骤
Bootstrap 使用媒体查询
例子
@media screen and (max-width: 500px) {
div {
width: 80%
}
}
如果屏幕低于 500px
div 宽度将为 80%
,则上述查询有效
试试这个例子
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: lightgreen;
}
@media screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
</style>
</head>
<body>
<p>Resize the browserwindow. When the width of this document is less than 300 pixels, the background-color is "lightblue", otherwise it is "lightgreen".</p>
</body>
</html>
以上示例将在屏幕尺寸低于 600px
时显示页面颜色将从 lightgreen
更改为 lightblue
<body class="container">
<div class="row">
<div class="col-sm-6 col-xs-12">orange</div>
<div class="col-sm-6 col-xs-12">
<div class="row">violet row</div>
<div class="row">light blue</div>
</div>
</div>
</body>
我在手机上使用了 xs-12。下次请 post 您的示例代码。
您可以使用 bootstrap 3 实现该布局非常简单,您只需按正确的顺序排列列即可。 orange~red 块我相信它是一个 sidebar,另外两个块具有相同的宽度(似乎绑定到同一个容器),并且我想你有你的 content.
因此,将 sidebar block 放在 bootstrap 网格中具有所需宽度的容器中,例如 col-md-4
,容器中的 内容块 表示 col-md-8
;添加到这两个容器 col-xs-12
class(将在 768px 和波纹管上添加 100% 宽度),我们需要它,因为我们将使用 pull-left/right
(浮动规则)class 交换它们。
查看 demo 并查看使用的 markup/css
标记:
<div class="container">
<div class='row cf'>
<div class='col-sm-4 col-xs-12 pull-right'>
<div class='orange'>One good lookin sidebar</div>
</div>
<div class='col-sm-8 col-xs-12 pull-left'>
<div class='content-entry orchid'>
Some content here
</div>
<div class='content-entry cyan'>
And some other content here
</div>
</div>
</div>
</div>
和 css:
.orange{
background: orange;
}
.orchid{
background: orchid;
}
.cyan{
background: cyan;
}
**注意:如果您希望边栏将其高度扩展到其他 2 个块的总和高度,那就另当别论了,但这应该可以帮助您入门。
更新 2
好的,因为你的布局在移动设备上有点棘手,我想你最安全的选择是让 sidebar absolute
定位,并在移动设备上(bellow and 767px), 将其切换到静态位置,使它们陷入自然流动。还有一些其他的方法,比如 flexbox,或者一些花哨的 table 技巧,但是这个应该可以让你继续。
查看 demo,以及下面更改的 markup/css:
<div class="container">
<div class='row content-wrapper'>
<div class='col-sm-8 col-xs-12'>
<div class='content-entry orchid'>
Some content here
</div>
</div>
<div class='col-sm-4 col-xs-12 sidebar-wrapper'>
<div class='orange'>One good lookin sidebar</div>
</div>
<div class='col-sm-8 col-xs-12'>
<div class='content-entry cyan'>
And some other content here
</div>
</div>
</div>
</div>
.orange{
background: orange;
}
.orchid{
background: orchid;
}
.cyan{
background: cyan;
}
/*added rules*/
.content-wrapper{
position: relative;
}
.sidebar-wrapper{
position: absolute;
top: 0; right: 0;
}
@media all and (max-width: 767px){
.sidebar-wrapper{
position: static;
}
}
谢谢大家的回答。
这是我在所有答案的帮助下所做的:
<div class="container">
<div class="row">
<div class="col-sm-8 bg-info">
<h4>Content 1</h4>
</div>
<div class="col-sm-4 bg-warning pull-right">
<h4>Sidebar</h4>
</div>
<div class="col-sm-8 bg-success pull-left">
<h4>Content 2</h4>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-8" style="background-color:purple; color:#fff">Contents box 1</div>
<div class="col-xs-12 col-md-4" style="background-color:red; color:#fff">Sidebar</div>
<div class="col-xs-12 col-md-8" style="background-color:blue; color:#fff">Contents box 2</div>
</div>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
<div class="col-xs-12 col-md-8" style="background-color:purple; color:#fff">Contents box 1</div>
<div class="col-xs-12 col-md-4" style="background-color:red; color:#fff">Sidebar</div>
<div class="col-xs-12 col-md-8" style="background-color:blue; color:#fff">Contents box 2</div>
</div>
我想知道如何使用 Bootstrap 3.
轻松实现此布局看看 here,我认为 .col-md-8 和 .col-md-4 类 对您来说会很有趣。
由于 stack Overflow 不会执行任何项目,我向您发布了简单易行的步骤
Bootstrap 使用媒体查询 例子
@media screen and (max-width: 500px) {
div {
width: 80%
}
}
如果屏幕低于 500px
div 宽度将为 80%
试试这个例子
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: lightgreen;
}
@media screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
</style>
</head>
<body>
<p>Resize the browserwindow. When the width of this document is less than 300 pixels, the background-color is "lightblue", otherwise it is "lightgreen".</p>
</body>
</html>
以上示例将在屏幕尺寸低于 600px
时显示页面颜色将从 lightgreen
更改为 lightblue
<body class="container">
<div class="row">
<div class="col-sm-6 col-xs-12">orange</div>
<div class="col-sm-6 col-xs-12">
<div class="row">violet row</div>
<div class="row">light blue</div>
</div>
</div>
</body>
我在手机上使用了 xs-12。下次请 post 您的示例代码。
您可以使用 bootstrap 3 实现该布局非常简单,您只需按正确的顺序排列列即可。 orange~red 块我相信它是一个 sidebar,另外两个块具有相同的宽度(似乎绑定到同一个容器),并且我想你有你的 content.
因此,将 sidebar block 放在 bootstrap 网格中具有所需宽度的容器中,例如 col-md-4
,容器中的 内容块 表示 col-md-8
;添加到这两个容器 col-xs-12
class(将在 768px 和波纹管上添加 100% 宽度),我们需要它,因为我们将使用 pull-left/right
(浮动规则)class 交换它们。
查看 demo 并查看使用的 markup/css
标记:
<div class="container">
<div class='row cf'>
<div class='col-sm-4 col-xs-12 pull-right'>
<div class='orange'>One good lookin sidebar</div>
</div>
<div class='col-sm-8 col-xs-12 pull-left'>
<div class='content-entry orchid'>
Some content here
</div>
<div class='content-entry cyan'>
And some other content here
</div>
</div>
</div>
</div>
和 css:
.orange{
background: orange;
}
.orchid{
background: orchid;
}
.cyan{
background: cyan;
}
**注意:如果您希望边栏将其高度扩展到其他 2 个块的总和高度,那就另当别论了,但这应该可以帮助您入门。
更新 2
好的,因为你的布局在移动设备上有点棘手,我想你最安全的选择是让 sidebar absolute
定位,并在移动设备上(bellow and 767px), 将其切换到静态位置,使它们陷入自然流动。还有一些其他的方法,比如 flexbox,或者一些花哨的 table 技巧,但是这个应该可以让你继续。
查看 demo,以及下面更改的 markup/css:
<div class="container">
<div class='row content-wrapper'>
<div class='col-sm-8 col-xs-12'>
<div class='content-entry orchid'>
Some content here
</div>
</div>
<div class='col-sm-4 col-xs-12 sidebar-wrapper'>
<div class='orange'>One good lookin sidebar</div>
</div>
<div class='col-sm-8 col-xs-12'>
<div class='content-entry cyan'>
And some other content here
</div>
</div>
</div>
</div>
.orange{
background: orange;
}
.orchid{
background: orchid;
}
.cyan{
background: cyan;
}
/*added rules*/
.content-wrapper{
position: relative;
}
.sidebar-wrapper{
position: absolute;
top: 0; right: 0;
}
@media all and (max-width: 767px){
.sidebar-wrapper{
position: static;
}
}
谢谢大家的回答。
这是我在所有答案的帮助下所做的:
<div class="container">
<div class="row">
<div class="col-sm-8 bg-info">
<h4>Content 1</h4>
</div>
<div class="col-sm-4 bg-warning pull-right">
<h4>Sidebar</h4>
</div>
<div class="col-sm-8 bg-success pull-left">
<h4>Content 2</h4>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-8" style="background-color:purple; color:#fff">Contents box 1</div>
<div class="col-xs-12 col-md-4" style="background-color:red; color:#fff">Sidebar</div>
<div class="col-xs-12 col-md-8" style="background-color:blue; color:#fff">Contents box 2</div>
</div>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
<div class="col-xs-12 col-md-8" style="background-color:purple; color:#fff">Contents box 1</div>
<div class="col-xs-12 col-md-4" style="background-color:red; color:#fff">Sidebar</div>
<div class="col-xs-12 col-md-8" style="background-color:blue; color:#fff">Contents box 2</div>
</div>