DIV水平居中和垂直居中布局

一、水平居中

1. inline-block + text-align

text-align(他会有继承) 作用在块级元素上,会让块级元素的inline-block子级 ,进行排列

<div class="parent">
   <div class="child">demo</div>
</div>

  .parent{
    width: 200px;
    text-align: center;
   }
        .child{
    display: inline-block;  
   }

2. table + margin

table如果不给它的所在元素设置宽的话,他的宽会是由内容撑开

<div class="parent">
   <div class="child">demo</div>
</div>

  .child{
      display: table;
      margin: 0 auto;
     }

3.absolute + transform

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    position: relative;
   }
   .child{
    position: absolute;
    left:50%;
    transform: translateX(-50%);
   }

4.flex + justify content

flex的属性值其实也可以支持margin:0 auto;

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    display: flex;
    justify-content: center;
   }

.parent{
    display: flex;
   }
   .child{
    border: 1px solid green;
    margin: 0 auto;
   }

二、父元素和子元素都不定高,实现垂直居中

1.tale-cell + vertical-align

tale-cell 单元格这样的属性值,会自动让他的子元素居中

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    display: table-cell;
    vertical-align: middle;
   }

2.absolute + transform

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    position: relative;
   }
   .child{
    position: absolute;
    top:50%;
    transform: translateY(-50%);
   }

3.flex + align-items

align-items他的默认值是拉伸,布满整个容器

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    display: flex;
    align-items: center;
   }

三、容器大小不固定,同时居中

效果图.png

1.inline-block + text-align + tale-cell + vertical-align

tale-cell 单元格这样的属性值,会自动让他的子元素居中

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    text-align: center;
    display: table-cell;
    vertical-align: middle;
   }
   .child{
    display: inline-block;
   }

2.absolute + transform

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    position: relative;
   }
   .child{
    position: absolute;
    top:50%;

left:50%;
    transform: translate(-50%,-50%);

}

3.flex + judifycontent + align-items

align-items他的默认值是 stretch拉伸,布满整个容器

<div class="parent">
   <div class="child">demo</div>
</div>

.parent{
    display: flex;
    justify-content: center;
    align-items: center;
   }

原文地址:https://www.cnblogs.com/x-yy/p/11372357.html

时间: 2024-07-31 07:38:02

DIV水平居中和垂直居中布局的相关文章

未知高度定宽div水平居中及垂直居中(兼容ie6及其他牛逼浏览器)

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>css</title> <style type="text/css"> * { margin:0; padding:0; list-style:none; } #vertical_box { width:100%; display:table; border:1

div水平居中和垂直居中

水平居中和垂直居中 水平居中包含两种情况:        块级元素的水平居中:margin:0px auto;        文字内容的水平居中:text-align: center;        垂直居中:        常见的单行文字的垂直居中可设置文字所在行的height与        行高样式属性一致,比如:        div{            width: 400px;            height: 400px;            line-height: 4

div水平居中与垂直居中的方法【摘自美浩工作室官方博客 】

大家往往在写页面中会遇到不固定宽和高的div如果水平和垂直都居中呢?在写css的时候经常遇到的一个问题,当div没有固定的宽度或者高度的时候,如何才能让div水平或者垂直居中显示.如果div有固定宽度的话,用padding,margin都很容易实现.方法有很多种.不过经常遇到这种div没有固定的宽度高度的情况,我们就不能用margin,padding设置固定的距离了.这个问题让很多人头疼.而怎么样才能让这个div居中显示呢?其实这种情况解决的办法也是有很多种,js,css都可以实现. 1.先来看

文本、DIV水平居中和垂直居中

文本居中 text-align:center; //代表文本居中 文本垂直居中 text-align:center; height:100px; //文本包含块的高度 line-height:100px; //行内高度 垂直需要文本包含块的高度和行内高度一致 DIV居中 margin:0 auto; DIV垂直居中 div垂直居中分两种情况,一种是已知该div的宽高:另一种是div的宽高是未知的. 1.宽高已知 { width:100px; height:100px; position:abso

div的水平居中和垂直居中

div是html中的一个标签,一般称之为盒子.有宽度.有高度,是可以存放内容的一个区域.但是如何让div在页面上以水平或者垂直的方式居中呢? 1.div水平居中 div水平居中其实很简单,只要使用到margin中的auto就能实现.代码如下: 1 <html> 2 <head> 3 <title>div水平垂直居中</title> 4 5 <style> 6 .horizontal{ 7 width:800px; 8 height:300px;

宽度高度不固定的div如何水平居中与垂直居中(转)

宽度高度不固定的div如何水平居中与垂直居中 很多新手在写css的时候经常遇到的一个问题,当div没有固定的宽度或者高度的时候,如何才能让div水平或者垂直居中显示. 如果div有固定宽度的话,用padding,margin都很容易实现.方法有很多种.不过经常遇到这种div没有固定的宽度高度的情况,我们就不能用margin,padding设置固定的距离了.这个问题让很多人头疼.而怎么样才能让这个div居中显示呢?其实这种情况解决的办法也是有很多种,js,css都可以实现. 这里主要介绍一下采用c

CSS实现DIV水平居中和上下垂直居中

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>上下垂直居中 在线演示 DIVCSS5</title> <style> #main { position: absolute; width:400px; height:200px; left:50%; top:50%; margin-left:-200px; margin-top:

简单易实现的水平居中、垂直居中方法

在页面布局中,经常会面临垂直水平居中问题.网络上有很多方法,但是大多数情况下,我们找到合适的解决方法后,复制粘贴了事,并没有对各种方法的原理.利弊进行研究.本着"双鸟在林,不如一鸟在手"的宗旨,从各种方法中找出一种简单易懂的方法,让大家一目了然,以后再遇到也能立即想出来.1.水平居中:使div02在div01中水平居中.```<div id="div01"> <div id="div02"></div><

html div+css做页面布局

http://blog.csdn.net/mercop/article/details/7882000 HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理解盒子模型 实现DIV+CSS整体布局 2.什么是W3C标准? W3C:World Wide Web Consortium,万维网联盟    W3C的职能:负责制定和维护Web行业标准    W3C标准包括一系列的标准: HTML内容方面:XHTML 样式美化方面:CSS 结构文档访问方面:DOM 页面