首页 前端知识 14种CSS实现水平或垂直居中的技巧,快来收藏

14种CSS实现水平或垂直居中的技巧,快来收藏

2024-04-23 21:04:30 前端知识 前端哥 505 72 我要收藏

8、absolute + translate


原理:利用绝对定位时的top 与right设置元素的上方跟左方各为50%,再利用transform: translate(-50%, -50%);位移居中元素自身宽与高的50%就能达成居中的目的了。

缺陷:translate是css3属性,低版本浏览器不支持。

显著优势:无需固定定位元素的宽高。

css:

.example8 { position: relative; margin-top: 10px; width: 400px; height: 150px; font-size: 0; border: 1px solid #dcdcdc;}.example8 .con { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 15px; background: #afddf3;}

9、Flex + align-items


适用情景:多行文字(垂直居中)

原理:弹性布局,align-items定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式,参考CSS-TRICKS。

缺陷:css3属性,低版本浏览器不支持。

显著优势:无需固定定位元素的宽高,代码干净利索。

css:

.example9 {

display: flex;

align-items: center;

margin-top: 10px;

width: 400px;

height: 150px;

font-size: 0;

border: 1px solid #dcdcdc;

}

.example9 .con {

font-size: 15px;

background: #afddf3;

}

10、Flex + justify-content


适用情景:多行文字(水平居中)

原理:弹性布局,justify-content设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式,参考CSS-TRICKS。

缺陷:css3属性,低版本浏览器不支持。

显著优势:无需固定定位元素的宽高,代码干净利索。

css:

.example10 { display: flex; justify-content: center; margin-top: 10px; width: 400px; height: 150px; font-size: 0; border: 1px solid #dcdcdc;}.example .con { height: 80px; font-size: 15px; background: #afddf3;}

11、Flex + :before + flex-grow


适用情景:多行文字(垂直居中)

原理:弹性布局,Flex-direction:column;将项目垂直显示,正如一个列一样。flex-grow: [number];规定项目将相对于其他灵活的项目进行扩展的量,参考CSS-TRICKS。

缺陷:css3属性,低版本浏览器不支持,并且难度稍大,一般不会想到这种方法。

显著优势:无需固定定位元素的宽高

css:

.example11 { display: flex; flex-direction: column; margin-top: 10px; width: 400px; height: 150px; font-size: 0; border: 1px solid #dcdcdc;}.example11:before { content: ‘’; flex-grow: .5;}.example11 .con { font-size: 15px; background: #afddf3;}

12、Flex + margin


缺陷:css3属性,低版本浏览器不支持。

css:

.example12 { display: flex; margin-top: 10px; width: 400px; height: 150px; font-size: 0; border: 1px solid #dcdcdc;}.example12 .con { margin: auto; width: 300px; font-size: 15px; background: #afddf3;}

13、Flex + align-self

原理:align-self定义flex子项单独在侧轴(纵轴)方向上的对齐方式。

缺陷:css3属性,低版本浏览器不支持。

css:

.example13 { display: flex; justify-content: center; margin-top: 10px; width: 400px; height: 150px; font-size: 0; border: 1px solid #dcdcdc;}.example13 .con { align-self: center; width: 300px; font-size: 15px; background: #afddf3;}

14、Flex + align-content


原理:align-content在弹性容器内的各项没有占用交叉轴上所有可用的空间时对齐容器内的各项(垂直),弹性项目有多项此属性才会发挥作用。

缺陷:css3属性,低版本浏览器不支持。

css:

.example14 {

display: flex;

align-content: center;

flex-wrap: wrap;

margin-top: 10px;

width: 400px;

height: 150px;

font-size: 0;

border: 1px solid #dcdcdc;

}

.example14:before, .example14:after {

content: “”;

display: block;

width: 100%;

}

.example14 .con {

height: 80px;

width: 300px;

font-size: 15px;

background: #afddf3;

}

下面是一个比较常见的例子,往往是不想让图片发生变形并且不管尺寸大小均会显示在容器的正中央(以下例子应用的是第8条)。

html:

css:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

img
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024c 备注前端获取(资料价值较高,非无偿)
img

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

html5

例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

html5

转载请注明出处或者链接地址:https://www.qianduange.cn//article/5792.html
标签
评论
发布的文章

JavaScript-jQuery1-笔记

2024-04-30 11:04:12

【Jquery简易图床源码】

2024-04-30 11:04:08

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!