当前位置:首页 > 科技  > 软件

CSS align-content也能适用于普通容器了

来源: 责编: 时间:2024-04-22 17:18:34 303观看
导读最近,Chrome 123又悄悄推出了一个CSS新特性,那就是align-content支持普通的block容器了!那么,这个特性有什么用呢?一起来了解一下吧!一、过去只对 flex 和 grid 生效align-content相信大家都听说过,但是之前只能在 flex 和 g

最近,Chrome 123又悄悄推出了一个CSS新特性,那就是align-content支持普通的block容器了!那么,这个特性有什么用呢?一起来了解一下吧!XTT28资讯网——每日最新资讯28at.com

一、过去只对 flex 和 grid 生效

align-content相信大家都听说过,但是之前只能在 flex 和 grid容器上才能生效。这里以flex为例,比如有这样一个布局。XTT28资讯网——每日最新资讯28at.com

<div class="flex">  <div class="item">1</div>  <div class="item">2</div>  <div class="item">3</div>  <div class="item">4</div></div>

简单修饰一下。XTT28资讯网——每日最新资讯28at.com

.flex{  display: flex;  width: 400px;  height: 300px;  outline: 1px dashed #9747FF;  align-content: center;}.item{  display: inline-flex;  width: 80px;  margin: 10px;  aspect-ratio: 1/1;  background: #FFE8A3;  color: #333;  font-size: 30px;  border-radius: 10px;  align-items: center;  justify-content: center;}

效果如下:XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

好像没生效?这是因为align-content针对的是多行,控制台其实已经有提示了。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

所以,这里需要加上换行属性。XTT28资讯网——每日最新资讯28at.com

.flex{  /**/  display: flex;  flex-wrap: wrap;  align-content: center;}

这样就生效了。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

有人可能会想到align-items:center,可能大部分情况我们都是用的这个属性来实现垂直居中,有什么区别呢?这里不妨来试试。XTT28资讯网——每日最新资讯28at.com

.flex{  /**/  display: flex;  flex-wrap: wrap;  /*align-content: center;*/  align-items:center}

效果如下:XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

好像看不出有什么是居中的?这是因为``align-items`针对的是单行的,我们让每个元素的高度不一致就能看出来了。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

为啥两行的间距这么大呢?这是因为align-content默认是stretch,会自动充满整个空间,如果设置成``align-content:end`就能看出效果了。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

简单总结一下:XTT28资讯网——每日最新资讯28at.com

  • align-items 设置每一行的对齐方式
  • align-content 设置多行整体的对齐方式

图片图片XTT28资讯网——每日最新资讯28at.com

具体的很多细节,网上有很多教程,大家可以自己去查阅,这里就不多介绍了。XTT28资讯网——每日最新资讯28at.com

二、普通块级元素的 align-content 的特性

这里说的块级元素其实指的是除inline元素之外的元素,大家可以在控制台查看。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

有了这个特性,垂直居中将变得异常简单,比如:XTT28资讯网——每日最新资讯28at.com

<div class="con">欢迎关注前端侦探</div>

设置align-content:center:XTT28资讯网——每日最新资讯28at.com

.con{  border-radius: 4px;  padding: 10px;  width: 100px;  height: 100px;  background: #FFD75A;  align-content: center;}

效果如下:XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

如果是多行块级文本:XTT28资讯网——每日最新资讯28at.com

<ol class="con">  <li>欢迎</li>  <li>关注</li></ol>

也能完美垂直居中。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

当然这些用flex布局也能实现,只是稍微麻烦一点。XTT28资讯网——每日最新资讯28at.com

三、textarea 也能实现垂直居中

最近在项目中碰到这样一个需求,需要在输入多行文本时,默认是居中的,超出后才正常滚动。XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

难点就在于垂直居中,因为textarea是可替换元素,即使设置 flex也无法实现内部文本垂直居中,现在有了align-content就好办了,如下:XTT28资讯网——每日最新资讯28at.com

textarea{  align-content: center;}

效果如下:XTT28资讯网——每日最新资讯28at.com

图片图片XTT28资讯网——每日最新资讯28at.com

以上所有 demo 可以查看以下链接(Chrome 123+):XTT28资讯网——每日最新资讯28at.com

  • CSS align-content (juejin.cn)[1]
  • CSS align-content (codepen.io)[2]

四、总结一下

一个比较不错的新特性,你学到了吗?下面总结一下:XTT28资讯网——每日最新资讯28at.com

  1. align-content 之前只在 flex 和 grid 容器中生效
  2. align-items 用于设置每一行的对齐方式
  3. align-content 用于设置多行整体的对齐方式
  4. 现在普通块级元素也支持 align-content 特性了,可以非常方便实现垂直居中效果
  5. align-content 还支持textarea文本输入垂直居中

参考资料:XTT28资讯网——每日最新资讯28at.com

[1]CSS align-content (juejin.cn): https://code.juejin.cn/pen/7360209107388727306XTT28资讯网——每日最新资讯28at.com

[2]CSS align-content (codepen.io): https://codepen.io/xboxyan/pen/gOyQqwZXTT28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-84590-0.htmlCSS align-content也能适用于普通容器了

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: React状态管理专题:什么是Redux

下一篇: Go 最大挑战、AI 方向、内部优先级?2024 H1 开发者报告发布

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 容量越大越不坏?24万块硬盘故障率报告公布 这些产品零故障

    8月5日消息,云存储服务商Backblaze发布了最新的硬盘故障率报告,年故障率有所上升。Backblaze发布的硬盘季度统计数据,其中包括故障率等重要方面。这些结
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的&ldquo;新电商三兄弟&rdquo;成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • AI芯片初创公司Tenstorrent获三星和现代1亿美元投资

    Tenstorrent是一家由芯片行业资深人士Jim Keller领导的加拿大初创公司,专注于开发人工智能芯片,该公司周三表示,已经从现代汽车集团和三星投资基金等
  • AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    光影交错的镜像世界,虚实幻化的视觉奇观,虚拟偶像与真人共同主持,这些场景都出现在2019世界人工智能大会的舞台上。8月29日至31日,“AI艺术欣赏体验会”在上海
Top