做者: Ahmad Shadeed
译者:前端小智
来源:ishadeed
移动端阅读: https://mp.weixin.qq.com/s/kp...
点赞再看,养成习惯本文
GitHub
https://github.com/qq44924588... 上已经收录,更多往期高赞文章的分类,也整理了不少个人文档,和教程资料。欢迎Star和完善,你们面试能够参照考点复习,但愿咱们一块儿有点东西。css
你们都说简历没项目写,我就帮你们找了一个项目,还附赠【搭建教程】。前端
要使内联元素(如连接,span
或img
)居中,使用 text-align: center
足够了。git
<div class="desk"> <span class="plate"></span> </div>
.desk { text-align: center; }
对于多个内联元素,也可使用text-align:center
:github
<div class="desk"> <span class="plate"></span> <span class="plate"></span> </div>
.desk { text-align: center; }
使用 flexbox 也能够快速居中元素:面试
.desk { display: flex; justify-content: center; }
对于多个内联的项目,也能够正常工做:微信
使用网格容器时,图中的盘子将根据其网格区域居中。 请注意,除非将它们包裹在一个元素中,不然这将不适用于多个盘子。工具
.desk { display: grid; justify-content: center; }
宽度和高度已知的块元素能够经过设置margin-left:auto
和 margin-right:auto
居中元素。flex
.plate { width: 120px; height: 120px; margin-left: auto; margin-right: auto; }
对于多个块元素,它们应该包装在一个元素中,而后让这个父元素居中。flexbox
.tray { display: flex; margin-left: auto; margin-right: auto; }
对于 flexbox 一样也是使用 justify-content:cente
r 来居中元素:spa
.desk { display: flex; justify-content: center; }
对于多个元素,咱们不须要将它们包裹在一个元素中,flexbox 能够将它们都居中。
经过绝对定位,咱们能够轻松地经过CSS transform
将其水平居中。
.plate { position: absolute; left: 50%; transform: translateX(-50%); }
在已知元素宽度的状况下,可使用负边距代替CSS transform。
.plate { position: absolute; left: 50%; margin-left: -60px; }
垂直居中元素最简单的方法之一是使用padding
:
padding-top: 24px; padding-bottom: 24px; }
vertical-align
属性可用于一个或多个元素。
在此示例中,叉子和刀子应与桌子垂直居中。
.desk { text-align: center; } .plate, .fork, .knife { vertical-align: middle; }
为了对齐盘子,叉子和刀,咱们可使用 flexbox:
.desk { display: flex; justify-content: center; align-items: center; }
经过绝对定位元素,可使用 CSS transform
将元素垂直居中:
.plate { position: absolute; top: 50%; transform: translateY(-50%); }
若是知道元素高度,则可使用负边距代替transform
。
.plate { position: absolute; top: 50%; margin-top: -60px; }
使用CSS网格,咱们可使用align-items
将项目垂直于其网格区域居中。
.desk { display: grid; align-items: center; }
.plate { text-align: center; padding-top: 24px; padding-bottom: 24px; }
.plate { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
经过 justify-content:center
和 align-items:center
就能够将元素垂直水平居中:
.plate { display: flex; justify-content: center; align-items: center; }
经过place-items
属性就能够经过,它结合了justify-content
和align-items
:
.desk { display: grid; place-items: center; }
代码部署后可能存在的BUG无法实时知道,过后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给你们推荐一个好用的BUG监控工具 Fundebug。
原文:https://ishadeed.com/article/...
文章每周持续更新,能够微信搜索「 大迁世界 」第一时间阅读和催更(比博客早一到两篇哟),本文 GitHub https://github.com/qq449245884/xiaozhi 已经收录,整理了不少个人文档,欢迎Star和完善,你们面试能够参照考点复习,另外关注公众号,后台回复福利,便可看到福利,你懂的。