如何用 CSS 网格快速做出网站原型

news/2024/5/2 10:31:32/文章来源:https://blog.csdn.net/weixin_33787529/article/details/88923293
简评:CSS 网格模块是创建网站模型的绝佳工具。它是我尝试过的任何其他系统中最快让你体验布局的工具。

我们的网格

我们将从模仿一个经典网站的非常基本的网格开始:

clipboard.png

首先,我将解释我们需要的 HTML 和 CSS 代码,我将之分为 4 个部分。一旦你弄明白了,我们将继续布局试验。

如果你对 CSS 网格完全陌生,你可能要浏览一下我的 5 分钟介绍 CSS 网格的文章。

1. 标记
首先我们需要一点点 HTML 代码。一个容器(我们把它变成网格的元素)和一些项目(标题,菜单,内容,页脚)。

<div class="container"><div class="header">HEADER</div><div class="menu">MENU</div><div class="content">CONTENT</div><div class="footer">FOOTER</div>
</div>

2. CSS 中的基础设置
然后我们需要设置我们的网格,并声明我们需要多少行和列。这是我们最初的 CSS:

.container {display: grid;    grid-template-columns: repeat(12, 1fr);grid-template-rows: 50px 350px 50px;grid-gap: 5px;
}

稍后我们会添加更多代码,但首先我想解释一下。

上面的代码意思是:创建一个有 12 列的网格,每列宽度为总宽度的十二分之一。创建三行,第一行高 50px,第二行高 350px,第三行高 50px,最后,网格中每个元素添加一个间隙。

3. 添加 grid-template-areas

让我们能轻松体验布局的功能叫模版区域。

把它添加到网格中,我们只需要简单地给 container 添加一个 grid-template-area 属性即可。语法可能有点怪,因为它不像任何其他的 CSS 语法。就像这样:

.container {display: grid;grid-gap: 5px;    grid-template-columns: repeat(12, 1fr);grid-template-rows: 50px 350px 50px;grid-template-areas:"h h h h h h h h h h h h""m m c c c c c c c c c c""f f f f f f f f f f f f";
}

grid-template-areas 属性背后的逻辑是你在代码中创建一个可视化的网格。你可以看到,它有 3 行、12 列。就像我们在定义 grid-template-columns 和 grid-template-rows 一样。

每一行代表一行,每一个字符(h,m,c,f)代表一个网格元素。

四个字符中的每一个都形成一个矩形:grid-area。

可能你已经猜到了,我选择的四个字符 h,m,c,f 分别代表了 header,menu,content,footer。我当然可以把它们换成我想要的任何字符,但使用它们描述的项目的第一个字符显然比较合理。

4. 把网格区域赋给项目

现在我们需要连接字符和网格中的项目。我们将使用 grid-area 属性:

.header {grid-area: h;
}
.menu {grid-area: m;
}
.content {grid-area: c;
}
.footer {grid-area: f;
}

布局结果如下:

clipboard.png

试验布局

现在终于到了我们体验这个功能的强大时候了,我们可以轻松地实验布局。只需要修改一下 grid-template-areas 中的字符即可。例如我们把上面的菜单移动到右边:

grid-template-areas:“h h h h h h h h h h h h”"c c c c c c c c c c m m”“f f f f f f f f f f f f”;

结果就会变成:

clipboard.png

我们可以使用 . 来创建空白网格:

grid-template-areas:“. h h h h h h h h h h .”"c c c c c c c c c c m m”“. f f f f f f f f f f .”;

看起来是这样的:

现在我推荐你看一下我的 CSS 网格课程,你可以自己实验代码。

添加响应能力

把这个和响应能力相结合简直就是一大杀器,以前这是不可能只用 HTML 和 CSS 就能达到这种效果的。假设当你用手机浏览时想让菜单放在标题旁边,你可以这样做:

@media screen and (max-width: 640px) {.container {grid-template-areas:"m m m m m m h h h h h h""c c c c c c c c c c c c""f f f f f f f f f f f f";}
}

结果看起来像这样:

GIF 链接(总是上传失败,也是醉了)

记住这些是用纯 CSS 代码完成的,不需要改动 HTML。无论 div 标签在标记中是如何放置的,我们都能随意转换。

这被称为源代码的独立性,这是 CSS 的一大进步。

它让 HTML 回归本职工作:标记内容。至于样式,那是 CSS 的工作。

原文链接:How to prototype websites quickly with CSS Grid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732137.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android无缝切换主题,Flutter Web网站之最简方式实现暗黑主题无缝切换

往期Flutter Web网站搭建教程Flutter Web 网站之主页框架搭建Flutter Web网站之Jetpack成型Flutter Web网站之ScrollViewGridView优化上期回顾上期我们做了优化&#xff0c;主要针对ScrollViewGridView的使用场景&#xff0c;用了更加合适的组件&#xff0c;这期想做一个主题变…

阿里云系列——3.企业网站备案步骤---2018-1-4

网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 个人网站备案&#xff1a;http://www.cnblogs.com/dunitian/p/4958268.html 先说企业的域名实名认证&#xff1a;一张图就ok了 说下步骤&#xff0c;其实和个人差不多&#xff0c;简单过下吧 1.填写…

java网络编程基础夯实03-为什么不能直接通过IP访问网站

在java网络编程基础夯实02-InetAddress类一文中通过getAllByName得到了www.csdn.net对应的四个IP地址。从理论上说&#xff0c;在IE&#xff08;或其他的Web浏览器&#xff0c;如Firefox)的地址栏中输入这四个IP地址中的任何一个&#xff0c;都可能访问www.csdn.net。如输入htt…

Linux中使用Apache服务部署静态网站及配置介绍

在介绍Apache服务之前&#xff0c;先了解一下Web网络服务和其他两个服务。 配置文件 /etc/httpd/conf/httpd.conf 参数 部署Apache服务 [rootapache-server ~]# yum install httpd.x86_64 httpd-manual -y 安装服务 [rootapache-server ~]# systemctl start httpd 启动服务 [r…

网市场云建站 v4.8 增加私有模版库,开放 Mysql 配置、在线客服源码

百度智能云 云生态狂欢季 热门云产品1折起>>> 网市场云建站系统&#xff0c;结合各种产品&#xff0c;将一个网站的服务器成本降低到0.1元&#xff01;打破传统建站的高成本&#xff0c;让价格不再是阻碍的门槛&#xff0c;让每个人都能有自己的网站&#xff01; 延…

《WEB开发-阿里云建站》第1章 建站前的准备

1.1 阿里云ECS服务器建站概述 云服务器 ECS&#xff08;Elastic Compute Service&#xff09;是一种弹性可伸缩的计算服务&#xff0c;可以干很多事情&#xff0c;建站只是一小部分功能&#xff0c;关于更加具体的内容请参看阿里云官网。 https://www.aliyun.com/ 图1阿里云EC…

《WEB开发- Web服务器环境搭建》使用花生壳+II7搭建网站服务

1简介 IIS7及以上版本提供的请求-处理架构包括以下内容&#xff1a;  Windows Process Activation Service(WAS)可以让站点支持更多协议&#xff0c;不仅仅是HTTP和HTTPS&#xff1b;  可以通过增加或移除模块来自定义Web服务器引擎&#xff1b;  集成IIS和ASP.NET请求-…

《WEB开发-阿里云建站》第1章 建站前的准备(安装Linux服务器管理工具-宝塔)

这篇博客主要是安装Linux服务器管理工具-宝塔&#xff0c;关于阿里云的购买&#xff0c;域名注册备案&#xff0c;以及WDCP的安装请看我的这篇博客。 点击进入 1.4安装Linux服务器管理工具-宝塔 笔者的阿里云使用的Ubuntu16.04。 环境要求&#xff1a;  操作系统&#xf…

今天和大家分享几个可以接私活的网站(偏软件)(转载21ic)

关于程序员接私活&#xff0c;社会各界说法不一。按照作者的观点来说如果你确实急用钱&#xff0c;价格又合适&#xff0c;那就去做。如果不怎么缺钱&#xff0c;那就接私活之前要好好考虑。私活的钱不好挣是一个方面&#xff0c;更重要的是如果你把做私活的时间花在提升自己上…

ashx文件 验证是否登录_如何在百度站长平台验证网站?

如何在百度站长平台验证网站&#xff0c;验证网站都会遇到哪些坑&#xff0c;通过这篇文章让大家详细的了解一下如何验证网站&#xff0c;希望能帮助到更多小伙伴。那么多人都在使用百度站长平台&#xff0c;可是依然有大部分人不知道如何正确使用百度站长平台工具&#xff0c;…

我的家乡网站模板_韩国留学之 学业计划书amp;自我介绍怎么写?(附模板)

大家好&#xff0c;今天小雯来讲讲韩国留学之申请材料那点事儿~最近&#xff0c;有很多同学来找小雯咨询学习计划书的范文&#xff0c;好像对留学资料无从下手&#xff0c;其实&#xff0c;看似很难的学习计划书和自我介绍&#xff0c;一点都不难。如果学校提供模板就按学校模板…

一个好玩的网站http://patorjk.com/

这是一个特别万能的工具 输入网址&#xff1a; http://patorjk.com/ 将会出现这个&#xff1a; 这里可以做的东西简直太多了&#xff01; Apps: Visualizations: Games and Misc&#xff1a; 功能众多&#xff0c; 1.我们可以做springboot 的banner自定义&#xff0c; 感觉…

restful接口开发实例_广州开发区网站

广州开发区网站学生荣获第46届世界技能大赛武汉选拔赛一等奖2项、二等奖3项大数据技术与应用主干课程&#xff1a;计算机网络技术、数据库技术应用MySQLs Python程序设计、Linux操作系统、Java程序设计工程数学、数据预处理、数据分析及应用、数据可视化、Hadoopx数据采集与网络…

npm 如何卸载swiper_如何快速搭建个人网站?

作者 l 白色蜗牛来源 l 蜗牛互联网(ID: woniu_internet)转载请联系授权(微信ID: 919201148)近期精彩文章&#xff1a;福利&#xff01;iPhone 256G免费送前言建网站本身是一个很大的工程&#xff0c;涉及前端页面的搭建&#xff0c;网站数据的存储&#xff0c;还要购置服务器资…

如何用oracle分析网站,使用外部表分析eygle.com的网站访问日志

使用外部表分析eygle.com的网站访问日志经过使用Oracle的外部表对Oracle的警告日志文件、跟踪文件进行获取和分析之后&#xff0c;我发现外部表实在是非常易用&#xff0c;甚至到了随心所欲的境地(当然外部表尚不能修改外部文件)。使用外部表可以很容易的实现网站的访问日志分析…

modelandview跳转页面404_超快排:在百度搜索引擎网站404页面怎么做?

我们平时在百度搜索引擎网站的时候遇到过打开之后是错误页面&#xff0c;这些页面有提示可以返回之前页面和首页。为什么网站会有这样的页面呢&#xff1f;这是因为网站设置了404页面。我们在做百度搜索引擎SEO排名优化的时候&#xff0c;往往只注意网站结构专注与如何排名提高…

asp.net网站作为websocket服务端的应用该如何写

最近被websocket的一个问题困扰了很久&#xff0c;有一个需求是在web网站中搭建websocket服务。客户端通过网页与服务器建立连接&#xff0c;然后服务器根据ip给客户端网页发送信息。 其实&#xff0c;这个需求并不难&#xff0c;只是刚开始对websocket的内容不太了解。上网搜索…

java web 社区_我的第一个javaweb----模仿社区网站(二)

项目分层在写后台之前我给分了四层&#xff0c;每一层负责不同的功能&#xff0c;如图. 前端页面层&#xff1a;也就是浏览器展示给人看的&#xff0c;直接与人交互的界面. servlet层&#xff1a;受理前端页面发来的数据&#xff0c;由它接受前端发来的请求(request)做出不同的…

老榕智能建站软件_教你把网站建设得更好上线了智能建站系统

对于不懂技术、没有太多资金的个人和中小企业来说&#xff0c;要想生成自己的网站&#xff0c;就需要用到智能建站系统。智能建站比较简单&#xff0c;小白也能很快上手&#xff0c;不过这并不意味着你就可以随随便便搭建了。实际上&#xff0c;若想顺利建设出一个有用的网站&a…

vba获取正在运行网站的源码_VBA教程连载——第三节:如何运行宏

宏的运行方式有以下几种&#xff1a;第一种&#xff0c;自我录制运行打开开发工具-自己去录制一个宏&#xff0c;然后给它命名&#xff0c;录制完成后运行。至于具体怎么录制&#xff0c;我们下节课再细谈。注意&#xff1a;内置宏的表格&#xff0c;一般是没法直接保存的&…