实现水平垂直居中方法有很多种:

一.万能法:

1.已知高度宽度元素的水平垂直居中,利用绝对定位和负边距实现。

<style type="text/css">
.wrapper{
position:relative;
background: #acc;
width: 500px;
height: 500px;
} .content{
background: #aaa;
width:400px;
height:400px;
position: absolute; /*//父元素需要相对定位 */
top: 50%;
left: 50%;
margin-top:-200px ; /* //本身二分之一的height,width */
margin-left: -200px;
} </style> <div class="wrapper">
<div class="content"></div>
</div>

2.已知高度宽度元素的水平垂直居中,利用绝对定位和margin。

.container{
width: 600px;
height: 600px;
position: relative;
}
.center{
width: 300px;
height: 300px;
position: absolute;
top:;
left:;
right:;
bottom:;
margin: auto;
}

二、行内元素(内联元素)水平居中方案:

1.行内元素的水平居中

text-align: center;
width: 200px;
display: inline-block;

2.行内元素-Flex布局:水平垂直居中

设置display:flex; justify-content:center;align-items: center  (灵活运用,支持Chroime,Firefox,IE9+)

        .box {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
width: 1000px;
height: 600px;
border: 1px solid red;
}
.inner {
width: 300px;
height: 200px;
background-color: red;
} <div class="box">
<section class="inner"></section>
</div>

最简单的写法:

.container{

  display: flex;

  height: 600px;

}

.center{

   margin : auto;
}
 

行内元素垂直居中设置:

1.父元素高度确定的单行文本(内联元素):设置 height = line-height;

    height: 50px;
text-align: center; /*
line-height: 50px;

2.父元素高度确定的多行文本(内联元素):
a:插入 table (插入方法和水平居中一样),然后设置 vertical-align:middle;
b:先设置 display:table-cell 再设置 vertical-align:middle;

         .span_box {
display: table;
}
.words_span {
display: table-cell;
vertical-align: middle;
} <div class="span_box bg_box">
<span class="words_span">
父元素使用display:table和子元素使用display:table-cell属性来模拟表格,子元素设置vertical-align:middle即可垂直居中
</span>
</div>

三、块级元素居中方案

1.定宽块级元素水平居中
设置 左右 margin 值为 auto;

margin: 0 auto;

2.不定宽块状元素

水平居中

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

垂直居中设置:

使用position:absolute(fixed),设置left、top、margin-left、margin-top的属性;
利用position:fixed(absolute)属性,margin:auto这个必须不要忘记了;
利用display:table-cell属性使内容垂直居中;
使用css3的新属性transform:translate(x,y)属性;
使用:before元素;

四、css3的transform属性

.container{
width: 100%;
height: 600px;
position: relative;
}
.center{
position:absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

下面是本人做项目时遇到的一个需求:要求:图片垂直水平居中及放大  的例子

<div class="imginfan">

  <a class="tooltip" href="#">
    <img :src="item.images" height="63" width="62" alt="">     <!-- 放大图 -->
    <div class="inner">
      <img class="" :src="item.images" height="360" width="280" alt="">
    </div>
  </a>
</div>

/* 图片居中*/


.imginfan{ position: relative; }

.imginfan img {

text-align:center;

position: absolute;

top:50%;

left:50%;

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

transition: all 0.6s; }

.imginfan img :hover{transform: scale(1.2); }


/* 图片放大部分 相对于原先盒子定位 */


.tooltip{ z-index:2; }


.tooltip:hover{ z-index:3; }


.tooltip .inner{ display: none; }


.tooltip:hover .inner{    /*div的inner标签仅在 :hover 状态时显示*/

display:block;

position:absolute;

top:100px;

left:250px;

border:1px solid black;

background-color:#F2F2F2;

z-index:999; }


css图片垂直水平居中及放大(实现水平垂直居中的效果有哪些方法?)的更多相关文章

  1. 关于用css实现文本和图片垂直水平居中

    关于用css实现文本和图片垂直水平居中   一直相信好记性不如烂笔头,最近遇到很多用到垂直居中的,整理一下以便日后查阅. 一.文本垂直水平居中 1.水平居中: 文字水平居中没什么好说的,用text-a ...

  2. css实现垂直水平居中的方法(个数不限)?

    方法一:使用绝对定位 大家都知道margin:0 auto;能够实现水平居中,但却不知道margin:0 auto;也是可以实现垂直居中的: 给居中元素添加如下样式: .Absolute-Center ...

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

    css图片居中(水平居中和垂直居中) css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 ...

  4. CSS之垂直水平居中的背后

    最开始,我想说,这个体系有点大,我写的并不好.就当作是一个思路吧,虽然这个思路有点乱.几乎每一个实现方案的背后都是该属性及其组合的原理,每一个都要剖析其规范细节的话,这篇文章绝不会是这样的篇幅,所以每 ...

  5. CSS实现图片在div a标签中水平垂直居中

    CSS实现图片在div a标签中水平垂直居中 <div class="demo"> <a href="#"> <img src=& ...

  6. css实现垂直水平居中的5种方法

    css实现垂直水平居中的5种方法 给父元素设置table-cell,text-align,vertical-align #big{ width: 200px; height: 200px; borde ...

  7. CSS 水平垂直居中的几种实现方法

    前言 项目中经常碰到需要实现水平垂直居中的样式.下面就总结几种常用的方法 水平对齐+行高 [思路一]text-align + line-height实现单行文本水平垂直居中 <style> ...

  8. 【css】图片垂直水平居中

    一.已知宽高的图片实现垂直水平居中 1.借助margin-top负边距实现垂直居中 <!DOCTYPE html> <html> <head> <meta c ...

  9. css文本垂直水平居中

    一.单行文本居中 .content{ height:100px; line-height:100px; text-align:center; border:1px solid red; } 效果图 二 ...

随机推荐

  1. dubbo自定义异常传递信息丢失问题解决

    访问我的博客 目前计划对已有的单体项目进行组织架构拆分,调研了分布式系统中常用中间件 Dubbo 和 Spring Cloud,选择了 Dubbo,可以对当前现有项目进行平滑升级改造.但是一开始就遇到 ...

  2. MODIS数据的下载(新地址)

    Modis数据下载方法 1.1打开网址 浏览器输入地址:https://ladsweb.nascom.nasa.gov/search 注:需要一定的等待时间,如果一直打不开,就需要FQ.(网址加载了g ...

  3. 进程间通信IPC-消息队列

    前言: 消息队列就是一个消息的链表.可以把消息看作一个记录,具有特定的格式以及特定的优先级.对消息队列有写权限的进程可以向其中按照一定的规则添加新消息:对消息队列有读权限的进程则可以从消息队列中读走消 ...

  4. 创业公司都在使用的3款Python库

    Instavest上发表了一篇博文,文章分享了深受创业公司喜爱的3款Python库,该文章在Hacker News上引发了开发者的激烈探讨,如果你也对此感兴趣,不妨移步去看下.笔者将该文简译过来以分享 ...

  5. Jenkins持续集成学习-搭建jenkins问题汇总

    目录 Jenkins持续集成学习5-搭建jenkins问题汇总 目录 前言 问题列表 nuget还原包问题 编译问题 SVN更新问题 参考文档 Jenkins持续集成学习5-搭建jenkins问题汇总 ...

  6. Perl面向对象(3):解构——对象销毁

    本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. perl中使用引用计数的方式管理内存, ...

  7. Redis学习笔记(2)-新建虚拟电脑,安装系统CentOSMini

    下载CentOSMini download 点击download,网页显示结果如下 点击红框,跳转至镜像页面,选择任一镜像,下载即可. 新建虚拟机,装载CentOSMini 点击新建 输入名称 输入C ...

  8. SQL Server2008附加数据库出现错误

    在用SQL Server 2008附加数据库时,出现了如下错误: 解决方法如下: 一. 检查对数据库文件及其所在文件夹是否有操作权限,右键文件属性,将权限修改为完全控制: 二. 权限改了之后,发现还是 ...

  9. Java 泛型中的PECS原则

    在泛型编程时,使用部分限定的形参时,<? super T>和<? extends T>的使用场景容易混淆,PECS原则可以帮助我们很好记住它们: 生产者(Producer)使用 ...

  10. spring boot 打jar包,获取resource路径下的文件

    前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...