用CSS改变DOM元素顺序(鳄鱼)
Changing DOM element order with CSS (Crocodoc)
是否可以用CSS改变DOM元素的顺序?我有一个iframe,我想把工具栏从上面的到下面的 iframe的主要内容。
所以从这里:
<iframe>
<html>
<body>
<div id='toolbar'></div>
<div id='main_content'></div>
<div id='other_stuff'></div>
</body>
</html>
</iframe>
:
<iframe>
<html>
<body>
<div id='main_content'></div>
<div id='toolbar'></div>
<div id='other_stuff'></div>
</body>
</html>
</iframe>
如果这是不可能使用CSS,有人能建议如何在Javascript中做到这一点吗?操纵iframe内容总是让我感到困惑。作为一个实际应用,我实际上指的是与鳄鱼(https://crocodoc.com/docs/walkthrough/skinning/)生成的iframe,所以我的目的是使这个问题和答案对那些使用这个服务的人也有价值。
我来得太晚了,但我只是想让你们知道,实际上你可以单独使用CSS来改变DOM的顺序。
虽然要做到这一点,我们必须使用CSS3弹性语法。所以基本上IE10+,在我的情况下,通常不是问题,因为我用它来操作移动网站。
那么我们该怎么做呢?父元素需要成为一个flexbox元素。如:
(这里只使用webkit vendor前缀)。css是令人眼花缭乱的,因为它是没有它)
#main {
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-box-align: start;
-webkit-align-items: flex-start;
align-items: flex-start;
}
然后,通过指示它们的顺序来交换div:
#main > div#one{
-webkit-box-ordinal-group: 2;
-moz-box-ordinal-group: 2;
-ms-flex-order: 2;
-webkit-order: 2;
order: 2;
overflow:visible;
}
#main > div#two{
-webkit-box-ordinal-group: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
-webkit-order: 1;
order: 1;
}
祝你好运!
你不能用css改变DOM的顺序。但是,您可以应用position: absolute;
css样式,并根据需要通过设置顶部,底部,左侧,右侧样式来定位元素。
也许在您的情况下更好的是position: fixed; bottom: 0;
将您的工具栏定位在浏览器窗口的底部。
相关文章:
- ajax请求的顺序总是不同的
- 按照选项卡索引的顺序循环一个jQuery选择
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 按顺序添加和删除类
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript-根据赋值顺序,按键合并对象数组
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- querySelector/getElementByClassName嵌套项的顺序
- 以不同的顺序输出数据
- 重新排列HTML元素的顺序并更改内容
- 在Javascript中列出顺序子集元素
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- Mongodb$in以与数组中相同的顺序获取结果
- 如何使用phonegap从安卓设备中提取联系人的字母顺序
- 在表单OnChange中交换数字顺序
- 如何按对象反转Angular ngRepeat的顺序's键,这些键是数字键
- 预保存钩子:mongoose中回调的顺序如何
- 为什么生成器中的console.log会按这样的顺序出现
- 从数组中删除重复条目,并在javascript中按顺序排列
- 用CSS改变DOM元素顺序(鳄鱼)