- AMP:Building Accelerated Mobile Pages
- Ruadhan O'Donoghue
- 234字
- 2021-07-08 10:04:07
Using flex and media queries for horizontal layout
To achieve the first goal, we can apply the following properties to the list container:
.related-items {
display:flex;
flex-wrap: wrap;
list-style: none;
}
This nearly gets us there. However, it's a little messy: there is no consistency in item width, and depending on the screen width, the list will end up being both horizontal and vertical (as shown in the following image), when we wanted it to be either horizontal or vertical:

We can fix this with a media query. Let's say we have four items. When displayed horizontally, we'll want each to take up 25 percent of the available space. We'll use a width of 50rem as our breakpoint:
@media (min-width:50rem) {
figure {
margin:40px;
}
.related-thumb {
flex-basis:25%;
flex-wrap:wrap;
}
.related-thumb amp-img, .related-thumb figcaption{
flex-basis:100%
}
.related-items li {
width:25%;
}
}

This will give us a 4x1 horizontal list of items on wider screens and a 1x4 vertical list on small screens.
We can push this even further. On mid-sized screens, let's go for a 2x2 grid. To achieve this, we'll add another media query that matches screens between our default and our large screen media queries (full code at /ch3/related-flex-media.html):
@media (min-width:35rem) and (max-width:50rem) {
...
.related-items li {
width:50%;
}
}
- Learning Microsoft Windows Server 2012 Dynamic Access Control
- 深入理解Android(卷I)
- R語言經典實例(原書第2版)
- 趣學Python算法100例
- Web Application Development with R Using Shiny(Second Edition)
- Getting Started with SQL Server 2012 Cube Development
- Python完全自學教程
- KnockoutJS Starter
- PHP 7+MySQL 8動態網站開發從入門到精通(視頻教學版)
- 一本書講透Java線程:原理與實踐
- Instant PHP Web Scraping
- Go語言開發實戰(慕課版)
- 編程改變生活:用Python提升你的能力(進階篇·微課視頻版)
- Qt 4開發實踐
- VMware vSphere 5.5 Cookbook