方法:1、利用flex布局,将ustify-content和align-items属性都设置为center来实现居中;2、利用transform和position属性来实现居中;3、使用table-cell,利用table的单元格居中效果。
本教程操作环境:Windows7系统、css3版本,该方法适用于所有品牌电脑。
推荐:《css视频教程》
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视频教程!!
以上就是css怎么实现不定宽水平居中的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2881989.html