CSS:将文本放在页面中间

sna*_*oid 29 css text positioning

我想<h1>在任何用户页面的中间放置一个.我一直在搜索互联网,他们都把它放在不正确的地方.谢谢!

更新:我的意思是纵向和横向!在确切的中间!
另外:页面上没有其他内容.

Ry-*_*Ry- 42

试试这个CSS:

h1 {
    left: 0;
    line-height: 200px;
    margin-top: -100px;
    position: absolute;
    text-align: center;
    top: 50%;
    width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle:http://jsfiddle.net/wprw3/


cla*_*con 29

这是一个使用方法display:flex:

.container {
  height: 100%;
  width: 100%;
  display: flex;
  position: fixed;
  align-items: center;
  justify-content: center;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div>centered text!</div>
</div>
Run Code Online (Sandbox Code Playgroud)

查看Codepen
检查浏览器兼容性


Pur*_*rag 5

即使你已经接受了答案,我也想发布这个方法.我使用jQuery垂直居中而不是css(虽然这两种方法都有效).是一个小提琴,我会在这里发布代码.

HTML:

<h1>Hello world!</h1>
Run Code Online (Sandbox Code Playgroud)

Javascript(jQuery):

$(document).ready(function(){
  $('h1').css({ 'width':'100%', 'text-align':'center' });
  var h1 = $('h1').height();
  var h = h1/2;
  var w1 = $(window).height();
  var w = w1/2;
  var m = w - h
  $('h1').css("margin-top",m + "px")
});
Run Code Online (Sandbox Code Playgroud)

这将获取视口的高度,将其除以2,减去h1的一半高度,并将该数字设置为h1的高度margin-top.这种方法的优点在于它可以在多行上运行h1.

编辑:我修改它,以便每次调整窗口大小时它居中.