实际工作中,经常会遇到容器居中问题,而CSS容器水平和垂直居中的方法,网络上已经有很多相关文章,在这里,我也对工作中用到的一些居中方法进行了总结,并加入了一些自己的观点,如有错误欢迎指正。
假设有如下html和样式,我们需要将inner容器居中:
效果如下:
此外,这种写法的:
margin-left和margin-top也可以换成transform:translate(-100px,-100px)。
注:这里的inner是必须要有宽高
效果如下:
注:这里的inner是必须要有宽高的,因为四个方向都为0,一旦不写宽度,inner就会“触及底线”。
注:1、outer由于变成了表格,不再像普通的块容器宽度默认一整行,所以要加上宽度。
2、这个方法既适用于固定高度的容器,也适用于不固定高度的容器。
注:此方法非常好用,当然不考虑兼容性。而且,inner无论是否有宽高都适用。
注:此方法非常好用,当然不考虑兼容性。而且,inner无论是否有宽高都适用。
好东西就要总结起来,好东西就要收藏起来,随着浏览器兼容性越来越好,上面的很多方法已经可以放心使用了。当然,如果各位有更好的方法,欢迎在下方评论留言哦!
许多方法可以将HTML元素与CSS对齐,但是一起使用或单独使用它们并不是那么容易。开发人员所面临的困难之一就是试图将元素集中在页面中间。
因此,在本文中,我将展示一些最常用的方法,即通过使用不同的CSS属性在水平和垂直方向上居中图像。
让我们开始使用3个不同的CSS属性将图像水平居中。
使图像水平居中的第一种方法是使用text-align属性。但是,仅当图像位于块级容器(例如<div>)内时,此方法才有效:
使图像居中的另一种方法是使用margin:auto属性(用于左边距和右边距)。但是,单独使用margin:Auto将不适用于图像。如果需要使用margin:auto,则还必须使用2个其他属性。
margin-auto属性对内联级别的元素没有任何影响。由于<img>标签是一个内联元素,因此我们需要先将其转换为块级元素:
其次,我们还需要定义宽度。因此,左右边缘可以占用其余的空白空间并自动对齐,可以这样解决问题(除非我们给出100%的宽度):
将图像水平居中的第三种方法是使用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%可以达到目的:
还可以使用其他方法进行水平和垂直居中,我这里只尝试了最常用的方法。希望这篇文章可以帮助你了解如何在页面中心对齐图像。
CSS和HTML结合布局页面的过程中,有一组被人们称为“盒属性”的CSS样式,被广泛的使用到。相信经常布局写页面的朋友们对盒属性一定不陌生。在CSS技术的发展过程中,盒属性也有了许多次改进,今天小海老师就为大家讲一讲盒属性中的CSS样式如何使用。
承接文章:通栏导航栏的制作,综合使用CSS属性,代码不超过30行
技术等级:初级 | 适合前端开发的初学者阅读学习。
希望收藏了这篇文章的你同时也可以关注一下“小海前端”的头条号,因为这些文章都是连载的,并且是经过系统的归纳和总结的。塌下心来认真阅读,你一定会学到对你有用的知识。
盒属性主要涉及到三类CSS属性:
padding
margin
border
一、CSS中的盒概念:
CSS技术将HTML中所有的元素都认为是一个“盒子”,并把这个“盒子”分为了三个组成部分,这三个组成部分分别叫做“填充”、“边界”、“边框”。顾名思义,盒子的主要功能就是盛放东西,CSS的意思是将各个HTML标记对看做了容器,而标记对内部存放的文本、图片、列表、表格、表单等都被看做了容器所盛放的内容。
一个装有地球的盒子
CSS技术为盒子的三个组成部分下了明确的定义:
填充:指盒子边框与盒子内容之间的距离。
边界:指盒子与盒子之间的距离。
边框:指填充与边界之间的部分。
CSS的盒模型
盒子的三个组成部分中,“填充”和“边界”只提供了相关的距离属性,而“边框”提供了相关的距离属性、颜色属性和样式属性。
二、调整盒子的填充距离:
CSS技术利用padding系列属性来调整盒子的填充距离。
CSS技术利用padding系列属性来调整盒子的填充距离
padding属性的取值为四个数值,按照“上、右、底、左”的顺序排列书写,之间用空格隔开。
padding属性的使用格式:
padding:top right bottom left;
padding属性的取值:
带有单位的长度值。
auto
百分比
padding属性还派生出下列四个子属性,用于调整四个方向上单独的填充距离:
padding-top,设置盒子顶部填充的距离。
padding-right,设置盒子右侧填充的距离。
padding-bottom,设置盒子底部填充的距离。
padding-left,设置盒子左侧填充的距离。
注意:盒子的填充具备了数值后,为了保证盒子的大小不发生变化,必须修改盒子的宽度和高度。
盒子的实际高度=盒子的期望高度-盒子的顶部填充距离-盒子的底部填充距离
盒子的实际宽度=盒子的期望宽度-盒子的左侧填充距离-盒子的右侧填充距离
例如:希望创建一个宽度为500,高度为300的盒子。同时顶部填充距离为10像素,左侧填充距离为20像素,右侧和底部填充均不设置,则padding属性取值如下:
padding:10px 0 0 20px;
因此,计算盒子的实际宽高:
盒子的实际高度=300px-10px-0px=290px
盒子的实际宽度=500px-20px-0px=480px
所以,该盒子的CSS代码应设置为如下所示:
width:480px; height:290px;
padding:10px 0 0 20px;
当然,有开发经验的人一定知道,CSS3技术提供了一个名为box-sizing的属性,避免了这类填充相减的复杂操作。在后续的文章中,我会为大家全面介绍CSS3技术的使用。
三、调整盒子的边界距离:
CSS技术利用margin系列属性来调整盒子的边界距离。
CSS技术利用margin系列属性来调整盒子的边界距离
margin属性的取值为四个数值,按照“上、右、底、左”的顺序排列书写,之间用空格隔开。
margin属性的使用格式:
margin:top right bottom left;
margin属性的取值:
带有单位的长度值(可以取负值)。
auto
百分比
margin属性还派生出下列四个子属性,用于调整四个方向上单独的边界距离:
margin-top,设置盒子顶部边界的距离。
margin-right,设置盒子右侧边界的距离。
margin-bottom,设置盒子底部边界的距离。
margin-left,设置盒子左侧边界的距离。
四、调整盒子的边框
CSS技术利用border系列属性来调整盒子的边框。
CSS技术利用border系列属性来调整盒子的边框
1、调整盒子边框的粗细:
border-top-width,设置盒子顶部边框的粗细。
border-right-width,设置盒子右侧边框的粗细。
border-bottom-width,设置盒子底部边框的粗细。
border-left-width,设置盒子左侧边框的粗细。
border-width,设置盒子四个方向边框的粗细。
border-width属性的使用格式:
border-width:top right bottom left;
2、调整盒子边框的颜色:
border-top-color,设置盒子顶部边框的颜色。
border-right-color,设置盒子右侧边框的颜色。
border-bottom-color,设置盒子底部边框的颜色。
border-left-color,设置盒子左侧边框的颜色。
border-color,设置盒子四个方向边框的颜色。
border-color属性的使用格式:
border-color:top right bottom left;
3、调整盒子边框的样式:
border-top-style,设置盒子顶部边框的样式。
border-right-style,设置盒子右侧边框的样式。
border-bottom-style,设置盒子底部边框的样式。
border-left-style,设置盒子左侧边框的样式。
border-style,设置盒子四个方向边框的样式。
border-style属性的使用格式:
border-style:top right bottom left;
border-style属性有如下所示的取值:
none,盒子无边框。
solid,盒子边框为实线。
dashed,盒子边框为虚线。
dotted,盒子边框为点边框。
double,盒子边框为双实线边框。
groove,盒子边框为沟槽状。
ridge,盒子边框为脊状。
inset,盒子边框为凹陷状。
outset,盒子边框为凸出状。
4、设置盒子一个位置的边框效果:
CSS还提供了可以设置盒子单个位置边框效果的属性。
border-top,设置盒子顶部边框的效果。
border-right,设置盒子右侧边框的效果。
border-bottom,设置盒子底部边框的效果。
border-left,设置盒子左侧边框的效果。
使用格式:
border-top:style width color;
例如:border-top:solid 1px #ff0000;
5、设置盒子所有边框具有相同的效果:
CSS技术还提供了可以调整盒子所有边框都具有相同外观的属性。
border,设置盒子四个方向所具备边框外观效果。
使用格式:
border:style width color;
例如:border:solid 1px #ff0000;
如果大家希望得到更加全面的关于HTML和CSS技术讲解的内容,可以私信我,我会免费将小海老师自己编写的HTML和CSS的PDF教材发给你,帮助你在前端开发的道路上阔步前行。
在头条上发表的这些文章都是从前端开发的基础开始一步一步讲起的。我非常希望能有更多的前端开发初学者通过我写的文章,逐步学到一定的知识,甚至慢慢有了入门的感觉。这些文章都是我这几年教学过程中的经验,每写一篇时我都尽量把握好措辞,用简单易懂的语言描述,同时精心设计版面,让版面更加丰富,激发阅读兴趣。所以,每一篇文章可能篇幅不长,但是都要耗费小海老师很久的时间。
希望收藏了这篇文章的你同时也可以关注一下“小海前端”的头条号,因为这些文章都是连载的,并且是经过系统的归纳和总结的。塌下心来认真阅读,你一定会学到对你有用的知识。
关注“小海前端”,我会继续为大家奉上更加深入的前端开发文章,也希望更多的初学者跟着学下去,我们共同将前端开发的路努力坚持的走下去。
由于篇幅问题,本篇文章只为大家介绍了盒属性都有哪些,以及基本的使用格式。在下一篇文章中,小海老师会为大家讲解盒属性的使用技巧已经一些常见的应用领域。希望对大家的工作能够提供帮助。
*请认真填写需求信息,我们会在24小时内与您取得联系。