1

良い一日。

divを絶対的に中央に配置したい場合は、次のようにします。

<div id="parent">
   <div id="child">blahblah</div>
</div>

CSS:

#parent{
   width: 500px;
   height: 500px;
   position: absolute; /*(or relative)*/
   top: 50%;
   left: 50%;
   margin-top: -250px;
   margin-left: -250px;
   text-align: center;
}

親 div が流動的な div の場合はどうなりますか? どのように絶対的に中央に配置しますか?

#parent{
  max-width: 500px;
  max-height: 500px;
  top: 50%; ->is this right?
  left: 50%; -> is this right?
  margin-top: ???;
  margin-left: ???;
  text-align: center;
}
4

3 に答える 3

0

widthとは流動的であるためheight、javascript または jQuery を使用する必要があります。head以下のコードをタグに追加するだけです。(以下の例は javascript です)

<script>
   window.onresize = function(){
      //To work even on resize
      getToMiddle();
   }
   window.onload = function(){
      getToMiddle();
   }

   function getToMiddle(){
      var box = document.getElementById('parent');
      var height = box.offsetHeight;
      var width = box.offsetWidth;
      box.style.top = -(height/2);
      box.style.left = -(width/2);
   }
</script>

あなたのcssは次のようになります:

#parent{
   max-width: 500px;
   max-height: 500px;
   background-color:green;
   position:absolute;
   top: 50%;
   left: 50%;
  /* width: 10%;
   height: 10%; */
}

テストするには、与えるwidth: 10%; and height: 10%

働くフィドル

于 2013-03-08T11:42:05.307 に答える
0

私は単にflexこれを達成するために使用します...

#parent {
  display: flex;
  justify-content: center;
}
<div id="parent">
  <div id="child">blahblah</div>
</div>

于 2016-09-27T17:37:31.890 に答える