一:水平居中方案:
  1、行内元素
    设置 text-align:center

  2、定宽块状元素
    设置 左右 margin 值为 auto

  3、不定宽块状元素
    a:在元素外加入 table 标签(完整的,包括 table、tbody、tr、td),该元素写在 td 内,然后设置 margin 的值为 auto
    b:给该元素设置 displa:inine 方法
    c:父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:50%

  4、对于多个块级元素:
    对父元素设置 text-align: center;
    对子元素设置 display: inline-block;

  5、使用 flex 布局

二:垂直居中设置

  1、行内元素
    单行:
      设置上下 pandding 相等;
      或者设置 line-height 和 height 相等

    多行:
      设置上下 pandding 相等;
      父元素设置 display: table-cell; 和 vertical-align: middle;
      或者使用 flex 布局;

  2、块级元素:下面前两种方案,父元素需使用相对布局
    父元素已知高度:子元素使用绝对布局 top: 50%,再用负的 margin-top 把子元素往上拉一半的高度;
    父元素未知高度:子元素使用绝对布局 position: absolute; top: 50%; transform: translateY(-50%);
    使用 Flexbox:选择方向,justify-content: center;

三:水平垂直居中

  定高定宽:
    先用绝对布局 top: 50%; left: 50%;,再用和宽高的一半相等的负 margin 把子元素回拉;

  高度和宽度未知:
    先用绝对布局 top: 50%; left: 50%;,再设置 transform: translate(-50%, -50%);

  使用 Flexbox:
    justify-content: center; align-items: center;

CSS居中布局的更多相关文章

  1. CSS居中布局方案

    基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  2. CSS居中布局总结【转】

    居中布局 <div class="parent"> <div class="child">demo</div> </d ...

  3. CSS居中布局总结

    居中布局 <div class="parent"> <div class="child">demo</div> </d ...

  4. 详解 CSS 居中布局技巧

    水平居中元素: 通用方法,元素的宽高未知 方式一:CSS3 transform .parent { position: relative; } .child { position: absolute; ...

  5. 详解CSS居中布局技巧

    本文转自:https://zhuanlan.zhihu.com/p/25068655#showWechatShareTip一.水平居中元素: 1.通用方法,元素的宽高未知方式一:CSS3 transf ...

  6. CSS 居中布局

    来源:http://www.cnblogs.com/QianBoy/p/8539077.html 水平居中 1)使用inline-block+text-align 原理:先将子框由块级元素改变为行内块 ...

  7. css居中布局的几种方式

    一.水平居中 若是行内元素,则直接给其父元素设置text-align: center即可 若是块级元素,则直接给该元素设置margin: 0 auto即可 若子元素包含浮动元素,则给父元素设置widt ...

  8. css 居中布局方案

    position(transform css3  有些浏览器不兼容) <article id="one"> <section id="section&q ...

  9. CSS基础布局--居中对齐,左侧定宽右侧自适应

    CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容.本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一 ...

随机推荐

  1. IDEA@Data注释使用

    @Data注解主要是帮助解决Setter 和 Getter以及 toString这种重复的无脑工作 加入@Data注解可以直接帮助我们添加实体类相应的Setter 和 Getter以及 toStrin ...

  2. ubuntu16.04下安装mysql,并开启远程访问

    一.安装 apt-get install mysql-server 二.本地连接 mysql默认开启了本地连接 直接通过mysql -uuser -p,然后输入密码访问 三.开启远程访问 3.1.创建 ...

  3. mysql建表以及列属性

    一.整型( int, tinyint, smallint 等 ) ------------------------------------------------------------------- ...

  4. Bootstrap+PHP实现多图上传

    插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231下面是根据下载的demo进行补充:使用bootstrap界面美观,可预览,可拖拽上传,可配合ajax异 ...

  5. Intellij idea Cannot start internal HTTP server.

    错误提示:Cannot start internal HTTP server. Git integration, JavaScript debugger and LiveEdit may operat ...

  6. nginx禁止ip默认参数是$remote_addr无法禁止真实ip的问题

    由于网站使用了cdn所以$remote_addr获取的ip是cdn的ip,我现在先禁止某些ip访问发现无法禁止cdn传递过来的客户端的ip也就是$http_x_forwarded_for这个参数.比如 ...

  7. SD从零开始03-04

    [原创]SD从零开始3 SD中的主数据 客户主数据Customer master(分层维护) 一般数据general data: 与销售和财务都有关,对所有的组织单元有效: 销售区域数据sales a ...

  8. Windows10设置

    按下Win+R键,输入gpedit.msc,打开组策略窗口

  9. paste 命令

    Linux paste命令用于合并文件的列. paste指令会把每个文件以列对列的方式,一列列地加以合并. 语法: paste [-s][-d <间隔字符>][--help][--vers ...

  10. show命令

    数据库 show databases; 表 show tables; show tables in xxdb; show tables 'a*'; tblproperties show tblprop ...