整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML网页中的图形是如何对齐的?有什么方法可以使它们对齐?


许多方法可以将HTML元素与CSS对齐,但是一起使用或单独使用它们并不是那么容易。开发人员所面临的困难之一就是试图将元素集中在页面中间。

因此,在本文中,我将展示一些最常用的方法,即通过使用不同的CSS属性在水平和垂直方向上居中图像。

水平居中

让我们开始使用3个不同的CSS属性将图像水平居中。

文字对齐

使图像水平居中的第一种方法是使用text-align属性。但是,仅当图像位于块级容器(例如<div>)内时,此方法才有效:

Margin: Auto

使图像居中的另一种方法是使用margin:auto属性(用于左边距和右边距)。但是,单独使用margin:Auto将不适用于图像。如果需要使用margin:auto,则还必须使用2个其他属性。

margin-auto属性对内联级别的元素没有任何影响。由于<img>标签是一个内联元素,因此我们需要先将其转换为块级元素:

其次,我们还需要定义宽度。因此,左右边缘可以占用其余的空白空间并自动对齐,可以这样解决问题(除非我们给出100%的宽度):

Display: Flex

将图像水平居中的第三种方法是使用display:flex。同样,我们对容器使用text-align属性,它也会使用display:flex。但是,仅使用display:flex是不够的。容器还必须具有一个称为justify-content的附加属性。

justify-content属性与display:flex一起使用,我们可以使用它水平放置图像的中心。最后,图像的宽度必须小于容器的宽度,否则,它会占用100%的空间,然后我们就无法对其进行集中化。

垂直居中放置图像

1、Display: Flex

对于垂直对齐,使用display:flex确实很有帮助。考虑到我们的容器的高度为800px,但图像的高度仅为500px:

现在,在这种情况下,向容器中添加一行代码(align-items:center)就可以了:

如果将align-items属性与display:flex一起使用,就会将元素垂直放置。

2、位置:绝对和变换属性

垂直对齐的另一种方法是一起使用position和transform属性。这个有点复杂,所以让我们一步一步地做。

步骤1:定义绝对位置

首先,我们将图像的定位行为从静态更改为绝对:

同样,它应该位于相对放置的容器内,因此我们添加一个位置:相对于其容器的div。

步骤2:定义顶部和左侧属性

其次,我们定义图像的顶部和左侧属性,并设置为50%。这会将图像的起点(左上角)移到容器的中心:

步骤3:定义变换属性

在第二步的时候已经将图像的一部分移出容器。因此,我们需要将其取回内部。在图像上定义转换属性,并在其X和Y轴上添加负50%可以达到目的:

还可以使用其他方法进行水平和垂直居中,我这里只尝试了最常用的方法。希望这篇文章可以帮助你了解如何在页面中心对齐图像。

SS之文本对齐。

免费少儿编程开课了,同学们好!今天分享的知识是设置文本在区域中水平方向的对齐方式。用到的是 css 的 text 的align属性,这个属性的常用值有类似,左对齐,right 右对齐,center 居中对齐。

Justify两端对齐需要注意的是 text line和德瑞权文本方向有关系。如果德瑞权属性是 l tr则默认值为列;如果德瑞权属性是 rtl则默认值为 right。左中右对齐都很简单,一目了然。

但我们会注意到两端对齐这一行并没有达成我们想要的效果,所谓的两端对齐就是文本的第一个字对齐区域的左边界,文本的最后一个字对齐右边界,中间的文本平均分布在区域内。看看代码,确实设置了 text line 为这四个方案。

没有效果的原因是这个属性对最后一行不生效,解决方案是使用 text line last属性,先看看效果,ok,这就是两端对齐。现阶段学习到这里就可以了,但我需要提醒各位同学,text line last的兼容性是有问题的,特别是在苹果的 ios 系统中spare 不支持这个属性,这会导致安卓手机中显示正常,但苹果手机却显示错误。

为了解决这个问题,只需要让文本不是最后一行即可。看这段代码,v到了前面讲过的伪元素 after,在这里在文本后插入了一个内容,宽度是百分之一百,显示方式是内块,超出部分隐藏并设置了高为零。

我用 after用来创建一个伪元素添加一行内容并且将其隐藏。这样要显示的内容就不是最后一行了,这次阀就会生效再次回到浏览器刷新成功。

好了,今天的分享就到这里,所有的案例及相关文档均可向我获取,我们下期见。

想学编程,点点关注。

直居中

通用布局方式(内敛元素和块状元素都适用)

利用flex:

核心代码:

.container{
 display:flex;
 flex-direction:column;
 justify:center
}

利用transformX(-50%):

核心代码:

.container{
 width: 300px;
 height: 300px;
 background: red;
 position:relative;
 	}
.child{
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 			}

内敛元素的垂直居中


单行内敛元素:设置内敛元素的高度和行高相等

核心代码:

.container {
 height: 120px;
 line-height: 120px;
}

块状元素

固定元素高度的块状元素

核心代码

.container{
 position: relative;
}
.child{
 position: absolute;
 top: 50%;
 height: 100px;
 margin-top: -50px; 
}

未知高度的块状元素


当垂直居中的元素的高度和宽度未知时,我们可以借助CSS3中的transform属性向Y轴反向偏移50%的方法实现垂直居中。但是部分浏览器存在兼容性的问题。

核心代码:

.container {
 position: relative;
}
.child {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
}

水平居中

通用布局方式

flex布局


核心代码:

.container{
display: flex; 
 justify-content: center;
}
absoulte+transform

核心代码:

.container{
position:relative;
}
.child{
 position: absolute;
 left: 50%;
 transform: translateX(-50%);
}

内敛元素水平居中


text-align:center

核心代码:

.container{
text-align:center
}

块状元素水平居中

使用 margin:0 auto 必须注明子元素和父元素的宽度

核心代码:

.container{
margin:0 auto
}

多块状元素:

利用内敛元素布局方式container属性为text-align:center;

核心代码:

.container{
text-align: center;
}
.child{
display: inline-block;
}

水平垂直居中

固定宽高元素水平垂直居中

通过margin平移元素整体宽度的一半,使元素水平垂直居中。


核心代码:

.container {
 position: relative;
}
.child {
 width: 300px;
 height: 100px;
 padding: 20px;
 position: absolute;
 top: 50%;
 left: 50%;
 margin: -70px 0 0 -170px;
}
 

未知宽高元素水平垂直居中

利用2D变换,在水平和垂直两个方向都向反向平移宽高的一半,从而使元素水平垂直居中。

核心代码:

.parent {
 position: relative;
}
.child {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}

利用flex布局

利用flex布局,其中justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式;而align-items属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。

核心代码:

.container {
 display: flex;
 justify-content: center;
 align-items: center;
}

相对于 body 的水平垂直居中

列表布局(兼容性好)

核心代码:

.outer {
 display: table;
 position: absolute;
 height: 100%;
 width: 100%;
}
.middle {
 display: table-cell;
 vertical-align: middle;
}
.inner {
 margin-left: auto;
 margin-right: auto; 
 width: 400px;
}

position 布局

核心代码

.container{
	position: absolute;
	margin: auto;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	}

我是一名前端开发程序员,自己整理了一份2019最全面前端学习资料,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴

前端资料获取方式:

1.在你手机的右上角有【关注】选项,点击关注!

2.关注后,手机客户端点击我的主页面,右上角有私信,请私信回复:【学习】

电脑已经设置好了关键词自动回复,所以回复的时候请注意关键词哟~