前段布局垂直水平居中常用方式
发布网友
发布时间:2022-09-14 13:10
我来回答
共1个回答
热心网友
时间:2024-07-31 02:05
在前端布局中居中方式可以说是家常便饭,几乎所有地方都需要用到他,我们常见的就是水平居中和垂直居中。
水平居中:水平居中就是为了让子元素在父元素中排列在水平中心位置,实现方式很多,我们看几种常用的。
1. 使用display:inline-block和text-align:center
display:inline-block;
text-align:center;
原理就是将子容器设置为行内块元素,然后给父容器设置让文字居中的属性以达到目的。
缺点就是里面文字都会居中,可单独设置样式来解决。
2. 使用position:absolute和transform
position:absolute;
transform: translateX(-50%);
原理就是先将子容器设置为相对定位,移动左侧距离为相对宽度的一半,这样会使整个容器的左侧在一半的线的位置,看起来靠右了,我们需要再通过向左移动子容器的一半来达到目的。
缺点就是transform属于css3内容,存在浏览器兼容问题。已知宽高时可以将transform换成margin-left设置为负的自身宽度一半达到相同的目的。
4. 使用flex和justify-content
display:flex;
justify-content:center;
原理就是通过css3布局属性flex将子容器转换为flex item情况,然后通过justify-content属性来达到居中。这种方式需要给父容器设置这两种属性。
缺点就是css3属性,有浏览器兼容问题。
垂直居中:垂直居中就是为了让子元素在父元素中排列在垂直中心位置,实现方式很多,我们看几种常用的。
1. 使用display:table-cell和vertical-align
display:table-cell;
vertical-align:middle;
原理就是通过将父容器转换为一个表格单元格来显示,再通过将表格单元格内容垂直居中。
使用时需要将两种属性都设置到父容器身上。
2. 使用position:absolute和transform
position:absolute;
transform: translateY(-50%);
原理类似于水平居中,就是先将子容器设置为相对定位,移动顶部距离为相对高度的一半,这样会使整个容器的顶部在一半的线的位置,看起来靠下了,我们需要再通过向上移动子容器的一半来达到目的。
缺点就是css3属性,有浏览器兼容问题。已知宽高情况时可以将transform换成margin-top设置为负的自身高度一半达到相同的目的。
3. 使用display:flex和align-items
display:flex;
align-items:center;
原理就是通过css3布局属性flex将子容器转换为flex item情况,然后通过align-items属性来达到居中。这种方式需要给父容器设置这两种属性。
缺点就是css3属性,有浏览器兼容问题。
水平垂直同时居中:
关于同时居中有了以上两种方式难道还怕出不来效果吗,只是需要稍稍结合一下即可,比如以下常见结合使用:
1. 使用position:absolute和margin(已知宽高)
position:absolute;
left:50%;
top:50%;
width:100px;
height:100px;
margin-left:-50px;
margin-top:-50px;
2. 使用position:absolute和transform(未知宽高)
position:absolute;
left:50%;
top:50%;
transform: translateX(-50%);
transform: translateY(-50%);
3. 使用position:absolute和margin(未知宽高)
position:absolute;
left:0;
top:0;
right:0;
bottom:0;
margin:auto;
4. 使用flex和justify-content和align-items属性(未知宽高)
display:flex;
justify-content:center;
align-items:center;
关于常见居中问题就说几种常用的,其它技巧小伙伴们可自行研究,相信还有很多奇怪的方式也可以达到效果。
前段布局垂直水平居中常用方式
在前端布局中居中方式可以说是家常便饭,几乎所有地方都需要用到他,我们常见的就是水平居中和垂直居中。水平居中:水平居中就是为了让子元素在父元素中排列在水平中心位置,实现方式很多,我们看几种常用的。1. 使用display:inline-block和text-align:center display:inline-block;text-align:center;原理...
CSS垂直居中的8种方法
通过verticle-align:middle实现CSS垂直居中。 通过vertical-align:middle实现CSS垂直居中是最常使用的方法,但是有一点需要格外注意,vertical生效的前提是元素的display:inline-block。通过display:flex实现CSS垂直居中。 随着越来越多浏览器兼容CSS中的flexbox特性,所以现在通过“display:flex”实现CSS水平居中的...
怎样让html中的文字垂直水平居中显示
接着在网页中预览文件,可以看到文字默认是左对齐。接着我们在div的样式里面写上“text-align: center; line-height: 200px;”,text-align: center;表示水平居中,line-height: 200px;表示垂直居中,line-height的属性要根据文字所在的标签的高度来设置,比如我的文字是在div里面,div是200px,就设置...
网页设计中让元素居中的方法
九、使用table-cell居中 使用 display: table-cell, 而不是使用table标签; 可以实现水平居中和垂直居中,但是这种方法需要添加额外的元素作为外部容器。 /*css*/ .center-aligned{ border:1px solid red; width: 200px; height: 200px; display: table; } .center-core{ display: table-cell; text...
img如何垂直居中显示img怎么垂直居中
水平和垂直居中图片的四种方法 第一种:相对定位边距:自动 divclass=Pic>img src=images/img.pngalt=”/>/div>alt= 。Pic{位置:相对;} .Picimg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;}。Picimg{位置:绝对;top:0;左:0;右:0;底部:0;边距:自动;} 第二:使用...
bootstrap栅格系统中如何实现垂直居中
不能居中的罪魁祸首是 col-sm-* 的 float: left 样式,因为对于 col-sm-* 而言,只要屏幕宽度不小于 @screen-sm-min 就不会折行,所以可以考虑不使用 float: left 而是用 display: table-cell 来实现对齐,这样就能比较好的解决居中问题了。不过问题是不支持这种 display 的浏览器就会出问题,你...
html怎么设置图片垂直居中显示
1.图片宽高固定,这种情况很简单。水平居中:就在图片的css中加dispaly:block;margin:0auto;垂直居中:自己算出(p的高度-图片的高度)/2,得到margin-top值即可。2.图片高度未知,这个布局比较难实现。一般我是用js做的。水平居中:同上,在图片的css中加dispaly:block;margin:0auto;垂直居中:用js...
css怎么让一个form标签水平垂直居中显示
在index.html中的标签中,输入css代码:body {text-align:center;},在标签中输入js代码:var a = ($(document).height() - $('form').height()) / 2;('form').css('margin-top', a + 'px');3、浏览器运行index.html页面,此时form标签成功在页面中水平垂直居中了。
CSS怎么样让背景图片水平(垂直)居中
属性设置背景图像的起始位置。你要水平居中可以:div{background-position:center center}//第一个center是水平居中,第二个center是上下居中 CSS(层叠样式表)级联样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
前端align是什么意思?
前端开发中的align指的是对齐方式。在网页设计中,常常需要对元素进行水平或者垂直对齐,这时就需要使用CSS中的align属性来实现。最常用的是text-align和vertical-align属性,前者用于文本的水平对齐,后者用于元素的垂直对齐。在开发过程中,熟练掌握这些对齐方式的使用,可以让网页布局更加美观和规整。text-...