CSS居中对齐
CSS实现居中对齐的几种方式
页面布局中,居中对齐是我们经常遇到的场景,现在总结几个常用的方式供大家参考。
场景一:按钮文字居中对齐,line-height + text-align
html代码:
<div class="btn">Hello World</div>
CSS代码:
.btn{
width: 120px;
height: 48px;
border: none;
background: #f8f8f8;
color: #333;
/* 文本水平居中 */
text-align: center;
/* 文本垂直居中 */
ling-height: 48px;
}
效果如图所示:

场景二:父元素内部的子元素居中对齐,子元素设置position定位来实现
方式1:position+top/left定位实现
HTML代码:
<div class="father">
<div class="son"></div>
</div>
CSS代码:
.father {
width: 400px;
height: 400px;
margin: 0 auto;
margin-top: 100px;
background: lightblue;
/*子元素定位可以是相对定位,也可以是绝对定位,所以父元素最好做定位限制。*/
position: relative;
}
.son {
width: 100px;
height: 100px;
border: none;
background: #1c3beb;
/* 居中代码,定位可以是相对定位,也可以为绝对定位 */
position: relative;
top: calc(50% - 50px);
left: calc(50% - 50px);
}
方式2:position+top/left+transform来实现居中
上面的子元素的偏移量计算,也可以由CSS3中的新属性transform来实现:
.son {
width: 100px;
height: 100px;
border: none;
background: #1c3beb;
/* 居中代码,定位可以是相对定位,也可以为绝对定位 */
position: absolute;
top: 50%;
left: 50%;
/*百分比是相对于自身宽高的偏移量计算*/
transform: translate(-50%, -50%);
}
方式3:position+margin来实现居中
上面的子元素也可以利用绝对定位元素的流体特性和margin:auto的自动分配特性来实现居中:
.father {
width: 400px;
height: 400px;
margin: 0 auto;
margin-top: 100px;
background: lightblue;
position: relative;
}
.son {
width: 100px;
height: 100px;
border: none;
background: #1c3beb;
/* 居中代码,定位为绝对定位 */
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
方式4:弹性布局实现居中
.father {
width: 400px;
height: 400px;
margin: 0 auto;
margin-top: 100px;
background: lightblue;
/*启用弹性布局,主轴与交叉轴都采用居中对齐*/
display: flex;
justify-content: center;
align-items: center;
}
.son {
width: 100px;
height: 100px;
border: none;
background: #1c3beb;
}
以上几种对齐效果都一样,但是考虑到兼容性等问题,推荐方式3。以上几种方式的对齐效果如下:

CSS居中对齐的更多相关文章
- CSS居中对齐终极指南
本文首发于我的公众号:前端新世界 欢迎关注 本文将讨论可用于居中对齐元素的6种CSS技术(按照最佳实践排序),以及每一种技术最适合应用的场景.这里,居中对齐指的是将元素放置在其父元素的水平和垂直中心. ...
- 利用CSS实现居中对齐
1. 文本居中 首先编写一个简单的html代码,设置一个类名为parentDiv的div对象.html代码如下: <div class="parentDiv"> 这里随 ...
- CSS 图像居中对齐
CSS 图像居中对齐 我们在<CSS 内外边距>学过内容居中,它的原理是将外边左右设置为auto.图像居中也是这个原理. 示例 <!DOCTYPE html> <htm ...
- 【css对齐】块内或者行内图片与文字居中对齐最靠谱的方式!
块内或者行内图片与文字居中对齐最靠谱的方式! 做图片与文字在一行的按钮时候最常用到,总结了一个靠谱的方法,终于可以完美的对齐下面给个代码 首先是html: <p class="btnU ...
- CSS上下左右居中对齐
上下左右居中对齐 display: inline/inline-block 将父元素(容器)设定 text-align: center: 即可左右置中. display: block 将元素本身的 ...
- CSS居中demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- line-height,vertical-align及图片居中对齐问题根源解析
关于图片居中对齐的问题,进入前端行业虽然有一段时间了,以为自己懂了,可是实际上还是一知半解,找了一些博客来看了一下,但是感觉讲的有点碎,看完还是一知半解. 查阅了一下<css权威指南>,结 ...
- 如何实现CSS居中?–CSS居中常用方法
来源:http://www.ido321.com/824.html 一.水平居中 1.内联元素居中:相对父级块级元素居中对齐 1: .center-children { 2: text-align: ...
- HTML学习笔记——各种居中对齐
0.前言 水平居中基本方法--指定块的宽度并设定块的左右外边距为auto,上下外边距可取0,那么该块能够在父元素中水平居中. 样式例如以下: 1:margin:0px auto 2:margi ...
随机推荐
- excel表 更改后缀名 xlsx转成csv csv转换xlsx
excel 转成CSV 步骤: 1.打开你需要转换的Excel表格.这里特别介绍一下多个数字的现象,我们知道,像身份证这些多位数字,在正常表格里都是会加上一个'来使其显示的,或者换成"文本& ...
- 阿里巴巴 《Java 开发者手册》+ IDEA编码插件
4月22日,阿里巴巴发布了泰山版<Java 开发手册>,以前以为终极版就真的是终极版了,没想到还是想的太简单了,继终极版之后又发布了详尽版.华山版,这不,泰山版又来了.想想也对,行业一直在 ...
- HashMap源码解析(java1.8.0)
1.1 背景知识 1.1.1 红黑树 二叉查找树可能因为多次插入新节点导致失去平衡,使得查找效率低,查找的复杂度甚至可能会出现线性的,为了解决因为新节点的插入而导致查找树不平衡,此时就出现了红黑树. ...
- WinUI 3试玩报告
1. 什么是 WinUI 3 在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI.Wi ...
- ubuntu opensips环境搭建
1.安装前准备,需要安装如下工具: perl. libdbi-perl. libdbd-mysql-perl. libdbd-pg-perl. libfrontier-rpc-perl. libter ...
- 关于thinkhphp3.1中废弃 preg_replace /e 修饰符
警告:preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 网上查了下 发现 php5.5版 ...
- abp-CMS模块-广告
无论是开发app还是网站,可能都需要一个广告功能,比如我们常见的在首页有个轮播广告,里面会轮播显示多个图片.还有比如一个新闻门户网站 很常见的 banner横幅广告,还有js特效广告等.本篇说说在ab ...
- 使用JFreeChart生成条形图
1. 准备工作 下载JFreeChart,我使用的版本为1.0.19,相关内容参见JFreeChart,下载链接为https://sourceforge.net/projects/jfreechart ...
- Sequence in the Pocket【思维+规律】
Sequence in the Pocket 题目链接(点击) DreamGrid has just found an integer sequence in his right pocket. A ...
- Java 异常处理的十个建议
前言 Java异常处理的十个建议,希望对大家有帮助~ 本文已上传github: https://github.com/whx123/JavaHome 公众号:捡田螺的小男孩 一.尽量不要使用e.pri ...