重新排列元素顺序响应式设计
Rearranging element order responsive design
我的标记是
<div class="info-container">
<span class="item1">item1</span>
<a class="item2" href="#">item2</a>
<a class="item3" href="#">item3</a>
</div>
我想在媒体宽度达到 800 像素(@media(最小宽度:800 像素)时重新排列到下面)
<div class="info-container">
<a class="item2" href="#">item2</a>
<span class="item1">item1</span>
<a class="item3" href="#">item3</a>
</div>
到目前为止,我只在我的应用程序中使用了 angularjs(上面的代码在附加到控制器的视图中)。实现这一目标的最佳方法是什么?我应该使用 angularjs 来做到这一点吗?还是在我的控制器中使用JS或JQuery执行此操作的唯一方法?我不想使用弹性框解决方案。
这里有一篇关于这个问题的很棒的文章:
http://www.jtudsbury.com/thoughts/rearrange-div-order.php
一个简单的解决方案是在 a.item2 之后复制 span.item1,并在上面显示:none;当宽度高于 800px 时,将显示它并隐藏第一个跨度。
因此,您将拥有:
<div class="info-container">
<span class="item1">item1</span>
<a class="item2" href="#">item2</a>
<span class="item1" style="display:none;">item1</span>
<a class="item3" href="#">item3</a>
</div>
<style>
@media (min-width:800px){
.info-container .item1
{
display:block;
}
.info-container:first-child
{
display:none;
}
}
</style>
这
有什么好处吗? ## 编辑 由于某种原因不适用于 SO 片段,添加了小提琴JS 小提琴
$( window ).resize(function() {
if( $('document').width() <="800"){
var span=$('span.item1');
span.remove();
$('a.item2').append(span);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="info-container">
<span class="item1">item1</span>
<a class="item2" href="#">item2</a>
<a class="item3" href="#">item3</a>
</div>
相关文章:
- ajax请求的顺序总是不同的
- 按照选项卡索引的顺序循环一个jQuery选择
- 可以链接 '.then() 的返回响应,顺序与 '.then()' 的顺序不同
- 如何使用JavaScript控制数据库查询的响应顺序
- $http.post() angularjs 响应函数未按正确的顺序执行
- 如何使用javascript中的间隔以顺序方式处理websocket响应
- 重新排列元素顺序响应式设计
- 如何使用 Ajax 一次仅按顺序发布数组的 1 个值,并在继续之前等待响应
- 如何按照与请求相同的顺序对 AJAX 响应进行排序
- 以发送的相同顺序显示 AJAX 响应,而不使用同步请求
- AJAX 响应不保留从服务器返回的 LinkedHashMap 的顺序
- jQuery-是按顺序接收的ajax响应
- JavaScript ajax 调用 for 循环并维护响应顺序
- PHP::2 AJAX调用::2响应::按顺序
- 如何在响应模式中反转元素的顺序
- jquery JSON响应-顺序损坏(v1.9.1)
- 如何调用$http在angularJS顺序?但是我需要根据第一个$http的响应调用它第二个$http
- 按优先级顺序响应式两列面板布局
- 按照发送的顺序显示AJAX响应,而不使用排队或同步请求
- 如何在angular js测试中指定http响应顺序