css宽高不固定如何实现居中
程序员文章站
2022-03-15 15:49:01
...
css宽高不固定实现居中的方法:1、利用flex进行布局实现居中;2、使用css3中transform进行元素偏移;3、利用table-cell实现居中即可。
本教程操作环境:windows7系统、css3版,该方法适用于所有品牌电脑。
推荐:《css视频教程》
css宽高不固定如何实现居中?
方法1:利用flex进行布局
大家的第一反应,可能就是 flex 了。因为它的写法够简单直观,兼容性也没什么问题。是手机端居中方式的首选。
<div class="wrapper flex-center"> <p>horizontal and vertical</p> </div> .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:使用position+transform
主要使用了css3中transform进行元素偏移,效果非常好
这方法功能很强大,也比较灵活,不仅仅局限在实现居中显示。 兼容方面也一样拿IE来做比较,第二种方法IE8以上都能使用。 IE8及IE8以下都会出现问题。
<body> <div id="box"> <div id="content">div被其中的内容撑起宽高</div> </div> </body> body,html { margin:0; width:100%; height:100%; } #box { width:100%; height:100%; background:rgba(0,0,0,0.7); position:relative; } #content{ position:absolute; background:pink; left:50%; top:50%; transform:translateX(-50%) translateY(-50%); -webkit-transform:translateX(-50%) translateY(-50%); }
方法3:利用table-cell
利用 table 的单元格居中效果展示。与 flex 一样,需要写在父级元素上。
<div class="wrapper"> <p>horizontal and vertical</p> </div> .wrapper { width: 300px; height: 300px; border: 1px solid #ccc; display: table-cell; text-align: center; vertical-align: middle; }
以上就是css宽高不固定如何实现居中的详细内容,更多请关注其它相关文章!
推荐阅读
-
css实现div不定宽高垂直水平居中解决方案
-
【请教】如何实现横向布局时图片A居中宽度固定,左右两侧由不同的图片B、C填充为背景_html/css_WEB-ITnose
-
div+css实现未知宽高元素垂直水平居中_html/css_WEB-ITnose
-
div+css实现未知宽高元素垂直水平居中_html/css_WEB-ITnose
-
【请教】如何实现横向布局时图片A居中宽度固定,左右两侧由不同的图片B、C填充为背景_html/css_WEB-ITnose
-
如何通过css的绝对定位和固定定位来实现HTML元素的居中?
-
纯CSS实现图片水平垂直居中于DIV(图片未知宽高)
-
详解CSS在固定宽高的div内实现垂直居中的实例分享
-
css不固定宽高垂直居中的实现代码
-
css不固定宽高垂直居中的实现代码