你可能不了解的CSS网格函数!

本篇文章给大家介绍一下css中的网格函数:fit-content()、minmax()、repeat()。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

你可能不了解的CSS网格函数!

这3个函数都只能在网格布局中使用

【推荐教程:CSS视频教程 】

fit-content()

fit-content函数,接收一个参数,长度值,可以按照字面意思来解释他的作用,”适应内容”。

立即学习“前端免费学习笔记(深入)”;

test1dsssss3333333 sssssssssssssss sssssssssssssssssss sssssssssssssssssss ssssssssssssssssssss 这是用了fit-content(400px)
test2 这是固定宽度width:400px
test3 这是fit-content(400px)
.fit-content-wrapper{ width: 100%; height: 200px; display: grid; grid-template-columns: fit-content(400px) 400px fit-content(400px); grid-gap: 10px; } .fit-item{ background-color: rgb(20, 106, 177); }

效果

2.png

可以看到,当内容长度大于给定长度时,文字会自动换行,不会超过给定长度,当内容长度小于给定长度时,会按照给定的内容长度设置长度。

兼容性

3.png

兼容性对于现代浏览器没有什么问题,新版本主流浏览器基本都能支持,对于需要支持ie的项目则不能使用。

minmax()

minmax函数表示一个闭区间范围[min,max],当值小于等于min时,值等于min,当大于等于max时,值等于max.

min-content,max-content

minmax函数接收min-content,max-content参数,这两个参数表示内容最短和最长的内容长度。看下面案例。

    
test1dsssss3333333 sssssssssssssss sssssssssssssssssss sssssssssssssssssss ssssssssssssssssssss

test2222222222

test 232232323233

min-content采用最短的内容长度

test

test 232232323233222222

max-content采用最长的内容长度

.minmax-wrapper { margin-top: 100px; width: 100vw; display: grid; grid-gap: 10px; grid-template-columns: minmax(300px, 500px) minmax(50px, min-content) minmax(100px, max-content); }

效果

4.png

可以看到,第二个项目的最小的内容宽度为第二个项目中的第一个p标签

5.png

当设置成minmax(50px,min-content)时,表示列宽最大的宽度也不能超过第一个p标签的内容宽度。

第三个项目的最大的内容宽度为第三个p标签的内容宽度

6.png

当设置成minmax(100px,max-content)时,最大的内容宽度不会超过第三个p标签的宽度

兼容性

7.png

跟fit-content函数一样,不支持ie,但对主流的现代浏览器支持还不错。

repeat()

repeat函数用来批量处理网格,接收2个参数,第一个参数表示执行次数,第二个参数表示长度。看下面例子

    
test1 3
test2 23
test3 444
.repeat-wrapper { margin-top: 100px; display: grid; grid-template-columns: repeat(3, 100px); grid-gap: 10px; }

效果

8.png

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

auto-fill,auto-fit

第一个参数除了指明具体次数外,repeat还接收这几个参数 auto-fill,auto-fit,下面讲一讲这两个参数的概念。

auto-fill

auto-fill表示由浏览器自动根据项目填充次数。当容器很宽的时候,会自动留出剩余格子的宽度。如果网格容器在相关轴上具有确定的大小或最大大小,则重复次数是最大可能的正整数,不会导致网格溢出其网格容器。

    
test1 3
test2 23
test3 444
test3 4444
test3 444
test3 444
grid-template-columns: repeat(auto-fill, minmax(100px,1fr));

效果

10.gif

auto-fit

auto-fit也会自动计算,但是与auto-fill不同的是,auto-fit不会保留剩余的空格子,会将auto-fill剩余的空格子重新分配到每个格子中。看下面示例

    
test1 3
test2 23
test3 444
test3 4444
test3 444
test3 444
grid-template-columns: repeat(auto-fit, minmax(100px,1fr));

效果

11.gif

兼容性

9.png

最新版本的主流浏览器基本都能支持,依旧不支持ie。

总结

这3个网格函数极大的丰富的网格布局,之前用网格布局用的不多,但是今天学习这3个函数以及相关的一些参数后,发现网格布局对比其他布局也是很方便的,后面在一些自己的小项目中可以试着用一下。

更多编程相关知识,请访问:编程视频!!

以上就是你可能不了解的CSS网格函数!的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1618313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 06:12:52
下一篇 2025年12月24日 06:13:03

相关推荐

  • css怎么将鼠标变小手样式

    在css中,可以使用cursor属性来将鼠标变小手样式,基本语法为“cursor:pointer;”。cursor属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状;将值设置为“pointer”即可让鼠标变小手。 本教程操作环境:windows7系统、CSS3&&HTML5版、…

    好文分享 2025年12月24日
    000
  • css怎么让两个div在同一行显示

    两个div在同一行显示的方法:1、给两个div元素设置“display:inline;”或“display:inline-block;”样式,让其转变为内联元素或行内块元素即可。2、给两个div元素设置“float:left;”样式即可。 本教程操作环境:windows7系统、CSS3&&a…

    2025年12月24日 好文分享
    000
  • 利用css实现一个抽奖动画效果

    首先我们先来看下最终的运行效果: 从效果图我们可以看到,抽奖会自动进行,并显示中奖信息。 这个效果基本是用CSS实现的,没有用图片,加一丢丢JS。完全没有考虑兼容性。 立即学习“前端免费学习笔记(深入)”; 具体步骤如下: 首先画一个转盘 幸运大转盘 /* 重置默认样式 */ * { margin:…

    2025年12月24日 好文分享
    000
  • css怎么设置文本居中对齐

    css设置文本居中对齐的方法:可以利用text-align属性来实现,如【p{text-align:center;}】。我们也可以设置文本居左或居右,如【text-align:left;】或【text-align:right;】。 本文操作环境:windows10系统、css 3、thinkpad …

    2025年12月24日
    000
  • css 多种背景的使用场景和技巧以及好处

    【推荐教程:CSS视频教程 】 CSS background是最常用的CSS属性之一。然而,并不是所有开发人员都知道使用多种背景。这段时间都在关注使用多种背景场景。在本文中,会详细介绍background-image`属性,并结合图形来解释多个背景使用方式以及其实际好处。 如果你还了解 CSS ba…

    2025年12月24日 好文分享
    000
  • 文字居中的css代码是什么

    文字居中的css代码是“text-align:center;”或“line-height:值;”。text-align属性规定元素文本的水平对齐方式,当值为center时,即可实现水平居中;而设置line-height可实现文字垂直居中。 本教程操作环境:windows7系统、CSS3&&a…

    2025年12月24日
    000
  • css怎么选择所有子元素

    在css中可以使用子选择器来选择指定元素的所有子元素:1、使用“E1 > E2{}”格式选择指定元素的所有指定子元素;2、使用“element1 > *{}”格式选择指定元素的所有子元素。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑…

    2025年12月24日
    000
  • css怎么设置背景图片布满全屏

    css设置背景图片布满全屏的方法:可以使用background-size属性来实现,如【background-size: cover;】。属性值cover表示把背景图像扩展至足够大。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在css中有一个用来设置背景图片…

    2025年12月24日
    000
  • css怎么改行内元素高度

    css改行内元素高度的方法:可以利用line-heihgt属性来设置行内元素的高度,如【line-height:100px;】。line-height属性用来设置以百分比计的行高。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 line-height属性是css…

    2025年12月24日
    000
  • css中如何设置背景半透明

    css中设置背景半透明效果可以使用opacity属性,该属性用来设置元素的不透明级别,如【opacity:0.5】,表示将元素设置为半透明状态。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在css中如果要设置元素的半透明效果,可以借助于opacity属性。o…

    2025年12月24日
    000
  • css怎么设置草书字体

    css设置草书字体的方法:可以利用font-family属性来进行设置,如【body{font-family:cursive;}】,属性值cursive表示草书字体。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在css中如果我们要设置元素的字体样式,可以使用…

    2025年12月24日
    000
  • css中怎么改变超链接颜色

    css中改变超链接颜色的方法:可以利用伪类并结合color属性来实现,如【a:link{color:#000000}】,表示设置超链接未访问时的颜色。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在css中我们可以使用下面几个伪类来设置超链接: a:link …

    2025年12月24日
    000
  • 你可能不了解的16 个提升布局效率的 CSS 伪类!!

    本篇文章给大家介绍16 个 css 伪类,助你快速提升布局效率。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 css 伪类是用于向某些选择器添加特殊的效果,是动态的,指当前元素所处的状态或者特性。只有一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这…

    2025年12月24日 好文分享
    000
  • css内边框线怎么设置

    css内边框线的设置方法:首先创建一个HTML示例文件;然后定义好div;最后使用border属性配合box-sizing属性来加内边框即可。 本文操作环境:windows7系统、HTML5&&CSS3版,DELL G3电脑。 在CSS中,可以使用border属性配合box-sizi…

    2025年12月24日
    000
  • css怎么实现下边框阴影效果

    在css中,可以使用box-shadow属性来实现下边框阴影效果,语法“box-shadow:0px 15px 10px -15px #000;”。box-shadow属性可以向框添加一个或多个阴影,用逗号分隔阴影列表。 本教程操作环境:windows7系统、CSS3&&HTML5版…

    2025年12月24日 好文分享
    000
  • css怎么实现超出范围加滚动条

    css实现超出范围加滚动条的方法:我们可以使用overflow属性来实现,具体代码如【div{overflow: scroll;}】。overflow属性规定当内容溢出元素框时发生的事情。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 相关属性介绍: overf…

    2025年12月24日
    000
  • css中设置英文单词之间间距的属性是什么

    css中设置英文单词之间间距的属性是word-spacing。word-spacing属性可以增加或减少字与字之间的空白,如【p{word-spacing:30px;}】。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 css中有一个word-spacing属性…

    2025年12月24日
    000
  • css中的图片翻转属性是什么

    css中的图片翻转属性是transform。transform属性应用于元素的2D或3D转换,可以利用该属性对元素进行旋转、移动、倾斜等操作,语法“transform: none|transform-functions;”;transform支持的翻转函数有rotate()、rotate3d()、r…

    2025年12月24日
    000
  • css中用什么属性来定义盒的类型

    css中使用display属性来定义盒的类型。display属性规定元素应该生成的框的类型,如【display:inline】,表示元素会被显示为内联元素,元素前后没有换行符。 本文操作环境:windows10系统、css 3、thinkpad t480电脑。 在css中,我们可以使用display…

    2025年12月24日
    000
  • css中什么属性可为元素设置外边距

    css中margin属性可以为元素设置外边距。margin属性可以定义元素周围的空间,它会清除周围的外边框元素区域。margin属性可以单独改变元素的上下左右边距,也可以一次改变所有的属性。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。 在cs…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信