如何将这个div对准中心,以便在所有设备上都能响应

时间:2019-05-20 20:19:44

标签: html css alignment centering

我正在制作一个投资组合网站,希望在页面中间有这个小徽标,但它没有响应。

* {
  margin: 0;
  padding: 0;
}

html,
body {
  margin: 0;
  padding: 0;
}

.box1 {
  position: absolute;
  margin: 0 auto;
  i think i'm messing up here
 width: 90px;
  height: 100px;
  background: rgb(31, 31, 31);
  float: left;
  text-align: center;
}

.box1 a {
  position: relative;
  font-family: 'Roboto Slab', sans-serif;
  font-weight: 700;
  font-size: 22px;
  text-decoration: none;
  color: #fff;
  top: 50%;
}

.box1 a:hover {
  color: rgb(241, 241, 241);
}
<div class="container">
  <nav>
    <div class="box1"><a href="#">Top</a></div>
  </nav>
</div>

期望

我希望文本在底部与方框对齐,并且在底部具有一定的空间,整个div在页面的中央,这也将充当主页按钮。建议/反馈也将不胜感激

1 个答案:

答案 0 :(得分:0)

只需添加

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

到您的position:absolute以使任何内容居中。请记住,绝对仅适用于位置定义的父级。

* {
    margin: 0;
    padding: 0;

  }
html, body { 
    margin: 0;
    padding: 0;
}

    .box1 { 
       position: absolute;
       margin: 0 auto;
       top:50%;
       left:50%;
       transform: translate(-50%, -50%);
       
       width: 90px;
       height: 100px;
       background: rgb(31, 31, 31);
       float: left; 
       text-align: center;
  }

  .box1 a { 
      position: relative;
      font-family: 'Roboto Slab',sans-serif;
      font-weight: 700;
      font-size: 22px;
      text-decoration: none;
      color: #fff;
      top: 50%;            
  }

  .box1 a:hover { 
      color: rgb(241, 241, 241);   
  }
<div class="container">
     <nav> 
         <div class="box1"><a href="#">Top</a></div>
     </nav>
</div>