在css3中,使用calc()与vh和vw垂直居中

时间:2013-05-11 13:19:13

标签: html css3 stylesheet viewport-units

在必须广泛使用的案例中,使用vh作为div的高度,并使用vm作为字体大小。

CSS3

div.outer { height: 20vh; }
div.inner { font-size: 3vw; height: auto; }
div.inner2 { font-size: 2vw; }

html - 案例1

<div.outer>
  <div.inner>center me!</div>
</div>

html - 案例2

<div.outer>
  <div.inner>center me top!</div>
  <div.inner2>center me bottom!</div>
</div>

有没有办法使用calc()和其他css3属性垂直居中div.inner内的div.outer

3 个答案:

答案 0 :(得分:2)

如果您只使用一行,则可以使用line-height: 20vh;

http://jsfiddle.net/jxu2T/

答案 1 :(得分:0)

最好的办法是使用顶部填充。

可悲的是calc() didn't work with vhvm在Chrome上(已修复2014-04-30)

答案 2 :(得分:0)

我知道这不是你的确切问题的答案,尽管我认为我会提到它作为一种可能的选择。

我目前正在处理垂直对齐问题,直到最近才依赖讨厌的javascript计算来完成工作!如果隐藏元素或父元素,则会失败。

如果你使用CSS3很好,我建议你看看盒子对齐吗? 它似乎为我做了伎俩。

http://www.w3schools.com/cssref/css3_pr_box-align.asp