假设我的HTML已经被设置成石头了:
<div id="blockA">Block A</div>
<div id="blockB">Block B</div>
<div id="blockC">Block C</div>
它看起来像这样:
------------
| Block A |
------------
| Block B |
------------
| Block C |
------------
现在,我想切换块的顺序。我该如何仅使用 CSS 来做到这一点?
------------
| Block C |
------------
| Block A |
------------
| Block B |
------------
我知道有一些骇人听闻的解决方案,例如using
position:absolute
,但这不能保留该display:block
属性的有效使用。也就是说,块随着大小的增加而将其他块向下推。
很长的故事
当用户使用计算机查看我的网页时,这些块将按以下顺序显示:
iPhone应用程序广告排在最后,因为它对计算机用户而言并不十分重要。一小部分计算机用户会拨出电话并安装该应用程序。
如果移动用户访问此网站,则iPhone应用广告应该是页面上最重要的内容。因此,应将其移至顶部:
我希望iPhone和计算机用户共享相同的HTML,但是让CSS媒体查询切换块的顺序。
@media only screen and (max-device-width: 480px) {
#blockC {
/* magic order switching */
}
}
正如已经建议的那样Flexbox是答案-尤其是因为您只需要支持一个现代的浏览器:Mobile Safari。
您可以根据需要删除带-moz-
前缀的属性,我留给了以后的读者。
#blockContainer {
display: -webkit-box;
display: -moz-box;
display: box;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
box-orient: vertical;
}
#blockA {
-webkit-box-ordinal-group: 2;
-moz-box-ordinal-group: 2;
box-ordinal-group: 2;
}
#blockB {
-webkit-box-ordinal-group: 3;
-moz-box-ordinal-group: 3;
box-ordinal-group: 3;
}
<div id="blockContainer">
<div id="blockA">Block A</div>
<div id="blockB">Block B</div>
<div id="blockC">Block C</div>
</div>
替换元素(Replaced element)是CSS2里面引入的术语,和CSS格式化模型范围有关。 替换元素 首先引用一下W3对此术语的定义: An element whose content is outside the scope of the CSS formatting model, such as an image, embedded document, or applet. ... 所
我想在桌面上切换我的网格的第3色和第4色。我知道我可以为每个项目分配网格顺序,或者为两个div使用自己的行,然后设置顺序,但我希望避免这两个,以减少代码。 有没有办法用CSS-Grid来实现这一点?我对通过css-flex的解决方案持开放态度,如果这会更容易的话。 我当前的代码如下所示: null null
问题内容: 我想在CSS之间切换,因此当用户单击按钮()时,它会显示菜单()并更改CSS,而当用户再次单击它时,它将恢复正常。到目前为止,这就是我所拥有的: 有人可以帮忙吗? 问题答案: 对于1.9以下的jQuery版本请参阅https://api.jquery.com/toggle- event 但是,在这种情况下使用类比直接设置CSS更好,请查看提及的addClass和removeClass方
问题内容: 和其他几个,但是没有什么不是我想要的。我想要的是将某些内容缩放到其大小的50%(当然,还要进行动画效果的过渡),然后将页面布局重新调整为该元素的新(可视)大小。默认情况下似乎发生的是该元素仍保留其在布局结构中的原始大小,并且仅通过关联的转换进行绘制。 基本上,我希望用户单击一个文本块(或其他内容),然后将该文本缩放到其大小的50%(或任何其他大小),并将其粘贴在下面的面板中以表明已被选
问题内容: 我一直在使用不同的脚本,发现除了Chrome以外,其他所有脚本都适用…这是我一直在.CSS文件中使用的不同代码。我尝试只是将浏览器名称设置为“ Chrome”,但这没有用。 问题答案: 使用以下方法检测铬: 您可以像这样包含专门用于chrome的css文件: 更新(2014-07-29): @gillesc对于检测Chrome有一个更为优雅的建议,他在下面的评论中发布了该建议,也可以在
我有一个待办事项列表,它是通过jsonplace生成的,点击按钮用虚拟内容填充div。 我试图实现的是,当我点击单个div(任务)时,它应该被删除/隐藏。 迄今 JS “removeTask”事件处理程序为所有生成的div(任务)而不是单击的div切换类。 如何在单击的div上添加/删除类?