首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS Grid 那些鲜为人知的内幕

其实,网格容器仍然使用流式布局,流式布局中的块级元素垂直增长以容纳其内容。「只有子元素使用网格布局进行排列」。...此外,我们还可以使用新的单位,即fr单位[8]: 这里多说一句,在CSS Values and Units Module Level 4[9]中定义了关于length的值 这里的fr代表分数(fraction...在这个示例中,我们说第一列应该占用1个单位的空间,第二列占用3个单位的空间。这意味着总共有4个单位的空间,这成为分母。第一列占据了可用空间的1/4,第二列占据了3/4。...fr vs % fr单位为Grid带来了类似Flexbox样式的灵活性。百分比和 值创建硬约束,fr列可以「根据需要自由地增长和收缩,以容纳其内容」。...基于fr单位的列无论如何缩小容器宽度,该列也不会收缩到其最小内容大小以下。 ❝更准确地说:fr单位分配额外的空间。首先,列宽将根据内容计算。如果有剩余空间,它将根据fr值进行分配。

11510

CSS 新版网格布局简述

网格布局 CSS 网格是一个用于 web 的二维布局系统。利用网格,你可以把内容按照行与列的格式进行排版。另外,网格还能非常轻松地实现一些复杂的布局。...如图: 然后我们对css规则做点改变,来了解网格是如何工作的。 首先,将容器的display属性设置为grid来定义一个网络。与弹性盒子一样,将父容器改为网格布局后,他的直接子项变为网格项。...因为display: grid的声明只创建了一个只有一列的网格,所以子项还是像正常布局流那样从上下一个接一个的排布。...另外,fr可以与一般的长度单位混合使用,比如grid-template-columns: 300px 2fr 1fr,那么第一列宽度是300px,剩下的两列根据除去300px后的可用空间按比例分配。...100像素,那么看起来不会有变化,但如果在某一项中放入很长的内容或者图片,你可以看到这个格子所在的哪一行的高度变成能刚好容纳内容的高度了。

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

静态布局、自适应布局、流式布局、响应式布局、弹性布局等的概念和区别

代表作栅栏系统(网格系统)。 网页中主要的划分区域的尺寸使用百分数(搭配min-*、max-*属性使用),例如,设置网页主体的宽度为80%,min-width为960px。...1、布局特点:屏幕分辨率变化时,页面里面元素的位置变化大小不会变化。 2、设计方法:使用 @media 媒体查询给不同尺寸和介质的设备切换不同的样式。...通常使用 @media 媒体查询 和网格系统 (Grid System) 配合相对布局单位进行布局,实际上就是综合响应式、流动等上述技术通过 CSS 给单一网页不同设备返回不同样式的技术统称。...css,而且css都是采用的百分比的,不是固定的宽度,不同点是响应式的模板在不同的设备上看上去是不一样的,随着设备的改变改变展示样式,自适应不会,所有的设备看起来都是一套的模板,不过是长度或者图片变小了...3、这类布局的特点是,包裹文字的各元素的尺寸采用em/rem做单位页面的主要划分区域的尺寸仍使用百分数或px做单位(同「流式布局」或「静态/固定布局」)。

10.1K33

使用 CSS Grid 的响应式网页设计:消除媒体查询过载

grid-template-columns: 1fr 1fr 1fr; grid-gap: 10px;}在这个示例中,grid-template-columns 属性创建了三个等大小的列,每列占据一个分数单位...grid-gap 属性在网格项之间添加了间距,使设计更具视觉吸引力。Grid 默认具备响应性CSS Grid 不是默认具备响应性的。...如果我们坚持使用前面的示例,当在较小的屏幕上查看时,网格会将屏幕分成三个等分,导致内容变小,可能变得难以阅读或与之交互。但是,CSS Grid 提供了强大的功能来实现响应式设计。...grid-gap 属性在网格项之间添加了5像素的间隔,提供一些视觉间隔。通过这个配置,网格将创建尽可能多的列以适应容器,同时保持指定的宽度。列数将根据可用空间自动进行响应性调整。...3、Minmax()minmax() 函数允许你为网格列或行定义大小范围。它设置了最小和最大大小,允许根据不同的屏幕尺寸灵活调整。

20410

前端-CSS Grid中的陷阱和绊脚石

这篇文章的目的是回答其中的一些问题,并且将会是Smashing Magazine中有关于CSS Grid一系列文章中的一篇。 为什么使用CSS Grid不是CSS Flexbox?...最简单的方法就是使用auto,因为它会默认在隐式网格中创建网格轨道。一个自动大小的网格轨道将扩展到包含所有的内容。在下面的示例中,我有一个两列布局,在右边的列中添加更多的内容导致整个行的扩展。...这些关键词在指定网格中允许内容来改变网格轨道大小,并且可以在CSS内部和外部的大小模块(CSS Intrinsic and Extrinsic Sizing Module)中找到相关的详细内容。...这个单位是专门为网格布局设计的,因为网格设置父元素的大小。 fr单位允许我们分配可用网格布局中的可用空间。...这意味着,除了网格的直接子节点,其他网格项目可能参与整个网格布局。 网格布局有对应的Polyfill

4.8K20

深挖 Threads App 帖子布局,我进一步加深了对CSS网格布局的理解

为什么不使用命名的CSS网格区域呢? 根据我目前观察到的情况,有三种网格布局变体,它们都可以受益于使用命名网格区域。 我尝试复制网格并基于命名区域构建它。与指定列和行的值相比,它看起来更容易扫描。...变化2:回复 变化是指某人回复另一个人的情况。...网格的内联CSS变量 我很高兴看到像Threads这样的大型应用程序正在使用我和许多其他人提倡的东西。 在用户个人资料中,选项卡网格布局是使用包含选项卡数的内联CSS变量构建的。 很有用。...根据MDN的说法,它与break-word相同,但有一个额外的东西: 计算最小内容内在大小时,考虑了单词折断引入的软换行机会。 我仍然没有发现使用break-word和anywhere之间的区别。...动态视口单位的使用 我喜欢在启动画面中使用动态视口单位dvh。 防御性的CSS策略 为了确保flexbox布局不会因为最小内容长度破裂,使用min-width: 0来重置该行为。

14220

2022 年的 CSS 全览

许多设计师在他们的整个设计上放置一个网格,并不断地在其中对齐项目,这在CSS中是做不到的。 在subgrid之后,网格的子网格可以将其父网格的列或行作为自己的列或行,并将其自身或子网格与它们对齐!...这是 HWB 调色板集 demo 的截图,其中文本颜色由浏览器根据样本颜色自动选择: 语法的基本内容如下所示,其中灰色被传递给函数,浏览器确定黑色或白色是否具有最大对比度: color: color-contrast...大多数颜色空间在颜色插值期间逐渐变为紫色。或者,当颜色在其颜色空间内从 A 点移动到 B 点时。由于渐变将从 A 点到 B 点采用直线,因此色彩空间的形状变化极大地改变了路径沿途的停止点。...但是当该条滑出时,视口高度发生了变化,任何 vh 单位都会随着目标大小的变化移动和调整大小。...使用grid构建CSS后,将不需要JavaScript库,内容顺序也将正确。

4.2K20

分享一些关于 CSS Grid 基础入门知识

网格系统(CSS Grid)是CSS中最重要的特性之一。它能够以简单的方式将元素对齐到列和行中。CSS网格使得设计复杂且响应式的网页变得更加容易,无需使用浮动、表格或定位。...在这种情况下,你可以使用分数(fractions)作为grid-template-columns属性的值。分数用于将网格布局分割成列或行。...minmax(200px, 1fr)); } .item{ background: red; padding: 20px; color: wheat; margin: 10px; } 这样做也根据屏幕大小自动定义列的数量...它们之间没有区别,只是我们是在处理行不是列。 网格间隔属性(grid-gap) 网格间隔属性grid-gap用于在父元素内设置列和行之间的间隔。...) 对齐内容属性align-content用于垂直对齐容器内的所有网格

16730

换个角度思考问题

任意给一个面积小于 1 个单位的图形,证明这个图形总能放在网格不包含任何一个格点。 初看这个论断,觉得似乎是正确的,但又不知从何下手。文中指出证明的思路很巧妙,让人感到数学的美妙。...现在我们把给定的图形随意放在网格中。然后沿着网格线把包含有图形的网格切成 1×1 的小格子,从网格中拿出来。把它们重叠起来(不旋转),再想像这些格子是透明的,图形是不透明的。...网站中有这样一套积分系统,对于用户的各种各样的行为,都会引起用户积分的微小变化,例如,用户登陆一次+1 分,用户加一个好友+2 分,用户发表一篇评论+1 分,用户评论包含不良内容-3 分等等。...回过头来看一看,原本的 HashMap 不是可以派上用场?...Array 中取得用户信息: HashMap 这样一来,rank 变成了 HashMap 和 Array 的桥梁,在每次分数发生微小变更时要做的调整,以及每次根据 uid 来获取用户的积分和积分排名信息时要做的查询

29210

响应式布局,你需要知道这些

文中讲到响应式的概念源自响应式建筑设计,即房间或者空间根据其内部人群数量和流动变化。...建筑师们通过把嵌入式机器人与可拉伸材料结合的方法,尝试艺术装置和可弯曲、伸缩和扩展的墙体结构,达到根据接近人群的情况变化的效果。...个 CSS 像素对应 3*3 的 9 个设备像素点 复制代码 上面这个比值 3 就是设备像素比(Device Pixel Ratio,简称 DPR)。...根据两者的特性, EM 更适合模块化的页面元素,比如 Web Components REM 则更加方便,只需要设置 html 的字体大小,所以 REM 的使用更加广泛一些 实际开发中,设计图的单位CSS...内容溢出视口外,导致出现横向滚动条对不对,这在移动端是非常不好的浏览体验,因为用户往往更习惯上下滚动,不是左右滚动,所以我们需要确保图片内容不要超出 viewport,可以通过设置元素的最大宽度进行限制

1.7K20

grid网格布局

CSS Grid 是创建网格布局最强大和最简单的工具。...我们比较熟悉的比如说坐标轴,坐标点;如果你看到下面这样一个网格首先想到是这不就是被淘汰的表格,表格之所以被淘汰最主要在性能方面,然而我们不得不承认表格对于整个网页的布局来说有一定的便利性。...使用:任何容器(行内元素可设置为display:inline-block); 特点:空间分布在行中进行,而非整体 Grid Gird Layout(css网格布局)是css中最强大的布局系统,是一个二维系统...,可以同时处理行和列,可以通过将css规则用于父元素(网格容器)和该元素的子元素(网格元素)来使用网格布局。...而且当同级小盒子很多的时候,往往动一发动全身,很不方便。 grid是把盒子用线分成很多份,把小盒子一个个填进去。

1.9K40

简明 CSS Grid 布局教程

1.1.1 使用 fr 单位 除了长度和百分比,我们也可以用fr这个单位来灵活地定义网格的行与列的大小。...,比如grid-template-columns: 100px 1fr 2fr的结果就是第一列宽度是 100px,剩下的两列根据去掉 100px 后的可用空间按比例 1: 2 来分配。...3.1 给隐式网格设置大小 上图的 a 和 b 有点区别是,网格 a 宽度自动铺满了容器,网格 b 的高度则是内容的高度,这是默认行为。...start end center 4.3 justify-content 如果网格容器的尺寸比整个网格内容的大,这时候就可以使用 justify-content 或 align-content 来调整网格内容的对齐了...其中第二列里的内容是一串连续字符,由于没有特意设置 work-bread 属性,所以显然第二列的内容超出预期的宽度: 这种问题设置下 word-break: break-word 就好,但这是最简单的情景

2.5K20

浅淡HTML5移动Web开发

其中就使用了媒体查询,通过 标签的media属性为样式表指定了设备类型,当然CSS3时代的媒体查询更加丰富。 ? 发现了他们的区别?...2.CSS3新增属性 现在移动端两大阵营ios和android都是基于webkit内核的,webkit内核对CSS3的支持走在了前面,在这里我们可以抛开翔一样的ie家族,尽情享受多彩绚丽CSS3世界吧...浏览器默认根据当前屏幕和内容作调整,在webkit内核的浏览器中只需要-webkit-text-size-adjust:none就禁止自动调整,至于是否全局活局部使用看自己的项目需求。 ?...前面的几个单位大家都比较熟悉,不知道有没有和我一样小白的才知道rem的呢,我们就介绍一下这个新朋友,它是随着css3来到这个世界。...,当然单位是rem,这样参考对象才会永远是html不是父元素,当需要变化的时候,只需改变html的大小其他的元素都会相应变化,方便极了。

2.4K50

前端|Grid实现自适应九宫格布局

1 前言 现在无论是做app还是做网站,宫格的布局也是必然存在的,那么如何使用css实现自适应的九宫格布局呢?下面简单来介绍一下css里面的grid实现九宫格布局。...2 相关属性和函数 2.1 fraction单位 CSS 栅格布局带来了一个全新的值:fraction单位,fraction单位通常简写为fr,它允许你根据需要将容器拆分为多个块。...总宽现在是四个 fraction 单位,第二列占据两个 fraction 单位,其它列各占一个 fraction,此时这些子元素都会随着屏幕宽度的变化而跟着变化了。...替换为自适应数量: grid-template-columns: repeat(auto-fit, 100px); grid-template-rows: repeat(2, 100px); 现在,栅格将会根据容器的宽度调整其数量...但如果有更多的可用空间,栅格布局将简单地将其均分给每列,因为这些列变成了 fraction 单位不是 固定的100px。

3.1K30

【Hello CSS】第六章-文档流与排版

浮动也是如此(虽然有可能两个盒子的距离因为 floats变小),除非该盒子再创建一个新的BFC。...顺便一提,CSS单位 ex便是指的这个字母x的高度。 如何理解IFC 自从翻了CSS的发展史之后,了解了CSS的诞生背景之后,其实很多东西理解起来就轻松了。...一些常用的灵活尺寸 属性 定义 fr 可伸缩长度单位网格容器中可用空间的一等份。 auto 自由分配,由具体情况决定。 minmax() 定义了一个长宽范围的闭区间。...我认为 CSS中最难的部分就是布局了,虽然W3C本身提供了很多的属性以及规范来处理这些布局问题的,但是涉及到了现实的项目,更多时候是错综复杂的,但是随着 CSS 逻辑属性的变化,以及各类新布局系统的出现...本章内容就这么草草结束了,关于上面提到的,或者没有提到的与之相关的,以后有机会鱼头新开个系列来分享。当然如果看到这里的你有任何布局上的见解或问题也欢迎来找鱼头探讨。

62010

我眼中的 CSS 革命:新特性潜力无限

我们在 2003 年编写的 CSS 跟 2013 年总有很大区别,如今又一个十年过去,我们如今编写的 CSS 比之前更强大、但也更加复杂。 当然,CSS 的进化绝非一蹴而就。...就如同 Web 一样,CSS 也是逐步演进,最终成了今天的样子。大家还记得第一次用上 box-shadow、background-size 还有 border-radius 时的兴奋之情?...CSS 此番迎来了一系列根本层面的变化,甚至有种到了技术奇点的意思。也就是说,CSS 由此分成了 2020 年代前与 2020 年代后两大阶段。...想要选定某个元素的父元素,但浏览器本身又不支持解析 CSS?没关系,现在可以直接用:has()。想根据容器大小调整元素,又担心可能造成无限循环?别担心,现在可以用容器查询和随附的新长度单位。...只有用好 CSS,我们才能发挥平台上的现代功能;只有将 CSS 引入设计,我们才能建立起能灵活适应不同环境、不同内容类型的设计方案;也只有使用新 CSS,我们才能真正打造出优雅高效、简洁有力的真 Web

20520

css学习笔记,持续记录。

10.css伪对象选择器 ::first-letter CSS3第一个字符的样式 ::first-line CSS3第一行的样式 ::before CSS3对象前发生的内容 ::after CSS3对象后发生的内容...CSS 计数器 CSS 计数器根据规则来递增变量,CSS 计数器使用到以下几个属性: counter-reset - 创建或者重置计数器 counter-increment - 递增变量 content...当网页存在多层颜色的时候,透明度导致颜色重叠出现色差,不同的是,字体颜色带有透明度时,能够根据背景自适应不同的背景颜色产生不同的效果。...margin-left负数偏移时,也跟着浮动偏移,不会和正常元素一样,保持原来的位置;通过这个特点可以让很多效果实现起来更加简单; 30....auto:默认值,表示指针事件已启用;此时元素响应指针事件,阻止这些事件在其下面的元素上触发。对于 SVG 内容,该值与 visiblePainted 效果相同。

2.6K60
领券