水平居中和垂直居中的方案

先看HTML的骨架

后面的代码都是基于这个来写的

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<link rel="stylesheet" href="./style.css"> <body>
<div class="box vertical align"></div>
</body>
</html>

水平居中

  1. 通过 margin 水平居中

    /* 1. 通过margin 水平居中 */
    .box {
    width: 200px;
    height: 200px;
    background-color: orange;
    }
    .align {
    margin: 0 auto;
    }
  2. 通过 position 和 transform 水平居中

    /* 2.通过 position 和 transform 水平居中 */
    .box {
    width: 200px;
    height: 200px;
    background-color: orange;
    }
    .align {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    }
  3. 通过flex水平居中

    body {
    display: flex;
    justify-content: center;
    }
  4. 通过 text-align:center 水平居中

    注意:使用text-align的时候,子元素要设置为行内块元素,是利用了行内元素的特性

    body {
    text-align: center;
    }
    .box {
    display: inline-block;
    width: 200px;
    height: 200px;
    background-color: orange;
    }

垂直居中

  1. flex布局垂直居中

    可以在父类上加 align-item:center实现垂直居中

    body {
    height: 100vh;
    display: flex;
    align-items: center;
    }

    也可以在子类元素上加 align-self:center 实现垂直居中

    .box {
    align-self: center;
    width: 200px;
    height: 200px;
    background-color: orange;
    }
  2. 通过position和transform 来垂直居中

    /* 第二种方案 position和transform */
    .vertical{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    }

绝对居中

  1. flex布局实现绝对居中

    body {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    }
  2. 通过 position和transform 实现绝对居中


    /* 第二种方案 position和transform */
    .box {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    }

Spirit带你了解CSS各个方向的居中方案的更多相关文章

  1. 带你走进CSS定位详解

    学习CSS相关知识,定位是其中的重点,也是难点之一,如果不了解css定位有时候都不知道怎么用,下面整理了一下关于定位属性的具体理解和应用方案. 一:定位 定位属性列表 position top bot ...

  2. mvc后台传到前台的值带html标签css(解决方法)

    mvc后台传到前台的值带html标签css MVC中要用:@Html.Raw(后台数据库取的值); 或者MvcHtmlString.create();

  3. Spirit带你了解如何安全引入第三方资源

    Spirit带你了解如何安全的引入第三方资源 本文介绍一下如何安全的引入第三方资源 同源策略(SOP) 首先我们来了解一下什么是同源策略,下面的是wiki百科的定义 同源策略是指Web浏览器中,允许某 ...

  4. 如何使用css来让图片居中不变形 微信小程序和web端适用

    图片变形很多人祭奠出了妖魔鬼怪般的各种大法,比如使用jq来写,或者使用css表达式来写.今天我总结的是使用css3来写,唯一最大缺点就是对一些浏览器版本不够兼容.下面就是关于如何使用css来让图片居中 ...

  5. Js配合CSS实现的图片居中

    CSS图上居中很好实现,但万恶的浏览器之间各不相让,搞的不兼容,还好我们有让其兼容的办法,那就是结合JS来实现,这样各个浏览器都听话多了.本例就是CSS结合JavaScript实现的图片垂直.水平方向 ...

  6. CSS布局之--各种居中

    居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...

  7. 讨论CSS中的各类居中方式

    今天主要谈一谈CSS中的各种居中的办法. 首先是水平居中,最简单的办法当然就是 margin:0 auto; 也就是将margin-left和margin-right属性设置为auto,从而达到水平居 ...

  8. HTML CSS 中DIV内容居中汇总

    转载博客(http://www.cnblogs.com/dearxinli/p/3865099.html) (备注:DIV居中情况,网上谈到也比较多,但是这篇文字,相对还是挺全面,现转载,如果冒犯,还 ...

  9. CSS 控制元素 上下左右居中

    不说废话,直接 搞起..... 首先,我们将题目 <css控制元素上下左右居中> 分析一下哈,我是将其分成了4部分信息: 1.CSS控制: 只用 CSS 来达成目的 2.元素:  不只是d ...

随机推荐

  1. 谈谈Linux字符设备驱动的实现

    @ 目录 字符设备驱动基础 申请设备号 创建设备节点 在驱动中实现操作方法 文件IO调用驱动中的操作 应用程序与驱动的数据交互 内核驱动如何控制外设 控制LED的简单驱动实例 驱动程序的改进 框架复盘 ...

  2. noip 模拟9 题解

    rp++==文化课报废 考试经过 先看T1,有被1e12吓到,但根据经验这很可能是水题,经过一番观察后直接打表,似乎看出了规律,觉得应该有了正解,写完之后顺利过掉大样例,但似乎时间稍慢一点,写上快读交 ...

  3. ASP.NET Core Web API接收文件传输

    ASP.NET解析API参数的方式有很多种,包括[FromBody],[FromForm],[FromServices],[FromHeader][FromQuery]. 文件传输方式也分很多种,包括 ...

  4. jquery validate 验证插件 解决多个相同的Name 只验证第一个的方案

    方案一:如果 项目里不是只是个别页面 有多个name 验证, 那么利用 prototype 来写,把这段代码加在你所要使用多个name的页面  的js初始化里 即可 if ($.validator) ...

  5. python创建字典多种方式

    1.创建空字典 >>> dic = {} >>> type(dic) <type 'dict'> 2.直接赋值创建 >>> dic = ...

  6. 我对数据库事务的理解(MYSQL中)

    -- 设置数据库事务为手动的提交SET @@AUTOCOMMIT = 0;-- 查看是否被修改SELECT @@autocommit;-- 查看当前的编码格式SELECT @@character_se ...

  7. 转:C语言自增自減问题总结

    C语言自增自減问题总结 在程序设计中,经常遇到"i=i+1"和"i=i-1"这两种极为常用的操作.C语言为这种操作提供了两个更为简洁的运算符,即++和--,分别 ...

  8. 自己封装一个Object.freeze()方法

    1.遍历所有属性和方法 2.修改遍历到的属性的描述 3.Object.seal() Object.defineProperty(Object,'freezePolyfill',{ value:func ...

  9. BUU-CTF[CISCN2019 华东南赛区]Web11

    BUU-CTF[CISCN2019 华东南赛区]Web11 页面最下端有提示Build with Smarty ! 确定页面使用的是Smarty模板引擎.输入{$smarty.version}就可以看 ...

  10. vue2+vite初体验

    前言 自从 vite 发布之后,社区赞誉无数,而我也一直心水 vite 的轻量快速的热重载的特性,特别是公司的项目巨大,已经严重拖慢了热重载的速度了,每次热重载都要等上一小会,所以急需寻找一个解决方案 ...