HTML中经常用到的对齐,居中方式

Wesley13
• 阅读 746

在编写一片网页时,我们经常需要使一些文本或者图片,盒子居中!但是在众多的写法里,那些才能使我们的目的最快,最有效的达到呢!

居中也是有轴线之分的,水平轴,垂直于水平轴的轴,交叉轴。

1盒子居中 margin:auto; 通常在这此行只有一个盒子的情况下使用[需要定宽-常规流和浮动不用]

2文本居中 

   定义水平轴线对齐方式

flex-start 项目位于在主轴起点
flex-end 项目位于主轴终点
center 项目在中间
space-between 两端对齐,项目之间的间隔都相等(开头和最后与父元素没有间隔)
space-around 项目之间间隔相等,与父元素的边距是间隔的一半
space-evenly 项目与父元素的间距是一样的

    定义属性在交叉轴如何对齐 align-items

align-items:flex-start 交叉轴起点对齐
align-items:flex-end 交叉轴终点对齐
align-items:center 交叉轴中点对齐
align-items:baseline 项目第一行文字基线对齐
align-items:stretch 项目未设置高度或者设置为auto,将占满整个容器高度

    定义多根轴线对齐方式 align-content_多行的时候用_

align-content:flex-start 交叉轴起点对齐
align-content:flex-end 交叉轴终点对齐
align-content:center 交叉轴中点对齐
align-content:space-around 间距相等;轴之间的间距比边框间距大一倍
align-content:space-between 交叉轴两端对齐,轴间距平均分布

水平居中
定宽 margin:auto (常规流和弹性项目【不用定宽】)
弹性盒设置justify-content:center 让弹性项目在主轴上居中
父元素设置text-align:center 让内部行盒和块盒居中
相对定位元素 margin-left:50%; transform:translateX(-50%) margin是项目的宽度【终极】
垂直居中
单行文本垂直居中 line-height 为项目的高度
弹性盒 align-items:center 让项目在垂直轴居中
相对定位元素 top:50%;transform:translateY(-50%)【终极】
相对定位元素垂直居中
left:50%;top:50%;transform:translate(-50%,-50%)

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
LinMeng LinMeng
3年前
css之元素居中
行内元素居中文本垂直居中单行文本垂直居中设置lineheight与盒子高度一样就行这里有一个误区,我经常在设置单行文本居中的时候,会习惯性的设置height属性与linheight属性一样,其实完全没必要,只设置lineheight就行,这时候盒子的高度由lineheight撑起来,与height完全相同。多行文本垂直居中1.ve
Nick16 Nick16
3年前
前端面试题全覆盖整理
本篇文章整理总结了一些前端面试题,涵盖面很广,并且面的都是知名大厂,所以这些题还是很有代表性的,都掌握以后一面基础面应该没什么问题,二面也能应付大半,奉上:css相关1.万能居中1.margin:0auto;水平2.textalign:center;水平3.行高,垂直4.表格
Wesley13 Wesley13
2年前
CSS 小技巧
1、文字变模糊处理:{      cursor: none!important;  }p {      color: transparent;      textshadow: 111 0 0 5px;  }    2、DIV上下左右居中/ 上下居中 
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
2年前
CSS 布局 ,文档流,定位,中划线,表格属性,line
CSS知识汇总verticalalign:top|middle|bottom//用于图片时,(如文字)其他元素相对于图片的上,中,下对齐divlineheight:200px;//设置lineheight的高度和div的高度一样,则div里的文字10Px上下居中对齐divheight:200px;divfontsiz
Stella981 Stella981
2年前
Flutter布局4
Row简介mainAxisAlignment:主轴布局方式,row主轴方向是水平方向crossAxisAlignment:交叉轴的布局方式,对于row来说就是垂直方向的布局方式
Wesley13 Wesley13
2年前
LODOP打印项水平居中
LODOP控制打印项水平居中,可以用如下语句,该语句控制的是打印项本身在纸张中水平居中。LODOP.SET\_PRINT\_STYLEA(0,"Horient",2);这个根据大的打印项本身的宽度,如果打印项本身内部不是居中的,那么加了这句,内容也不会居中。之前有博文介绍过打印项在纸张中受到的各种边距:LODOOP中的各种边距打印项
Wesley13 Wesley13
2年前
Flex PopUpManager 弹出窗口居中
今天看到窗口居中弹出,我便想到了Alert,既然Alert每次都能居中弹出,为什么我们自定义的窗口不能居中弹出呢,所以,我查看了下Alert的show方法,放到我的代码中,果然也能居中弹出了,不论布局是如何设计的,下面是主要代码://自定义弹出的窗口大小vartitle:TitleWindownewTitleWindow();
Wesley13 Wesley13
2年前
LODOP打印图片水平居中
其他居中,查看本博客相关博文:LODOP中打印项水平居中简短问答(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fhuaxie%2Fp%2F11988181.html)、图片也属于超文本打印项,因此如果想把图片居中,也需要图片本身内容相对于图片打