我如何通过媒体查询更改html元素的顺序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何通过媒体查询更改html元素的顺序?相关的知识,希望对你有一定的参考价值。

This is an example of my code

Display on Desktop

<body>
    <div>
    <header>
        <div>example</div>
        <a><img src"my logo is here"/></a>
        <div>example</div>
        <nav>classic-menu</nav>
    </header>
    </div>
</body>



Display on Mobile

<body>
    <div>
    <nav>menu responsive</nav>-------> when the menu go in drop down all header content follow the menu

    <header>
        <div>example</div>
        <a><img src"my logo is here"/></a>----->wrong logo position when you open the menu responsive
        <div>example</div>
    </header>
    </div>
</body>

我想知道是否可以通过媒体查询来更改html元素的当前顺序,以便将徽标位置固定在响应视图中。

答案
您可以让两个不同的html <div>呼叫一个台式机和一个移动电话,然后使用媒体查询根据屏幕尺寸显示或隐藏。 https://jsfiddle.net/DIRTY_SMITH/7a7m84ea/2/

.mobile display: none; .mobile > h3 color: blue; @media (max-width: 600px) .mobile display: inline; .desktop display: none;

另一答案
您可以尝试利用CSS表,因为它们具有强制执行特定顺序的预定义显示类型(在您的情况下为

table-caption,该表位于table-cell之前):

div display: table header display: table-cell nav display: table-caption
Here's a JSFiddle to demonstrate what I mean
另一答案

@media only screen and (max-width: 600px) #flex display: flex; flex-direction: column; #a order: 2; #b order: 1; #c order: 3;
You Can try this:

<div id="container">
   <div id="a">A</div>
   <div id="b">B</div>
   <div id="c">C</div>
</div>

以上是关于我如何通过媒体查询更改html元素的顺序?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改媒体查询中的元素类

如何更改引导媒体查询条件?

在屏幕更改大小时管理列表分隔符(媒体查询)

让 CSS 媒体查询使用 html 文档的 em 大小而不是浏览器?

CSS 媒体查询 - 对重叠和顺序感到困惑

响应式网页设计媒体查询宽度不变