Css Grid代码搞定响应式布局

一行css代码搞定响应式布局 在这篇文章中,我将教你如何使用 CSS Grid 来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量。最精彩的地方在于:所有的响应特性被添加到了一行 css 代码中。这意味着我们不必将 HTML 与丑陋的类名(如col-sm-4, col-md-8)混杂在一起,也不必为每个屏幕创建媒体查询。ok,让我们发车吧。 设置 在本文中,我将继续使用我在第一篇CSS Grid 布... 阅读详情

老规矩,直接上代码。

1.css里的Grid布局【网格布局】:

html代码:

<div class="cotn">

     <div>1</div>

   <div>2</div>

   <div>3</div>

   <div>4</div>

    <div>5</div>

    <div>6</div>

</div>

css代码:

.cotn{

       display: grid;

       grid-templated-columns: 100px 100px 100px;

      grid-template-rows: 50px  50px;

}

2.基础响应单位:fraction【简写:fr】

.cotn{

     display: grid;

    grid-template-columns: 1fr 1fr 1fr;

   grid-template-rows: 50px 50px;

}

如果将grid-template-columns的值更改为1fr 2fr 3fr,第二列的宽度将会是其他两列的两倍。总宽度是4个fraction单位,第二列占据两个fraction,其它的各占一个。

3.高级响应:

repeat()函数:一个强大指定列和行的方法。

.cotn{

     display: grid;

    grid-grap: 5px;

     grid-template-columns: repeat(3, 100px);

     grid-template-rows: repeat(2, 50px);

}

repeat(3, 100px)等于100px 100px 100px。第一个参数指定行与列的数量,第二个参数指定它们的宽度。

4.auto-fit:跳过固定数量的列,换成自适应数量。

.cotn{

    display: grid;

    grid-grap: 5px;

   grid-template-columns: repeat(auto-fit, 100px);

   grid-template-rows: repeat(2 100px;)

}

栅格将会根据容器的宽度调整数量,网格通常左右侧会有留白情况。

5.minmax()函数:

.cotn{

   display:  grid;

  grid-grap:  5px;

grid-template-columns:  repeat(auto-fit, minmax(100px , 1fr));

 grid-template-rows:  repeat(2 100px;)

}

minmax()函数会将可用的空间均匀的分给每列,这些列变成了fraction单位,而不是100px。

6.添加图片:

<div><img src = "img/fp.png" /></div>

.cotn > div > img{

   width: 100%;

   height: 100%;

   object-fit: cover;

}

结束语:

浏览器支持的情况,全球77%的网站支持CSS Grid,而且比例还在逐步上升。

CSS Grid: 像拼图游戏一样轻松搞定网页布局 CSS Grid布局入门指南:解锁网页排版"上帝模式" CSS Grid是一种强大的二维布局系统,让网页设计变得前所未有的简单直观。与传统的浮动布局或Flexbox不同,Grid允许开发者像画格子一样精确控制网页元素的排列方式。 核心概念包括: Grid容器(房东)与Grid项目(租客)的关系 使用fr单位实现灵活的响应式布局 通过grid-template-columns/rows定义行列结构 利用gap属性设置间距 使用grid-column/grid-row实现单元格合并 Grid 阅读详情

相关推荐

【Linux】Petalinux使用QSPI FLASH引导启动

1. 预分配Flash空间使用Flash引导Petalinux做的系统,也有进阶的做法。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。1. 预分配Flash空间根据生成的bit文件大小估算BOOT.BIN文件的大小,为Flash大概分配四个分区:boot、bootenv、kernel、bootscr,分别存放BOOT.BIN文件、u-boot的环境变量、内核文件(image.ub/zImage/uImage等)、启动脚本boot.scr。

Tesseract_9527的博客 3372

grid网格布局

display:gride

qq_60893085的博客 3533

Abaqus边界条件设置避坑指南:为什么你的实体单元转动自由度总是不生效?

本文深入解析了Abaqus中实体单元转动自由度设置失效的根本原因。从力学原理与有限元节点自由度的本质区别出发,阐明了实体单元仅具有平动自由度,直接约束其转动自由度是无效操作。文章提供了对称边界条件的正确设置方法,并给出了使用耦合约束等高级方案来模拟真实抗转动约束的实战指南,帮助用户避免常见建模陷阱。

weixin_29290379的博客 620

Flex弹性和Grid网格布局核心知识及应用场景

Flex弹性和Grid网格布局核心知识及应用场景

m0_74507237的博客 917

CTFHUB------XSS反射型(WP)

文章目录前言XSS测试平台 前言 一开始我直接在上面写js脚本发现出错,最后发现只能通过下面的输入框来执行XSS测试,于是我们只能用XSS测试平台解决问题 XSS测试平台 注册一个XSS测试平台 这里随便填写 勾选默认模块就够了,点击下一步 这时会出现一个找个将代码复制 拼接到网站后缀name后面,点击send 这时平台会收到一个记录点开即可 得到flag ...

Y4tacker的博客 1万+

openMVS ---dense point cloud(代码理解)

openMVS ---dense point cloud(代码理解)0 代码实现原理1 代码实现步骤1.1 参数传递1.2 loading .mvs数据1.3 稠密重建1.3.0 相关变量及概念1.3.1 ComputeDepthMaps(data) --计算多张深度图1.3.1.1. pre1.3.1.2 为每一张depth map Select view(s) !!!1.3.1.2.1 N neighbors --- global score + filter1.3.1.2.2 MRF ---- t

小rivaaaa的博客 5328

Grid网格布局学习整理

Grid网格布局属性及其应用

SilentLand的博客 974

PIVlab软件入门:从GUI操作到2D2C粒子测速实战

本文详细介绍了PIVlab软件在2D2C粒子测速中的入门与实战应用。从GUI操作到环境搭建,再到图像预处理和核心参数设置,帮助用户快速掌握这一基于MATLAB的开源工具。通过实际案例和技巧分享,展示了PIVlab在流体力学实验中的高效性和实用性。

weixin_42547431的博客 226

grid布局

grid布局

weixin_50959040的博客 2万+

深入解析Uplift模型评估:AUUC指标的计算与应用

本文深入解析了Uplift模型评估的核心指标AUUC。针对传统响应模型无法区分用户真实转化动因的痛点,AUUC通过量化模型对用户增益(Uplift)的排序能力,有效衡量营销干预的增量收益。文章详细拆解了AUUC的计算逻辑,从构建Qini曲线到Python代码实战,并强调了其在预算约束下的精准营销等场景的应用价值与常见陷阱。

weixin_29254029的博客 475

AUTOSAR&UDS 理论要点及isolar实战-DEM模块

从这节开始,将讲解UDS诊断中非常重要的知识点:故障事件触发、故障信息上报、故障信息处理、故障信息存储和故障系统降级,后续会陆续更新。

cqaa11的博客 552

Grid 网格响应式布局教程

它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。相对于,Grid 布局则是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局,在某些使用场景下,会比flex布局更便捷一些。

前端_李嘉豪 1873

[Dify实战] [安全合规] 用 Dify 优化安全巡检:从经验驱动到标准闭环-带绑定资源

摘要:企业信息系统安全管理中,安全合规巡检面临标准不统一、整改难追踪等痛点。本文提出基于Dify工具的智能化解决方案,通过自动化工作流实现标准检查清单生成、风险等级标注、整改建议输出及审计记录归档。方案采用结构化Prompt模板和Markdown输出格式,涵盖账号权限、数据安全等核心维度,并提供证据收集建议和闭环管理机制,帮助组织从人工经验驱动转向数据流程驱动的合规管理。配套可导入Dify的工作流文件将随后发布。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 271

CSS Grid实战:5分钟搞定响应式卡片布局(附完整代码)

本文详细介绍了如何使用CSS Grid快速构建响应式卡片布局,通过`minmax()`和`auto-fill`组合实现动态列数控制,提升开发效率与布局一致性。文章包含完整代码示例和高级调优技巧,帮助开发者解决电商等多场景下的卡片对齐难题。

weixin_30689307的博客 268

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用 CSS grid 搞定响应式布局

前言 CSS Grid 可以用来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量。 最厉害的地方在于:所有的响应特性被添加到了一行 css 代码中。 这意味着我们不必将 HTML 与丑陋的类名(如col-sm-4, col-md-8)混杂在一起,也不必为每个屏幕创建媒体查询。 设置 HTML 代码: <div class="container"> <d...

weixin_43346192的博客 463

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

css 布局之 display:grid

一种新的自适应布局方式 display:grid

填了个大空℃ 2932

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

CSS Grid 布局避坑:搞定响应式错乱 + 对齐失效 复杂布局效率翻番

你是不是学会 CSS Flex 布局后,一遇到复杂的 “行列混合布局” 就犯难?比如想做 “顶部导航 + 左侧侧边栏 + 中间内容区 + 底部 footer” 的后台页面,用 Flex 得嵌套好几层 div,还得调各种 margin 和 padding;好不容易听说 Grid 能搞定二维布局,上手后却更懵 —— 要么 grid-template-columns 设完后,内容区挤成一团;要么想让网格项垂直居中,调了半天 justify-items 没反应;

思索的涟漪,突破自我 605

深入掌握CSS Grid布局:每个属性详解与实战示例

CSS Grid布局的核心在于灵活性和控制力。通过这篇文章,你应该已经掌握了Grid的每个核心属性及其用法,从到minmax(),都能信手拈来。想彻底吃透Grid?修改上面的2×3网格,尝试用fr单位、minmax()和auto-fill调整布局。自己实现一个博客主页,包含头部、侧边栏、内容区和底部,用规划。打开MDN的Grid文档,查阅和等简写属性,扩展你的知识。希望这篇指南让你对Grid布局信心满满!多写代码,多调试,Grid会成为你的布局好帮手!🚀。

前端结城的博客 2223

搞定CSS布局:从浮动到Flex/Grid的实战指南

CSS布局的核心是理解不同方式的适用场景,没有“万能布局”,只有“合适的布局”。欢迎在评论区分享你的布局心得~2. 少用浮动和定位:浮动适合简单图文混排,绝对定位(position: absolute)适合脱离正常布局的元素(如弹窗),滥用会导致布局混乱。Flexbox(弹性布局)是目前最常用的布局方式,专为“一维布局”(一行或一列)设计,简单灵活,兼容性良好(支持IE10+)。Grid(网格布局)是为“二维布局”(同时控制行和列)设计的强大工具,适合复杂的网格结构(如仪表盘、画廊)。

2502_91161783的博客 822

CSS Grid 布局示例 - 圣杯布局

https://www.html.cn/archives/8635

zjsfdx的博客 1200

一行 CSS 代码搞定响应式布局

一行 CSS 代码搞定响应式布局 作者:icepy @知乎专栏 https://zhuanlan.zhihu.com/p/69809343 在这篇文章中,我将教你如何使用 CSS Grid 来创建一个超酷的图像网格图,它将根据屏幕的宽度来改变列的数量。最精彩的地方在于:所有的响应特性被添加到了一行 css 代码中。这意味着我们不必将 HTML 与丑陋的类名(如col-sm-4, col-md-8)混杂在一起,也不必为每个屏幕创建媒体查询。ok,让我们发车吧。 设置 在本文中,我将继续.

Lycoris_Red的博客 238

一行CSS代码搞定响应式布局

来源:知乎,作者:icepy链接:https://zhuanlan.zhihu.com/p/69809343(点击尾部阅读原文前往)原文作者:Per Harald Borgen原文链接:...

零度源码 363

前端萌新别慌:7天搞定CSS Grid布局(附实战代码+避坑指南)

grid-gap和gap的区别:新版浏览器都用gap,老版本可能要用grid-gap。为了兼容性,可以这样写:gap: 20px;/* 兼容老版本 */隐式网格的陷阱:如果你没明确指定所有子项的位置,浏览器会自动创建隐式网格轨道。有时候这会导致意外的布局。解决方法是明确指定和,或者用控制隐式行高。百分比和fr的区别1fr是分配剩余空间,而百分比是基于容器总尺寸。/* 这样写可能不是你想要的效果 *//* 更好的写法 *//* 后两列按1:3比例分配剩余空间 */z-index的坑。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 973
上一篇: 图片样式和下载
下一篇: mapbox gl 加载gltf模型
荣默默
博客等级 码龄11年 18粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值