使用CSSGrid构建复杂布局超实用!
时间:2023-04-02 16:25:24
HTML
作者:Shadeed译者:FrontendXiaozhi来源:dmitripavlutin有梦想,有干货,微信搜索【大千世界】关注这个洗碗盘的清晨智慧。本文已收录到GitHubhttps://github.com/qq449245884/xiaozhi,里面有完整的测试站点、资料和我的一线厂商访谈系列文章。网格布局是现代CSS中最强大的功能之一。使用GridLayout可以帮助我们在没有任何外部UI框架的情况下构建复杂、快速和响应迅速的布局。在本文中,我们将涵盖我们需要了解的有关CSS网格的所有信息。CSS网格基础直接上代码吧,如下图,先写一些标签,源码在这个链接:https://codepen.io/Shadid/pen/zYqNvgv
在上面,我们创建一个页眉、两个旁边和一个页脚元素,并将它们包装在容器元素中。我们为容器元素内的所有元素添加背景颜色和字体大小。.container>*{背景:海蓝宝石;font-size:30px;}运行页面如下:现在我们添加一些网格属性:.container{display:grid;网格间隙:5px;grid-template-areas:"header""aside-1""aside-2""section""footer"}/*为元素分配网格区域*/header{grid-area:header;}aside:nth-of-type(1){grid-area:aside-1;}aside:nth-of-type(2){grid-area:aside-2;}section{grid-area:section;}footer{grid-area:footer;}首先,我们定义display:grid,这将启用网格布局,然后我们使用grid-gap在网格元素中添加间隙。接下来,我们为每个html元素分配了一个网格区域名称。在容器类中,我们可以使用grid-template-areas`属性来定义html模板的外观,注意网格模板区域是如何排列的。grid-template-areas:"header""aside-1""aside-2""section""footer"元素的顺序与dom结构不同。但是,它最终是按照我们网络区域的顺序呈现的。下一步是让我们的页面响应。我们想在更大的屏幕上使用不同的布局。CSS网格使得处理媒体查询和创建响应式布局变得非常容易。看看下面的代码:@media(min-width:670px){.container{grid-template-areas:"headerheaderheader""aside-1sectionaside-2""footerfooterfooter"}}Allwe所要做的就是在Reorder网格模板区域中进行媒体查询。Grid列和行如何使用CSSGrid来组织列和行?从以下代码开始:
一个