我在一行中有3个div,我如何得到中间div第一个,第一个div在第二个和第三个div在移动设备中排在最后?
<div class="first">hello first</div>
<div class="middle">hello Middle</div>
<div class="last">hello last</div>
.first {float:left; width:33%;}
.middle {float:left; width:33%;}
.last {float:left; width:33%;}
答案 0 :(得分:2)
如果您根据自己的问题使用Bootstrap,那么还可以使用Bootstrap的pull / push类在每个断点的基础上指定div排序。假设您在移动设备上设置正确的顺序,首先:
<div class="row">
<div class="middle col-md-4 col-md-push-4 col-sm-4">hello middle</div>
<div class="first col-md-4 col-sm-4 col-md-pull-4 ">hello first</div>
<div class="last col-md-4 col-sm-4">hello last</div>
</div>
http://jsfiddle.net/ximes/dw8n36jj/
有关详细信息/示例,请参阅:http://getbootstrap.com/css/#grid-column-ordering。
答案 1 :(得分:1)
float:left
提供给所有这些div,它们将会显示
分别按照HTML中的顺序编写。inline-block
因为默认情况下它们被显示为block
。<强>解决方案:强>
您只需要从float:left;
和first
元素中移除last
,并使用display:inline-block
与所有这些div一起使用,即使在移动设备上也会提供预期的结果。< / p>
<强>演示:强>
这是一个工作演示示例:
.first {
display: inline-block;
width: 33%;
}
.middle {
display: inline-block;
;
float: left;
width: 33%;
}
.last {
display: inline-block;
width: 33%;
}
&#13;
<div class="first">hello first</div>
<div class="middle">hello Middle</div>
<div class="last">hello last</div>
&#13;
答案 2 :(得分:1)
您不需要额外的CSS来设置宽度。只需使用Bootstrap网格和列排序..
http://www.codeply.com/go/eMKtd3qzYU
<div class="container">
<div class="row">
<div class="middle col-sm-4 col-sm-push-4">hello Middle</div>
<div class="first col-sm-4 col-sm-pull-4">hello first</div>
<div class="laste col-sm-4">hello last</div>
</div>
</div>
答案 3 :(得分:0)
<div class="first">hello first</div>
<div class="middle">hello Middle</div>
<div class="last">hello last</div>
.first {display:inline-block; width:33%;}
.middle {float:left; width:33%;}
.last {display:inline-block; width:33%;}
答案 4 :(得分:0)
如果您使用的是bootstrap,请在第二个col-sm-push-4
使用div
,然后在第一个col-sm-pull-4
使用div
答案 5 :(得分:-1)
以下是使用flexbox方法的示例代码。
.parent{ display:flex; flex-direction:row;}
.parent div{ height:200px;width:33%;}
.first { background:red;}
.middle { background:yellow;}
.last { background:blue;}
@media screen and (max-width: 768px) {
.parent {
flex-direction: row;
}
.parent div{
width:100%;
}
.first {
order: 2;
}
.second{
order: 1;
}
.third{
order:3}
}
&#13;
<div class="parent">
<div class="first">hello first</div>
<div class="middle">hello Middle</div>
<div class="last">hello last</div>
</div>
&#13;