如何在div中垂直对齐图像


1455

如何在容器中对齐图像div

在我的例子,我需要垂直居中的<img><div>class ="frame“:

<div class="frame" style="height: 25px;">
    <img src="http://jsfiddle.net/img/logo.png" />
</div>

.frame的高度是固定的,图像的高度是未知的。.frame如果这是唯一的解决方案,则可以添加新元素。我正在尝试在Internet Explorer 7和更高版本的WebKit,Gecko上执行此操作。

这里查看jsfiddle 。

.frame {
    height: 25px;      /* Equals maximum image height */
    line-height: 25px;
    width: 160px;
    border: 1px solid red;

    text-align: center;
    margin: 1em 0;
}
img {
    background: #3A6F9A;
    vertical-align: middle;
    max-height: 25px;
    max-width: 160px;
}
<div class=frame>
   <img src="http://jsfiddle.net/img/logo.png" height=250 />
</div>
<div class=frame>
   <img src="http://jsfiddle.net/img/logo.png" height=25 />
</div>
<div class=frame>
   <img src="http://jsfiddle.net/img/logo.png" height=23 />
</div>
<div class=frame>
   <img src="http://jsfiddle.net/img/logo.png" height=21 />
</div>
<div class=frame>
   <img src="http://jsfiddle.net/img/logo.png" height=19 />
</div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=17 />
</div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=15 />
 </div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=13 />
 </div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=11 />
 </div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=9 />
 </div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=7 />
 </div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=5 />
 </div>
<div class=frame>
    <img src="http://jsfiddle.net/img/logo.png" height=3 />
 </div>


3
您好,很抱歉,但是我不同意在这里使用帮助器是最有价值的解决方案。但这不是唯一的方法。其他浏览器也支持。我在这里stackoverflow.com/a/43308414/7733724和W3C.org提供了有关信息的解决方案。你可以检查一下。干杯
山姆

阅读有关W3C的Centering
QMaster

Answers:


2128

唯一的(和最好的跨浏览器)的方式,因为我知道是使用inline-block佣工height: 100%,并vertical-align: middle在这两个元素。

因此,有一个解决方案: http //jsfiddle.net/kizu/4RPFa/4570/

或者,如果您不想在现代浏览器中添加多余的元素并且不介意使用Internet Explorer表达式,则可以使用伪元素,并使用方便的Expression将其添加到Internet Explorer,该表达式每个元素仅运行一次,因此不会有任何性能问题:

通过该解决方案:before,并expression()为Internet Explorer:http://jsfiddle.net/kizu/4RPFa/4571/


怎么运行的:

  1. 当两个inline-block元素彼此靠近时,可以彼此对齐。vertical-align: middle您将得到如下所示:

    两个对齐的块

  2. 当您使用固定高度的块(在中pxem或另一个绝对值单元),可以设置在内部块的高度%

  3. 所以,加入一个inline-block具有height: 100%与固定高度块将对准另一inline-block它元素(<img/>你的情况),垂直接近它。

2
您可以自己查看:jsfiddle.net/kizu/Pw9NL-只有内联框不会生成框,但是其他所有情况都可以。
kizu 2011年

3
很好的答案。我是用内联块元素之间的空间中挣扎,与意.frame.frame:before这里提出的解决方案是添加margin-left: -4px.frame。希望这可以帮助。
米克,

111
请注意:不在所添加<img src=""/><span></span>帮助器中。在外面 我只是没有意识到这一点,就把我的每一缕头发都拉了。
ryan

50
似乎还需要添加“空白:nowrap;”。到框架,或者如果图像和辅助跨度之间有换行符,则会遇到问题。我花了一个小时才知道这个解决方案对我不起作用。
juminoz 2014年

2
在我的情况下,我的图像的max-height和max-width都设置为100%,因此图像将缩放容器,并且此方法不起作用。我的解决方案是将这些值更改为90%(在我的情况下是可以的;在另一种情况下,您可能需要相应地缩放容器),并在图像的另一侧添加一个辅助对象,以便即使在边框上双方。
EricDubé2014年

512

这可能有用:

div {
    position: relative;
    width: 200px;
    height: 200px;
}
img {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.image {
    min-height: 50px
}

74
如果您还希望水平对齐图像,请添加left:0; 正确:0;到img
jameskind

这是不是在IE10中起作用?我有点在整个地方使用它
Max Yari 2015年

同样适用于(对我来说)具有div的容器divposition:fixed;
PJ Brunet

1
最简单,最干净的解决方案,谢谢!
KDT

谢谢!为我工作!
Alexander Malygin

486

matejkramny的解决方案是一个不错的开始,但是过大的图像比例错误。

这是我的叉子:

演示:https : //jsbin.com/lidebapomi/edit?html,css,输出

预习


HTML:

<div class="frame">
  <img src="foo"/>
</div>

CSS:

.frame {
    height: 160px; /* Can be anything */
    width: 160px; /* Can be anything */
    position: relative;
}
img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

有什么方法可以适应这个问题,以便您可以放大超大的图像(例如2倍),并且仍然保持水平和垂直居中?
贾斯汀

如果要使其垂直对齐底部而不是中间对齐,应修改哪些代码?
bobo

1
@bobo只需删除top: 0;。这导致仅bottom: 0;垂直应用。
jomo

最好的答案!
user315338

276

三行解决方案:

position: relative;
top: 50%;
transform: translateY(-50%);

这适用于任何东西。

这里


前缀:-ms-或-webkit-(转换前)。w3schools.com/cssref/css3_pr_transform.asp
Jorge Orpinel

3
IE9的前缀,但在IE8及更低版本中根本不起作用caniuse.com/#search=transform但是我的观点:我不在乎IE8
Reign.85

没有人注意到当要居中的孩子比设备屏幕高并且父母是DOM中的第一个孩子时会发生什么...?

3
当您无法使用时,position: absolute;这是一个不错的选择,因为您需要宽度可变。
plong0

2
迄今为止最好的解决方案,甚至比flexbox更好,它支持大多数现代和旧浏览器。请对此表示支持
albanx

141

一个 CSS的解决方案:

.frame {
  margin: 1em 0;
  height: 35px;
  width: 160px;
  border: 1px solid red;
  position: relative;
}

img {
  max-height: 25px;
  max-width: 160px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #3A6F9A;
}
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=250 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=25 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=23 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=21 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=19 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=17 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=15 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=13 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=11 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=9 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=7 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=5 />
</div>
<div class=frame>
  <img src="http://jsfiddle.net/img/logo.png" height=3 />
</div>

关键的东西

// position: relative; - in .frame holds the absolute element within the frame
// top: 0; bottom: 0; left: 0; right: 0; - this is key for centering a component
// margin: auto; - centers the image horizontally & vertically

请让我参考这里的指南,该指南甚至适用于IE5(从我到目前为止阅读的内容中扣除)webmasterworld.com/css/3350566.htm
Matej

此解决方案是一个不错的开始,但是过大的图像会以错误的比例调整大小。请看我的回答。
jomo 2013年

@HansWürstchen是的,但是重点是要居中,是否过大是设计选择。添加更多的CSS =更混乱:)
Matej 2013年

1
@matejkramny它不会变得过大。如果图像超大的,它有一个错误的比率。这意味着它的高度已拉伸,并且外观不正确。
jomo 2013年

✔哇,这适用于图像溢出(比包装纸大)的情况,但接受的答案无效。
Cedric Reichenbach 2014年

120

对于更现代的解决方案,如果不需要支持旧版浏览器,则可以执行以下操作:

.frame {
    display: flex;
    /**
    Uncomment 'justify-content' below to center horizontally.
    ✪ Read below for a better way to center vertically and horizontally.
    **/

    /* justify-content: center; */
    align-items: center;
}

img {
    height: auto;

    /**
    ✪ To center this image both vertically and horizontally,
    in the .frame rule above comment the 'justify-content'
    and 'align-items' declarations,
    then  uncomment 'margin: auto;' below.
    **/

    /* margin: auto; */
}

/* Styling stuff not needed for demo */
.frame {
    max-width: 900px;
    height: 200px;
    margin: auto;
    background: #222;
}
p {
    max-width: 900px;
    margin: 20px auto 0;
}
img {
    width: 150px;
}
<div class="frame">
    <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/9988/hand-pointing.png">
</div>

这是一支钢笔:http : //codepen.io/ricardozea/pen/aa0ee8e6021087b6e2460664a0fa3f3e


3
如果未设置容器的高度,这将特别有用
Dave Barnett

align-self用于单个商品
迈克尔

问题align-self在于伸缩项目将拉伸父容器的高度。
里卡多·泽

101

这样,您可以将图像垂直居中(demo):

div{
  height: 150px; // Internet Explorer 7 fix
  line-height: 150px;
}
img{
  vertical-align: middle;
  margin-bottom: 0.25em;
}

4
奇怪的是,在我遇到的情况下,我无法获得可接受的答案(我也在裁剪图像时发现溢出:隐藏)。这是完美的。
卡·史派勒

3
我只在Chrome中测试过此功能,但线条高度似乎是关键。我将vertical-align属性放在div而不是img上,因为我的img在锚点(<a/>)内。
Todd Price

1
是的,比公认的解决方案简单得多,并且效果很好。我也在jsfiddle中找到了这个解决方案。
vdboor 2014年

1
如果您知道要满足的高度,那么效果很好
KrekkieD 2014年

从我的经验来看,此解决方案仅适用于font-size: 0for div。对于相当大的容器,您可能会错过它,但是如果您div的像素为100px,而img为80px,则像素值会降低几个像素。
alTus

38

另外,您可以使用Flexbox获得正确的结果:

.parent {
  align-items: center; /* For vertical align */
  background: red;
  display: flex;
  height: 250px;
  /* justify-content: center; <- for horizontal align */
  width: 250px;
}
<div class="parent">
  <img class="child" src="https://cdn2.iconfinder.com/data/icons/social-icons-circular-black/512/stackoverflow-128.png" />
</div>


28

flexbox有一个超级简单的解决方案

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

5
是的,但是您几乎无法在所有答案中看到它。我试图简单,清晰地突出显示它,因为它比其他所有答案都容易得多。
BBlackwo '16

这是对我也有用的最佳答案。但就我而言,“ inline-flex”框架对我来说效果更好。对于其中的图像,我添加了:“ vertical-align:middle”。
苏菲·库珀曼

22

您可以尝试将PI的CSS设置为 display: table-cell; vertical-align: middle;


我见过各种各样的方法,但是对我来说,这是个新方法(甚至在2013年)。
Mike Ebert

比将图像放在桌子中央只是更好。
2014年

3
如果您希望宽度为100%,则display:table-cell并不总是正确地调整大小
Redtopia 2014年

1
什么是“ PI”?
彼得·莫滕森

18

您可以尝试以下代码:

.frame{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
<div class="frame" style="height: 25px;">
    <img src="http://jsfiddle.net/img/logo.png" />
</div>


14

背景图片解决方案

我完全删除了图像元素,并将其设置为div类的div背景 .frame

http://jsfiddle.net/URVKa/2/

至少在Internet Explorer 8,Firefox 6和Chrome 13上可以正常工作。

我检查了一下,该解决方案无法缩小大于25像素高度的图像。有一个叫做background-size,它设置元素的大小,但是CSS 3会与Internet Explorer 7的要求相冲突。

我建议您要么重新设置浏览器优先级并设计最佳的浏览器,要么获得一些服务器端代码来调整图像的大小(如果您想使用此解决方案)。


非常好的解决方案,但是我希望某些图像大于容器,在这种情况下,我计划在它们上使用max-height / max-width。有什么办法用背景图像做到这一点?
Arnaud Le Blanc

这不是“ .frame元素”,而是“带有一类
.frame的

如果图像高度不超过帧div的高度,则这是最佳和最简单的解决方案...
efirat


11

您可以这样做:

演示版

http://jsfiddle.net/DZ8vW/1

的CSS

.frame {
    height: 25px;      /* Equals maximum image height */
    line-height: 25px;
    width: 160px;
    border: 1px solid red;

    text-align: center; 
    margin: 1em 0;
    position: relative; /* Changes here... */
}
img {
    background: #3A6F9A;
    max-height: 25px;
    max-width: 160px;
    top: 50%;           /* Here.. */
    left: 50%;          /* Here... */
    position: absolute; /* And here */
}    


的JavaScript

$("img").each(function(){
    this.style.marginTop = $(this).height() / -2 + "px";
})

真好 纯CSS解决方案有机会吗?
Arnaud Le Blanc

不幸的是,除非您要使用表或放弃与IE的较早版本的兼容性,否则请不要。:(如果你知道前手这将是不同的图像的具体规模,但也不是没有,它是不可能的CSS孤单。
约瑟夫Marikle

@Joseph您将如何用表格修复它?
本杰明·乌丁克

@Benjamin Udink 10 Cate杂乱无章,但可以这样处理:jsfiddle.net/DZ8vW/2(不建议这样做,但应该可以使用)
Joseph Marikle 2011年

1
那么它完全适合arnauds的需求。没有JS,只有CSS和HTML。
本杰明·乌丁克

11

http://jsfiddle.net/MBs64/

.frame {
    height: 35px;      /* Equals maximum image height */
    width: 160px;
    border: 1px solid red;
    text-align: center;
    margin: 1em 0;
    display: table-cell;
    vertical-align: middle;
}
img {
    background: #3A6F9A;
    display: block;
    max-height: 35px;
    max-width: 160px;
}

关键属性display: table-cell;.frameDiv.frame显示为与此内联,因此您需要将其包装在block元素中。

这适用于Firefox,Opera,Chrome,Safari和Internet Explorer 8(及更高版本)。

更新

对于Internet Explorer 7,我们需要添加一个CSS表达式:

*:first-child+html img {
    position: relative;
    top: expression((this.parentNode.clientHeight-this.clientHeight)/2+"px");
}

大。IE7会避免使用JavaScript吗?
Arnaud Le Blanc

我不确定,但也许CSS表达式会有所帮助。但是它们也是javascript。唯一的区别是,您将它们写在css文件中,而不是js中。
Webars 2011年

是的,不错的主意。这将更易于管理(脚本会根据需要自动运行),并且因为它应该是IE7的,所以还可以。
Arnaud Le Blanc

7

我的解决方案:http : //jsfiddle.net/XNAj6/2/

<div class="container">
    <div class="frame">
        <img src="http://jsfiddle.net/img/logo.png" class="img" alt="" />
    </div>
</div>

.container {
    display: table;
    float: left;
    border: solid black 1px;
    margin: 2px;
    padding: 0;
    background-color: black;
    width: 150px;
    height: 150px;
}
.frame {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    border-width: 0;
}
.img {
    max-width: 150px;
    max-height: 150px;
    vertical-align: middle;
}

7

这适用于现代浏览器(编辑时为2016年),如本演示中的Codepen所示

.frame {
    height: 25px;
    line-height: 25px;
    width: 160px;
    border: 1px solid #83A7D3;          
}
.frame img {
    background: #3A6F9A;
    display:inline-block;
    vertical-align: middle;
}

给图像一个类或使用继承来定位需要居中的图像非常重要。在本示例中,我们使用.frame img {}了仅目标为由div类别为div包裹的图像的.frame目标。


仅ie7,只需将line-height:25px;
anglimasS 2011年

1
它似乎并不正确,甚至在Firefox和Chrome(排列jsfiddle.net/4RPFa/19
阿诺·勒布朗

7

使用纯CSS http://jsfiddle.net/sandeep/4RPFa/72/尝试此解决方案

也许这是HTML的主要问题。在HTML中定义c lass&时,您不会使用引号image height

CSS:

.frame {
    height: 25px;      /* Equals maximum image height */
    width: 160px;
    border: 1px solid red;
    position: relative;
    margin: 1em 0;
    top: 50%;
    text-align: center;
    line-height: 24px;
    margin-bottom: 20px;
}

img {
    background: #3A6F9A;
    vertical-align: middle;
    line-height: 0;
    margin: 0 auto;
    max-height: 25px;
}

当我处理img代码时,它会将的像素间隔为3到2像素top。现在我减少了line-height,它正在工作。

CSS:

    .frame {
        height: 25px;      /* Equals maximum image height */
        width: 160px;
        border: 1px solid red;
        margin: 1em 0;
        text-align: center;
        line-height: 22px;
        *:first-child+html line-height:24px; /* For Internet Explorer 7 */
    }

    img {
        background: #3A6F9A;
        vertical-align: middle;
        line-height: 0;    
        max-height: 25px;
        max-width: 160px;
    }
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .frame {
        line-height:20px; /* WebKit browsers */
    }

line-height在不同的浏览器中,该属性的呈现方式有所不同。因此,我们必须定义不同的line-height属性浏览器。

检查此示例:http : //jsfiddle.net/sandeep/4be8t/11/

检查有关line-height不同浏览器的以下示例:在Firefox和Chrome中输入高度差异


2
不起作用(至少在Firefox中)。对于缺少的引号,HTML5中允许使用(尽管不知道jsfiddle中使用了哪种文档类型)
Arnaud Le Blanc

7

我不知道有关Internet Explorer,但Firefox和Chrome下,如果你有一个img在一个div容器,下面的CSS内容应该工作。至少对我来说效果很好:

div.img-container {
    display: table-cell;
    vertical-align: middle;
    height: 450px;
    width: 490px;
}

div.img-container img {
    max-height: 450px;
    max-width: 490px;
}

不幸的是,IE8 +。对我很好,但对其他人则不行。
TheCarver 2014年

还请注意,display:table-cell;不接受%作为宽度
Mutmatt 2014年

7

使用表格和表格单元的解决方案

有时应通过显示为table / table-cell来解决。例如,快速标题屏幕。这也是W3推荐的方式。我建议您检查此链接,该链接称为W3C.org中的“ 将块或图像居中”

这里使用的技巧是:

  • 绝对定位容器显示为表格
  • 垂直对齐到显示为表格单元的中心内容

.container {
    position: absolute;
    display: table;
    width: 100%;
    height: 100%;
}
.content {
    display: table-cell;
    vertical-align: middle;
}
<div class="container">
  <div class="content">
    <h1 style="text-align:center">Peace in the world</h1>
 </div>
</div>

我个人实际上不同意为此目的使用辅助工具。


6

一个对我有用的简单方法:

img {
    vertical-align: middle;
    display: inline-block;
    position: relative;
}

它非常适合Google Chrome浏览器。在其他浏览器中尝试一下。


6

除了这样的文本外,还可以将图像居中放置在容器(可能是徽标)中:

在此处输入图片说明

基本上,您包装图像

.outer-frame {
  border: 1px solid red;
  min-height: 200px;
  text-align: center; /* Only to align horizontally */
}

.wrapper{
  line-height: 200px;
  border: 2px dashed blue;
  border-radius: 20px;
  margin: 50px
}

img {
  /* height: auto; */
  vertical-align: middle;   /* Only to align vertically */
}
<div class="outer-frame">
  <div class="wrapper">
    some text
    <img src="http://via.placeholder.com/150x150">
  </div>
</div>


4

如果您可以使用像素大小的边距,只需将添加font-size: 1px;到即可.frame。但是请记住,现在在.frame1em = 1px上,这意味着,您也需要以像素为单位设置边距。

http://jsfiddle.net/feeela/4RPFa/96/

现在它不再在Opera中居中...


3

我有同样的问题。这对我有用:

<style type="text/css">
    div.parent {
        position: relative;
    }

    img.child {
        bottom: 0;
        left: 0;
        margin: auto;
        position: absolute;
        right: 0;
        top: 0;
    }
</style>

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

实际上,图像上的“位置:固定”对我有用,因为人们对许多错误的回答感到沮丧,这些错误提示表单元格方法不适用于我的作品。使用algreat建议的方法,您也不需要额外的容器。
Vasilios Paspalas 2014年

2

您可以使用此:

 .loaderimage {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    margin-top: -30px; /* 50% of the height */
    margin-left: -30px;
 }

1

使用tabletable-cell方法完成这项工作,特别是因为您也以一些旧的浏览器为目标,所以我为您创建了一个片段,您可以运行它并检查结果:

.wrapper {
  position: relative;
  display: table;
  width: 300px;
  height: 200px;
}

.inside {
  vertical-align: middle;
  display: table-cell;
}
<div class="wrapper">
  <div class="inside">
    <p>Centre me please!!!</p>
  </div>
  <div class="inside">
    <img src="https://cdn2.iconfinder.com/data/icons/social-icons-circular-black/512/stackoverflow-128.png" />
  </div>
</div> 


0

我一直在使用填充进行中心对齐。您将需要定义顶层外部容器的大小,但是内部容器应调整大小,并且可以将填充设置为不同的百分比值。

jsfiddle

<div class='container'>
  <img src='image.jpg' />
</div>

.container {
  padding: 20%;
  background-color: blue;
}

img {
  width: 100%;
}

0

最好的解决方案是

.block{
    /* Decor */
    padding:0 20px;
    background: #666;
    border: 2px solid #fff;
    text-align: center;
    /* Important */
    min-height: 220px;
    width: 260px;
    white-space: nowrap;
}
.block:after{
    content: '';
    display: inline-block;
    height: 220px; /* The same as min-height */
    width: 1px;
    overflow: hidden;
    margin: 0 0 0 -5px;
    vertical-align: middle;
}
.block span{
    vertical-align: middle;
    display: inline-block;
    white-space: normal;
}

0

使用这个:

position: absolute;
top: calc(50% - 0.5em);
left: calc(50% - 0.5em);
line-height: 1em;

而且你可以有所不同font-size


0

是否要对齐文本/标题之后且都在div内的图像?

参见JSfiddle或运行代码片段。

只要确保在所有元素(div,img,标题等)上都有一个ID或一个类即可。

对我来说,此解决方案可在所有浏览器上使用(对于移动设备,您必须使用@media修改代码)。

h2.h2red {
    color: red;
    font-size: 14px;
}
.mydivclass {
    margin-top: 30px;
    display: block;
}
img.mydesiredclass {
    margin-right: 10px;
    display: block;
    float: left; /* If you want to allign the text with an image on the same row */
    width: 100px;
    heght: 100px;
    margin-top: -40px /* Change this value to adapt to your page */;
}
<div class="mydivclass">
    <br />
    <img class="mydesiredclass" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Wikipedia-logo-v2-en.svg/2000px-Wikipedia-logo-v2-en.svg.png">
    <h2 class="h2red">Text aligned after image inside a div by negative manipulate the img position</h2>
</div>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.