这篇文章将为大家详细讲解有关css实现不定宽水平居中的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联专业为企业提供昆都仑网站建设、昆都仑做网站、昆都仑网站设计、昆都仑网站制作等企业网站建设、网页设计与制作、昆都仑企业网站模板建站服务,十余年昆都仑做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
方法:1、利用flex布局,将ustify-content和align-items属性都设置为center来实现居中;2、利用transform和position属性来实现居中;3、使用table-cell,利用table的单元格居中效果。
css实现不定宽水平居中
方法1:利用flex
大家的第一反应,可能就是 flex 了。因为它的写法够简单直观,兼容性也没什么问题。是手机端居中方式的首选。
horizontal and vertical
.wrapper { width: 300px; height: 300px; border: 1px solid #ccc; } .flex-center { display: flex; justify-content: center; align-items: center; }
利用到了 2 个关键属性:justify-content 和 align-items,都设置为 center,即可实现居中。
需要注意的是,一定要把这里的 flex-center 挂在父级元素,才能使得其中 唯一的 子元素居中。
方法2:利用transform + position
这个组合,常用于图片的居中显示。
.wrapper { width: 300px; height: 300px; border: 1px solid #ccc; position: relative; } .wrapper > img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
当然,也可以将父元素 wrapper 的相对定位,移入子元素 img 中,替换掉绝对定位。效果是一样的。
方法3:table-cell
利用 table 的单元格居中效果展示。与 flex 一样,需要写在父级元素上。
horizontal and vertical
.wrapper { width: 300px; height: 300px; border: 1px solid #ccc; display: table-cell; text-align: center; vertical-align: middle; }
方法4:grid
像表格一样,网格布局让我们能够按行或列来对齐元素。 然而在布局上,网格比表格更可能做到或更简单。
horizontal and vertical
.wrapper { width: 300px; height: 300px; border: 1px solid #ccc; display: grid; } .wrapper > p { align-self: center; justify-self: center; }
但它在兼容性上不如 flex,特别是 IE 浏览器,只支持 IE10 及以上。
关于css实现不定宽水平居中的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。