html - CSS 中的列排列取决于目标设备

标签 html css

<分区>

我目前正在开发一个网站,该网站必须完全响应并可在不同设备(台式机、移动设备等...)上访问。我只想拥有一个 HTML 标记,并且我正在使用媒体查询来实现不同类型的布局。

拥有干净的标记对我来说很重要,所以让我们开始吧。为了让事情更简单,我删除了所有不必要的东西。我有一个文章列表(-标签)。每篇文章的内容都是可变的,所以我无法确定一个固定的高度。我的目标是根据设备安排这些部分。例如:

  1. 在移动设备上只有 1 列,所有部分都在彼此下方。

  2. 我希望在平板电脑上有 2 列,因此 2 篇文章彼此相邻(见下图)。

  3. 在桌面上我想有 3 列...

我的标记看起来像这样,并且知道任何表示性的东西,如列等。如果我在标记中包含列(额外的标记,例如列 div),我将没有任何机会根据目标设备更改布局.这意味着我会在“标记时间”修复布局/演示文稿。

<article>
    <h1>Header<h1>
    <p>Some text...</p>
</article>
<article>
    <h1>Header<h1>
    <p>Some text...</p>
</article>
<article>
    <h1>Header<h1>
    <p>Some text...</p>
</article>
<article>
    <h1>Header<h1>
    <p>Some text...</p>
</article>
<article>
    <h1>Header<h1>
    <p>Some text...</p>
</article>

我根本不是使用 CSS 的初学者:过去几天我几乎尝试了所有方法。

那么我怎样才能以典型的 2 栏布局排列文章呢?如果每篇文章的高度都一样,我会很轻松。 1列也完全没问题。 3 列比 2 列更难实现。

2 列所需的布局如下所示:

desired layout with 2 columns

但是我在使用 float (float: left)时确实得到了这个结果

float with left

ms-grid 和 flexbox 无法替代,因为旧浏览器缺乏支持(我必须支持)。

最佳答案

我不完全确定您的要求以及它与典型的 CSS3 RWD 有何不同,但与它听起来的不同。您可以使用媒体查询在不同的屏幕分辨率之间响应您的布局。包括各种手机和平板;纵向和横向 View 。

下面是一个例子。

@media screen and (max-width: 480px) {
   #leftbox { 
     margin-right: 100px;
    }
}

查看此链接以供引用; http://webdesignerwall.com/tutorials/responsive-design-with-css3-media-queries

或者,您可以为每个分辨率加载一个具有全新布局的新样式表。

关于html - CSS 中的列排列取决于目标设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20156433/

上一篇:javascript - 如何为iframe的内部html编写css

下一篇:css - 面试时的皮肤测试

相关文章:

html - 输入选择中的文本不在中间

html - Bootstrap 下拉菜单显示相同的信息

html - 是否可以根据 CSS 中的窗口大小调整顶部位置?

javascript - 如何使用 DataTables.net 解决破坏容器外部表的长列值问题?

javascript - 将图标添加到正确/不正确的答案(ionic 中的 css)

javascript - 显示最近 6 天的日期时间选择器也知道如何动态删除文本框

javascript - 只删除 jQuery 中的第二个字符

html - 使用 css 设置背景图片

html - Jsoup CSS 选择器

c# - 使用 System.Web.Optimization Bundling 最小化时,有没有办法禁用 js/css 验证?