css居中-水平居中,垂直居中,上下左右居中

网页布局居中必不可少,其中包括水平居中,垂直居中,上下左右居中,下面一一详述。

水平居中

<div class="container">
  <div class="item">居中</div>
</div>
1.text-align: center;

  对父元素设置text-align: center;子元素即可居中。但子元素是有限制的,只对图片,文字等行内元素有效。  如果子元素有一定宽度,可以设置子元素display:inline-block;  
  <style>
    .container {
      text-align: center;
    }

    .item{
      display: inline-block;
      width: 100px;
      background-color: #ff266e;
    }

  </style>

效果

2.margin: 0 auto;

  元素本身设置 margin: 0 auto; 这种方法对能设置宽度的元素起作用.
  <style>
    .container {
      text-align: center;
      background-color: #a08b8b;
    }

    .item{
      margin: 0 auto;
      width: 100px;
      background-color: #ff266e;
    }

  </style>
 效果

3.position:absolute;

  这种方法也需要固定元素的宽度.

  <style>
    .container {
      text-align: center;
      position: relative;
    }

    .item{
      position: absolute;
      width: 100px;
      left: 0;
      right: 0;
      margin: auto;
      background-color: #ff266e;
    }

  </style>

效果

4.flex

  

  <style>
    .container {
      text-align: center;
      display: flex;
      justify-content: center;
      background-color: #ffecf7;
    }

    .item{
      background-color: #ff266e;
    }

  </style>

效果

 垂直居中

 

1.一行文字垂直居中

  <style>
    .center {
      height: 100px;
      line-height: 100px;
      background-color: #ffecf7;
    }
  </style>
<div class="center">
  这行文字垂直居中
</div>

效果

2.未知高度元素居中

  第一种方法

<div class="container">
  <div class="item">
    <p>垂直居中的元素</p>
    <p>垂直居中的元素</p>
  </div>
</div>

  <style>
    .container {
      font-size: 0;
      background-color: #ffecf7;
      height: 200px;
    }
    .container:after {
      content: ‘‘;
      display: inline-block;
      vertical-align: middle;
      height: 100%;
    }
    .item {
      display: inline-block;
      vertical-align: middle;
      font-size: 12px;
      background-color: #ff266e;
    }
  </style>

第二种方法

  <style>
    .container {
      display: flex;
      background-color: #ffecf7;
      height: 200px;
      align-items: center;
    }

    .item {
      height: 100px;
      background-color: #ff266e;
    }
  </style>

效果

3.高度已知垂直居中

第一种方法

<div class="container">
  <div class="item">
    <p>垂直居中的元素</p>
    <p>垂直居中的元素</p>
  </div>
</div>

  <style>
    .container {
      position: relative;
      background-color: #ffecf7;
      height: 200px;
    }

    .item {
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      height: 100px;
      background-color: #ff266e;
    }
  </style>

第二种方法

  <style>
    .container {
      position: relative;
      background-color: #ffecf7;
      height: 200px;
    }

    .item {
      position: absolute;
      top: 50%;
      margin-top: -50px;
      height: 100px;
      background-color: #ff266e;
    }
  </style>

第三种方法

  <style>
    .container {
      position: relative;
      background-color: #ffecf7;
      height: 200px;
    }

    .item {
      position: absolute;
      top: 50%;
      transform: translate(0,-50%);
      height: 100px;
      background-color: #ff266e;
    }
  </style>

效果

上下左右居中

上下垂直居中,把上面的综合起来就可以啦

1.子元素宽和高不确定

第一种方法

  <style>
    .container {
      display: flex;
      background-color: #ffecf7;
      height: 200px;
      align-items: center;
      justify-content: center;
    }

    .item {
      background-color: #ff266e;
    }
  </style>

第二种方法

  <style>
    .container {
      background-color: #ffecf7;
      height: 200px;
      font-size: 0;
      text-align: center;
    }
    .container:after {
      content: ‘‘;
      display: inline-block;
      height: 100%;
      vertical-align: middle;
    }

    .item {
      display: inline-block;
      background-color: #ff266e;
      vertical-align: middle;
      font-size: 12px;
    }
  </style>

2.子元素宽和高确定

第一种方法

  <style>
    .container {
      position: relative;
      background-color: #ffecf7;
      height: 200px;
    }

    .item {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      width: 120px;
      height: 120px;
      background-color: #ff266e;

    }
  </style>

第二种方法

  <style>
    .container {
      position: relative;
      background-color: #ffecf7;
      height: 200px;
    }

    .item {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -60px -60px;  /*宽,高的一半*/
      width: 120px;
      height: 120px;
      background-color: #ff266e;

    }
  </style>

第三种方法

  <style>
    .container {
      position: relative;
      background-color: #ffecf7;
      height: 200px;
    }

    .item {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%,-50%);
      width: 120px;
      height: 120px;
      background-color: #ff266e;

    }
  </style>

原文地址:https://www.cnblogs.com/xiaoxueer/p/11849997.html

时间: 2024-10-10 02:36:56

css居中-水平居中,垂直居中,上下左右居中的相关文章

上下左右居中的方法总结

居中的方法有很多,比较难的是选择合适的方法. 今天搜了一下,总结一下各种居中方法的优缺点. 演示效果 方法一 使用flexbox伸缩盒布局 优点: 简单,可能以后会成为主流 缺点: 兼容性差 查看这里 ##方法二 把包裹的父容器显示方式改成table,子元素改成table-cell,然后table-cell里面的元素就可以使用vertical-align 属性.(当然不只是table-cell,vertical-align适用于 inline level, inline-block level

css图片居中(水平居中和垂直居中)

http://www.51xuediannao.com/html+css/htmlcssjq/css_img_center.html css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍 css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 auto实现图片水平居中 利用margin: 0 auto实现图片居中就是在图片上加上c

html css 图片居中(水平居中和垂直居中),移动端图片预览

做网站的时候,经常会遇到因图片宽高比率不一致导致图片显示方式有问题. 1.在图片宽高未知的情况下,图片上下左右居中   我以前的博客文章有写过,就不再重复了.博客地址,效果预览地址(欢迎copy) 上面的虽然没问题,但是在图片列表里,图片上下左右不对齐,造成图片列表排版很难看,产品要求宽高定死,也就是下面的第二种方法. 2.在图片宽高未知的情况下,img标签 宽高固定显示(图片会变形) 效果预览地址(欢迎copy) 因为第二种方法,宽高定死,导致图片变形了,反而不美. 产品说:我要图片不失真,又

&lt;转载&gt;使CSS文字图片div元素居中方法之水平居中的几个方法

文字居中,文字垂直居中水平居中,图片居中,图片水平居中垂直居中,块元素垂直居中?当我们在做前端开发是时候关于css居中的问题是很常见的.情 况有很多种,不同的情况又有不同的解决方式.水平居中的方式解决的时候相对来说通过css比较容易设置,垂直居中相对比较棘手. 先来说一下水平居中的不同情况与不同解决方法吧. 1文本,图片等行内元素的水平居中方法呢比较简单.直接给父元素设置一个text-align:centent属性就可以实现元素的水平居中了. 2 确定宽度的块级元素水平居中怎么设置呢?设置方法也

css:子元素div 上下左右居中方法总结

最近在面试,不停地收到了知识冲击,尤其是对于一些基础的css.html.js问题居多,所以自我也在做反思,今天就css问题,如何让一个子元素div块元素上下左右居中 (以下总结方法,都已得到验证). 情景一:一个浏览器页面中,只有一个div模块,让其上下左右居中 解决方案:  { position:fixed;  left:0; right:0; top:0; bottom:0; margin:auto; } 备注:此处小编使用position:fixed为最佳方案,因为position:fix

CSS line-height行高上下居中垂直居中样式属性

DIV CSS line-height行高上下居中属性教程篇常常使用line-height设置内容(图片.文字)行高上下居中样式效果.行高line-height目录(音乐放松椅)line-height行高语法行高应用line-height案例line-height总结一.line-height行高语法 - TOP line-height:22pxdiv{line-height:22px} linet-height样式属性解析图(音乐放松椅)line-height:+数字+单位(在CSS布局中我们

上下左右居中模块(上下左右垂直居中)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>上下左右居中模块</title> <style> *{ margin: 0; padding: 0; list-style: none; } body{ background-color: #000; } .lanren{ position: fix

css div上下左右居中

相信大家都会遇到这样的问题,要求一个块上下左右居中,在这里我总结了几个好用的方法 1.已知要居中的块width height 假设  content 要在f里上下左右居中 <div class="f"><div class="content"></div></div> <style> .f{ width: 800px; height: 800px; position:relative; } .content

CSS:水平居中与垂直居中

原文链接:http://www.cnblogs.com/JuFoFu/p/4450162.html#undefined CSS居中算是一个比较基础的问题,在实际运用中,需要考虑到的一般是两种情况,一种是主要是表现为文字,图片等行内元素的居中,一种是指 div 等块级标签元素的居中. 水平居中 1.行内元素 行内元素(主要是表现为文字,图片等行内元素),通过在父级元素设置 text-align:center 使子级行内元素居中. 2.定宽块级元素 为定宽块级元素设置: 1 margin-left: