用户登录

在页面主体部分可以显示内容卡片列表,先设计一下这个内容列表的布局。

在 main 这个标签里面,添加一组 div,上面加上一个类,名字是 post-list,它里面的东西就是内容项目,可以添加一些空白的 div,表示这些内容项目。

然后在样式表里设计一下这个内容列表布局,用 .post-list 作为选择器写一段样式,把 display 设置成 grid,再用 grid-template-columns 划分一下网格,这里我们用一下 repeat 这个函数,重复的次数用 auto-fit 自动适应,重复的值可以用 minmax 这个函数,最小宽度是 320 像素,最大可以是 1fr。 再用 gap 添加点间隔,行与栏的间隔统一设置成 32 像素。

下面用 .post-list > div 作为选择器,设置一下列表里的内容项目的样式,把 background 设置成 --skeleton-object-background。再用一个 aspect-ratio 设置一下容器的显示比例,设置成 3 / 2 。

网格的 gap 可以改的少一点,设置成 24 像素。

观察

在浏览器观察一下这个内容卡片列表,调整一下浏览器窗口的宽度,每一行显示的内容项目的宽度还有数量都会有一些变化。

portrait

现在我希望有些内容项目可以变成竖版,在想要变成竖版的内容项目元素上添加一个特别的类,比如 portrait。

在样式表里,用 .post-list > .portrait 作为选择器写一段样式,用一下 grid-row 这个属性,值可以是 auto / span 2,意思就是让元素占用网格里的两行的空间。再把 aspect-ratio 设置成 2 / 3 。

然后写一段媒体查询,@media (min-width: 640px),添加一段样式, .post-list > .portrait ,把 aspect-ratio 设置成 auto。

观察

在浏览器观察一下,内容项目的包装上添加了 portrait 这个类以后,它会占用两行的空间。

内容卡片列表布局《 Web 基础:布局实践 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点