最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

css垂直居中的整理总结

来源:动视网 责编:小采 时间:2020-11-27 18:53:03
文档

css垂直居中的整理总结

css垂直居中的整理总结:前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!垂直居中用到的地方有很多,解决的方法也有很多。已知元素宽度 可以用position定位 + margin负值的方法绝对定位 + 4个方向全部0px + margin:auto
推荐度:
导读css垂直居中的整理总结:前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!垂直居中用到的地方有很多,解决的方法也有很多。已知元素宽度 可以用position定位 + margin负值的方法绝对定位 + 4个方向全部0px + margin:auto


前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!

垂直居中用到的地方有很多,解决的方法也有很多。

已知元素宽度 可以用position定位 + margin负值的方法

绝对定位 + 4个方向全部0px + margin:auto 可以做到基于父容器水平垂居中;如果只需要垂直居中,那可以把left和right删掉,并且水平居中的方法也很多
绝对定位 + 左50% + margin左:宽度一半的负值 可以做到水平居中 右也可以
绝对定位 + 上50% + margin上:高度一半的负值 可以做到垂直居中 底部也可以

<!DOCTYPE html><html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 *{
 padding: 0;
 margin: 0;
 }
 .wrapper{
 width: 500px;
 height: 500px;
 background: #f90;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 position: absolute;
 margin: auto;
 /*绝对定位 + 4个方向全部0px + margin:auto 可以做到基于父容器水平垂居中*/
 /*如果只需要垂直居中,那可以把left和right删掉,并且水平居中的方法也很多*/
 }
 .content{
 width: 100px;
 height: 200px;
 background: #0f8;
 position: absolute;
 /*position: absolute基于第一个不是position:static的父级元素定位*/
 left: 50%;
 top: 50%;
 margin-left: -50px;
 margin-top: -100px;
 /*绝对定位 + 左50% + margin左:宽度一半的负值 可以做到水平居中 右也可以*/
 /*绝对定位 + 上50% + margin上:高度一半的负值 可以做到垂直居中 底部也可以*/
 }
 </style>
 </head>
 <body>
 <p class="wrapper">
 <span class="content"></span>
 </p>
 </body></html>

View Code

未知元素宽度 可以用position定位 + transform:translate(x,y)移动
绝对定位 + 上50% + 下50% + transform:translate(-50%,-50%) 可以做到垂直居中

<!DOCTYPE html><html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 *{
 padding: 0;
 margin: 0;
 }
 .wrapper{
 width: 500px;
 height: 500px;
 background: #f90;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 position: absolute;
 margin: auto;
 /*绝对定位 + 4个方向全部0px + margin:auto 可以做到基于父容器水平垂居中*/
 /*如果只需要垂直居中,那可以把left和right删掉,并且水平居中的方法也很多*/
 }
 .content{
 width: 100px;
 height: 200px;
 background: #0f8;
 position: absolute;
 /*position: absolute基于第一个不是position:static的父级元素定位*/
 left: 50%;
 top: 50%;
 transform: translate(-50%,-50%);
 /*transform变化、使...变形、转换;transform属性应用于元素的2D或3D转换。这个属性允许你将元素移动,旋转,缩放,倾斜*/
 /*translate平移,是transform的属性值的一部分*/
 /*transition过渡、转变;可多个样式的变换效果*/
 }
 </style>
 </head>
 <body>
 <p class="wrapper">
 <span class="content"></span>
 </p>
 </body></html>

p中img图片垂直居中:

可以用vertical-align:middle,但是这个属性只有在inline-block类型(inline也有影响)的元素身上起作用,vertical-align的理解我得继续学习下,也欢迎大家指正


方法一:图片vertical-align:middle + 父元素的height与line-height一致

<!DOCTYPE html><html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 *{
 padding: 0;margin: 0;
 }
 .wrapper{
 height: 300px;
 line-height: 300px;
 width: 300px;
 margin:100px auto;
 background: #f90;
 text-align: center;
 }
 .wrapper img{
 width: 150px;
 vertical-align: middle;
 }
 </style>
 </head>
 <body>
 <p class="wrapper">
 <img src="images/1.jpg" alt="美女" title="美女"/>
 </p>
 </body></html>

View Code

方法二:父元素设置display:table-cell和vertical-align

<!DOCTYPE html><html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 *{
 padding: 0;margin: 0;
 }
 .wrapper{
 width: 300px;
 height: 300px;
 background: #f90;
 text-align: center;
 vertical-align: middle;
 display: table-cell;
 }
 .wrapper img{
 width: 150px;
 }
 </style>
 </head>
 <body>
 <p class="wrapper">
 <img src="images/1.jpg" alt="美女" title="美女"/>
 </p>
 </body></html>

更多css垂直居中的整理总结相关文章请关注PHP中文网!

文档

css垂直居中的整理总结

css垂直居中的整理总结:前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!垂直居中用到的地方有很多,解决的方法也有很多。已知元素宽度 可以用position定位 + margin负值的方法绝对定位 + 4个方向全部0px + margin:auto
推荐度:
标签: css 总结 垂直居中
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top