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居中对齐的更多相关文章

  1. CSS居中对齐终极指南

    本文首发于我的公众号:前端新世界 欢迎关注 本文将讨论可用于居中对齐元素的6种CSS技术(按照最佳实践排序),以及每一种技术最适合应用的场景.这里,居中对齐指的是将元素放置在其父元素的水平和垂直中心. ...

  2. 利用CSS实现居中对齐

    1. 文本居中 首先编写一个简单的html代码,设置一个类名为parentDiv的div对象.html代码如下: <div class="parentDiv"> 这里随 ...

  3. CSS 图像居中对齐

    CSS  图像居中对齐 我们在<CSS 内外边距>学过内容居中,它的原理是将外边左右设置为auto.图像居中也是这个原理. 示例 <!DOCTYPE html> <htm ...

  4. 【css对齐】块内或者行内图片与文字居中对齐最靠谱的方式!

    块内或者行内图片与文字居中对齐最靠谱的方式! 做图片与文字在一行的按钮时候最常用到,总结了一个靠谱的方法,终于可以完美的对齐下面给个代码 首先是html: <p class="btnU ...

  5. CSS上下左右居中对齐

    上下左右居中对齐 display:  inline/inline-block 将父元素(容器)设定 text-align: center: 即可左右置中. display: block 将元素本身的 ...

  6. CSS居中demo

      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  7. line-height,vertical-align及图片居中对齐问题根源解析

    关于图片居中对齐的问题,进入前端行业虽然有一段时间了,以为自己懂了,可是实际上还是一知半解,找了一些博客来看了一下,但是感觉讲的有点碎,看完还是一知半解. 查阅了一下<css权威指南>,结 ...

  8. 如何实现CSS居中?–CSS居中常用方法

    来源:http://www.ido321.com/824.html 一.水平居中 1.内联元素居中:相对父级块级元素居中对齐 1: .center-children { 2: text-align: ...

  9. HTML学习笔记——各种居中对齐

    0.前言     水平居中基本方法--指定块的宽度并设定块的左右外边距为auto,上下外边距可取0,那么该块能够在父元素中水平居中. 样式例如以下: 1:margin:0px auto 2:margi ...

随机推荐

  1. excel表 更改后缀名 xlsx转成csv csv转换xlsx

    excel 转成CSV 步骤: 1.打开你需要转换的Excel表格.这里特别介绍一下多个数字的现象,我们知道,像身份证这些多位数字,在正常表格里都是会加上一个'来使其显示的,或者换成"文本& ...

  2. 阿里巴巴 《Java 开发者手册》+ IDEA编码插件

    4月22日,阿里巴巴发布了泰山版<Java 开发手册>,以前以为终极版就真的是终极版了,没想到还是想的太简单了,继终极版之后又发布了详尽版.华山版,这不,泰山版又来了.想想也对,行业一直在 ...

  3. HashMap源码解析(java1.8.0)

    1.1 背景知识 1.1.1 红黑树 二叉查找树可能因为多次插入新节点导致失去平衡,使得查找效率低,查找的复杂度甚至可能会出现线性的,为了解决因为新节点的插入而导致查找树不平衡,此时就出现了红黑树. ...

  4. WinUI 3试玩报告

    1. 什么是 WinUI 3 在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI.Wi ...

  5. ubuntu opensips环境搭建

    1.安装前准备,需要安装如下工具: perl. libdbi-perl. libdbd-mysql-perl. libdbd-pg-perl. libfrontier-rpc-perl. libter ...

  6. 关于thinkhphp3.1中废弃 preg_replace /e 修饰符

    警告:preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead 网上查了下 发现 php5.5版 ...

  7. abp-CMS模块-广告

    无论是开发app还是网站,可能都需要一个广告功能,比如我们常见的在首页有个轮播广告,里面会轮播显示多个图片.还有比如一个新闻门户网站 很常见的 banner横幅广告,还有js特效广告等.本篇说说在ab ...

  8. 使用JFreeChart生成条形图

    1. 准备工作 下载JFreeChart,我使用的版本为1.0.19,相关内容参见JFreeChart,下载链接为https://sourceforge.net/projects/jfreechart ...

  9. Sequence in the Pocket【思维+规律】

    Sequence in the Pocket 题目链接(点击) DreamGrid has just found an integer sequence  in his right pocket. A ...

  10. Java 异常处理的十个建议

    前言 Java异常处理的十个建议,希望对大家有帮助~ 本文已上传github: https://github.com/whx123/JavaHome 公众号:捡田螺的小男孩 一.尽量不要使用e.pri ...